ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Server
  • Cloud
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Download
ScyllaDB Docs Scylla Operator Installation Overview

OverviewCopy

KubernetesCopy

Scylla Operator is a set of controllers and Kubernetes API extensions. Therefore, we assume you either have an existing, conformant Kubernetes cluster and/or are already familiar with how a Kubernetes cluster is deployed and operated.

Scylla Operator controllers and API extensions may have dependencies on some of the newer Kubernetes features and APIs that need to be available. More over, Scylla Operator implements additional features like performance tuning, some of which are platform/OS specific. While we do our best to implement these routines as generically as possible, sometimes there isn’t any low level API to base them on and they may work only on a subset of platforms.

Caution

We strongly recommend using a supported Kubernetes platform. Issues on unsupported platforms are unlikely to be addressed.

Note

Before reporting an issue, please see our support page and troubleshooting installation issues

Scylla Operator componentsCopy

Scylla Operator consists of multiple components that need to be installed in your cluster. This is by no means a complete list of all resources, rather it aims to show the major components in one place.

../_images/deploy.svg

Note

Depending on which storage provisioner you choose, the local-csi-driver may be replaced or complemented by a different component.

Scylla OperatorCopy

Scylla Operator contains the Kubernetes API extensions and corresponding controllers and admission hooks that run inside scylla-operator namespace.

You can learn more about the APIs in resources section and the generated API reference.

ScyllaDB ManagerCopy

ScyllaDB Manager is a global deployment that is responsible for operating all ScyllaClusters and runs inside scylla-manager namespace. Scylla Operator syncs the ScyllaCluster metadata, backup and repair tasks into the manager (and vice versa). This way it allows avoiding direct access to the shared instance by users. Unfortunately, at this point, other task like restoring from a backup require executing into the shared ScyllaDB Manager deployment which effectively needs administrator privileges.

ScyllaDB Manager uses a small ScyllaCluster instance internally and thus depends on the Scylla Operator deployment and the CRD it provides.

NodeConfigCopy

NodeConfig is a cluster-scoped custom resource provided by Scylla Operator that helps you set local disks on Kubernetes nodes, create and mount a file system, configure performance tuning and more.

ScyllaOperatorConfigCopy

ScyllaOperatorConfig is a cluster-coped custom resource provided by Scylla Operator to help you configure Scylla Operator. It helps you configure auxiliary images, see which ones are in use and more.

Local CSI driverCopy

ScyllaDB provides you with a custom Local CSI driver that lets you dynamically provision PersistentVolumes, share the disk space but still track the capacity and use quotas.

NotesCopy

Note

Before reporting and issue, please see our support page and troubleshooting installation issues

Installation modesCopy

Depending on your preference, there is more than one way to install Scylla Operator and there may be more to come / or provided by other parties or supply chains.

At this point, we provide 2 ways to install the operator - GitOps/manifests and Helm charts. Given we provide only a subset of helm charts for the main resources and because Helm can’t update CRDs - you still have to resort to using the manifests or GitOps anyway. For a consistent experience we’d recommend using the GitOps flow which will also give you a better idea about what you actually deploy and maintain.

Caution

Do not use rolling tags (like latest, 1.14) with our manifests in production. The manifests and images for a particular release are tightly coupled and any update requires updating both of them, while the rolling tags may surprisingly update only the images. You should always use the full version (e.g. 1.14.0) and/or using the corresponding sha reference.

Note

To avoid races, when you create a CRD, you need to wait for it to be propagated to other instances of the kubernetes-apiserver, before you can reliably create the corresponding CRs.

Note

When you create ValidatingWebhookConfiguration or MutatingWebhookConfiguration, you have to wait for the corresponding webhook deployments to be available, or the kubernetes-apiserver will fail all requests for resources affected by these webhhok configurations. Also note that some platforms have non-conformant networking setups by default that prevents the kube-apiserver from talking to the webhooks - see our troubleshooting guide for more info.

GitOpsCopy

