ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs Scylla Operator Management Upgrading Upgrading Scylla Operator

Caution

You're viewing documentation for an unstable version of Scylla Operator. Switch to the latest stable version.

Upgrading Scylla Operator¶

Scylla Operator supports N+1 upgrades only. That means to you can only update by 1 minor version at the time and wait for it to successfully roll out and then update all ScyllaClusters that also run using the image that’s being updated. (Scylla Operator injects it as a sidecar to help run and manage ScyllaDB.)

We value the stability of our APIs and all API changes are backwards compatible.

Caution

If any additional steps are required for a specific version upgrade, they will be documented in the Upgrade steps for specific versions section below.

Upgrade via GitOps (kubectl)¶

A typical upgrade flow using GitOps (kubectl) requires re-applying the manifests using ones from the release you want to upgrade to. Note that Scylla Operator’s dependencies also need to be updated to the versions compatible with the target Scylla Operator version.

Please refer to the GitOps installation instructions for details.

Upgrade via Helm¶

Prerequisites¶

  • Update Scylla Operator dependencies to the versions compatible with the target Scylla Operator version. Refer to the Helm installation instructions for details.

  • Make sure Helm chart repository is up-to-date:

    helm repo add scylla https://scylla-operator-charts.storage.googleapis.com/stable
    helm repo update
    

Upgrade ScyllaDB Manager¶

Replace <release_name> with the name of your Helm release for ScyllaDB Manager and replace <version> with the version number you want to install:

helm upgrade --version <version> <release_name> scylla/scylla-manager

Upgrade Scylla Operator¶

Replace <release_name> with the name of your Helm release for Scylla Operator and replace <version> with the version number you want to install:

  1. Update CRD resources. We recommend using --server-side flag for kubectl apply, if your version supports it.

    tmpdir=$( mktemp -d ) \
      && helm pull scylla-operator/scylla-operator --version <version> --untar --untardir "${tmpdir}" \
      && find "${tmpdir}"/scylla-operator/crds/ -name '*.yaml' -printf '-f=%p ' \
      | xargs kubectl apply
    
  2. Update Scylla Operator.

    helm upgrade --version <version> <release_name> scylla/scylla-operator
    

Upgrade steps for specific versions¶

Caution

The below instructions are supplementary to the standard upgrade procedure and don’t fully replace it. Make sure to familiarize yourself with both the standard upgrade procedure and the additional steps for the specific version you are upgrading to, if applicable, and follow them accordingly.

1.17 to 1.18¶

Upgrading from v1.17.x requires extra actions due to the removal of the standalone ScyllaDB Manager controller. The controller becomes an integral part of Scylla Operator. As a result, the standalone ScyllaDB Manager controller deployment and its related resources need to be removed before upgrading Scylla Operator.

Upgrade via GitOps (kubectl)¶

kubectl delete -n scylla-manager \
    clusterrole/scylladb:controller:aggregate-to-manager-controller \
    clusterrole/scylladb:controller:manager-controller \
    poddisruptionbudgets.policy/scylla-manager-controller \
    serviceaccounts/scylla-manager-controller \
    clusterrolebindings.rbac.authorization.k8s.io/scylladb:controller:manager-controller \
    deployments.apps/scylla-manager-controller

Upgrade via Helm¶

ScyllaDB Manager Helm installation has to be upgraded before upgrading Scylla Operator Helm installation, following the standard Helm upgrade procedure. This will ensure that the ScyllaDB Manager Controller is removed before upgrading the Scylla Operator.

Was this page helpful?

PREVIOUS
Upgrading
NEXT
Upgrading ScyllaDB clusters
  • Create an issue
  • Edit this page

On this page

  • Upgrading Scylla Operator
    • Upgrade via GitOps (kubectl)
    • Upgrade via Helm
      • Prerequisites
      • Upgrade ScyllaDB Manager
      • Upgrade Scylla Operator
    • Upgrade steps for specific versions
      • 1.17 to 1.18
        • Upgrade via GitOps (kubectl)
        • Upgrade via Helm
Scylla Operator
  • master
    • v1.19
    • v1.18
    • v1.17
    • master
  • Architecture
    • Overview
    • Storage
      • Overview
      • Local CSI Driver
    • Tuning
    • ScyllaDB Manager
  • Installation
    • Overview
    • Kubernetes prerequisites
    • GitOps (kubectl)
    • Helm
  • Management
    • Configuring kernel parameters (sysctls)
    • Synchronising bootstrap operations in ScyllaDB clusters
    • Upgrading
      • Upgrading Scylla Operator
      • Upgrading ScyllaDB clusters
    • Monitoring
      • ScyllaDB Monitoring overview
      • Setting up ScyllaDB Monitoring
      • Exposing Grafana
      • Setting up ScyllaDB Monitoring on OpenShift
  • 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
    • 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
  • Reference
    • 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)
        • ScyllaDBDatacenterNodesStatusReport (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)
    • Feature Gates
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 27 November 2025.
Powered by Sphinx 8.1.3 & ScyllaDB Theme 1.8.9
Ask AI