[RELEASE] Scylla Operator 1.18.0

The ScyllaDB team is pleased to announce the release of ScyllaDB Operator 1.18.0.

ScyllaDB Operator is an open-source project that helps users run ScyllaDB on Kubernetes. The ScyllaDB Operator manages ScyllaDB clusters deployed to Kubernetes and automates tasks related to operating a ScyllaDB cluster, like installation, vertical and horizontal scaling, as well as rolling upgrades.

As with each minor version, ScyllaDB Operator 1.18 adds new features and improves stability. The highlight of the release is the enhancement of the technical preview support for managed multi-DC clusters by adding support for ScyllaDB Manager backup and repair tasks scheduling.

Multi-DC backup & repair tasks scheduling

ScyllaDB Operator 1.18 enhances the technical preview support for managed multi-DC setups with the ability to schedule backup and repair ScyllaDB Manager tasks using a Kubernetes-native approach. Registering a multi-DC cluster with a global ScyllaDB Manager and scheduling tasks for it becomes a matter of configuring proper Kubernetes resources.

From now on, you can run backups and repairs on your multi-DC ScyllaDB cluster by simply adding a label to your ScyllaDBCluster object (to inform ScyllaDB Manager about the multi-DC cluster’s existence). Then, you can associate ScyllaDBManagerTask objects that define backup or repair tasks with your ScyllaDBCluster to get them scheduled.

ScyllaDBManagerTasks can be seen as a new generation of the ScyllaCluster spec’s backups and repairs APIs.

Assuming you have an existing multi-DC ScyllaDBCluster, you can register it in the global ScyllaDB Manager by labeling it as follows:

kubectl label -n <namespace> <cluster-name> "scylla-operator.scylladb.com/register-with-global-scylladb-manager=true"

Then, you can create a task (in this example, it will be a repair task), using the following manifest:

apiVersion: scylla.scylladb.com/v1alpha1
kind: ScyllaDBManagerTask
metadata:
  name: repair-daily
  namespace: <cluster-namespace>
spec:
  scyllaDBClusterRef:
    kind: "ScyllaDBCluster"
    name: "<cluster-name>"
  type: "Repair"
  repair:
    cron: "@daily"

Please refer to the ScyllaDBManagerTask API reference to learn more about our ScyllaDB Manager integration with multi-DC clusters.

Please note that we’ve added support for backup and repair tasks as feature parity with the existing stable single-DC ScyllaCluster. Restoring backups using CRDs is still not supported, but can be achieved manually. Please refer to ScyllaDB Manager integration documentation for more details.

We’re still working towards promoting the managed multi-DC deployment to general availability. If you’re waiting for it, please refer to #2230 to track our progress and plans.

Other notable changes

Along with multi-DC backup & repair tasks scheduling, we simplified ScyllaDB Operator’s architecture by removing a confusing standalone deployment manager-controller that was deployed alongside Operator to save resources and give you one less component to operate. That means there will no longer be a separate standalone application orchestrating ScyllaDB Manager required in your cluster, it will now run as part of the ScyllaDB Operator process. (#2681)

This release also includes a patch update of ScyllaDB (2025.1.2 → 2025.1.5; #2845), a major Grafana upgrade (11.4.3 → 12.0.2), as well as updates of Prometheus (v3.1.0 → v3.5.0) and our newest ScyllaDB monitoring dashboards (#2799).

For more changes and details, check out the GitHub release notes.

Upgrade instructions

Upgrading from v1.17.x with kubectl apply requires extra actions due to the removal of the standalone ScyllaDB Manager controller. The controller becomes an integral part of the Operator. Because of that, users have to delete this deployment before installing v1.18.x manifests:

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

Using Helm requires a mandatory manual step for every release because Helm can’t handle CRDs updates.

Please refer to the Upgrade guide and its 1.17 to 1.18 section for more information.

Supported versions

  • ScyllaDB >=2024.1 && <=2025.1

  • Kubernetes >=1.30

    • There’s a known issue with GKE 1.32 (#2579) that makes the Operator installation not possible. It will be resolved in a patch release.
  • Container Runtime Interface API == v1

  • ScyllaDB Manager >=3.5.0 && <=3.5.1

Getting started with ScyllaDB Operator

  • ScyllaDB Operator Documentation

  • Learn how to deploy ScyllaDB on Google Kubernetes Engine (GKE) here

  • Learn how to deploy ScyllaDB on Amazon Elastic Kubernetes Engine (EKS) here

  • Learn how to deploy ScyllaDB on a Kubernetes Cluster here

Related Links

We’ll welcome your feedback! Feel free to open an issue or reach out on the #scylla-operator channel in ScyllaDB User Slack.

Regards,
The ScyllaDB Operator Team

3 Likes