We provide a set of Kubernetes manifest that contain all necessary objects to apply to your Kubernetes cluster. Depending on your preference applying them may range from using git with a declarative CD to git and kubectl. To keep the instructions clear for everyone we’ll demonstrate applying the manifests using kubectl, that everyone is familiar with and is able to translate it to the GitOps platform of his choosing.

For details, please see the dedicated section describing the deployment using GitOps (kubectl).

HelmCopy

Warning

Helm doesn’t support managing CustomResourceDefinition resources (#5871, #7735). Helm only creates CRDs on the first install and never updates them, while keeping the CRDs up to date (with any update) is absolutely essential. In order to update them, users have to do it manually every time.

For details, please see the dedicated section describing the deployment using Helm.

UpgradesCopy

Please see the dedicated section describing the upgrade process.

Was this page helpful?

PREVIOUS
Installation
NEXT
Kubernetes
  • Create an issue
  • Edit this page

On this page

  • Overview
    • Kubernetes
    • Scylla Operator components
      • Scylla Operator
      • ScyllaDB Manager
      • NodeConfig
      • ScyllaOperatorConfig
      • Local CSI driver
    • Notes
    • Installation modes
      • GitOps
      • Helm
    • Upgrades
Scylla Operator
  • v1.18
    • v1.18
    • v1.17
    • v1.16
    • master
  • Architecture
    • Overview
    • Storage
      • Overview
      • Local CSI Driver
    • Tuning
    • ScyllaDB Manager
  • Installation
    • Overview
    • Kubernetes
      • Generic
      • EKS
      • GKE
    • GitOps (kubectl)
    • Helm
    • Upgrade
  • Resources
    • Overview
    • ScyllaClusters
      • ScyllaClusters
      • ScyllaDB clients
        • Discovering ScyllaDB Nodes
        • Using CQL
        • Using Alternator (DynamoDB)
      • Node operations using Scylla Operator
        • Upgrading version of Scylla
        • Replacing a Scylla node
        • Automatic cleanup and replacement in case when k8s node is lost
        • Maintenance mode
        • Restore from backup
        • Resizing storage in ScyllaCluster
      • Deploying multi-datacenter ScyllaDB clusters in Kubernetes
        • Build multiple Amazon EKS clusters with inter-Kubernetes networking
        • Build multiple GKE clusters with inter-Kubernetes networking
        • Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters
      • Exposing ScyllaDB cluster
    • ScyllaDBClusters
      • ScyllaDBClusters
      • Exposing ScyllaDB cluster
    • ScyllaDBMonitorings
    • NodeConfigs
    • ScyllaOperatorConfigs
    • RemoteKubernetesCluster
  • Quickstarts
    • Deploying ScyllaDB on GKE
    • Deploying ScyllaDB on EKS
  • Support
    • Support overview
    • Known issues
    • Troubleshooting
      • Troubleshooting installation issues
    • Gathering data with must-gather
    • Releases
  • API Reference
    • scylla.scylladb.com
      • NodeConfig (scylla.scylladb.com/v1alpha1)
      • RemoteKubernetesCluster (scylla.scylladb.com/v1alpha1)
      • RemoteOwner (scylla.scylladb.com/v1alpha1)
      • ScyllaCluster (scylla.scylladb.com/v1)
      • ScyllaDBCluster (scylla.scylladb.com/v1alpha1)
      • ScyllaDBDatacenter (scylla.scylladb.com/v1alpha1)
      • ScyllaDBManagerClusterRegistration (scylla.scylladb.com/v1alpha1)
      • ScyllaDBManagerTask (scylla.scylladb.com/v1alpha1)
      • ScyllaDBMonitoring (scylla.scylladb.com/v1alpha1)
      • ScyllaOperatorConfig (scylla.scylladb.com/v1alpha1)
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 20 August 2025.
Powered by Sphinx 8.1.3 & ScyllaDB Theme 1.8.7
Ask AI
Yes
No
User Slack channel
Community forum
Collapse