ScyllaDB Operator 1.7

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

ScyllaDB Operator is an open-source project that helps ScyllaDB Open Source and ScyllaDB Enterprise 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, scale out and downscale, as well as rolling upgrades.

ScyllaDB Operator 1.7 improves stability and brings a few features. As with all of our releases, any API changes are backward compatible.

Performance Improvements [Experimental]

We would like to remind our users that in the previous 1.6 release we introduced experimental automatic node optimizations. Our results show that enabling node optimization brings ScyllaDB performance on K8s close to the performance of ScyllaDB on VMs! In other words: a small performance penalty for using ScyllaDB with K8s.

We highly recommend trying it out on your development clusters, and provide us with feedback about how it improves your use case.

It’s easy to set up, you can find more details in our dedicated documentation page.

Notable Changes

  • Mandatory ServiceAccount and RoleBinding that previously had to be created by the user are now created and managed automatically by ScyllaDB Operator (#907)

Previously in order to deploy ScyllaDB cluster, three steps were required:

> kubectl create serviceaccount my-cluster-member -n test
> kubectl create rolebinding my-cluster-member --clusterrole=scyllacluster-member --serviceaccount=test:my-cluster-member -n test
> kubectl create -f scyllacluster.yaml

From 1.7 it’s simplified to just one step:

>  kubectl create -f scyllacluster.yaml
  • Shard-aware ports allowing client drivers to connect directly to particular shard are now open (#793)
  • Webhook serving certificates are automatically live reloaded when certificates are rotated (#764)
  • IO Tune results are cached in persistent location and are no longer recomputed essentially saving 2 minutes on every Pod restart (#888)
  • Faster and more reliable ScyllaDB readiness and liveness probes  (#884) (#898) (#891)
  • Previous limitation of rack removal is relaxed. Users are allowed to remove empty racks from ScyllaDBCluster spec (#796)
  • End to end tests are now run in parallel to bring us closer to real world scenarios where multiple clusters are managed in parallel (#862)

For more details check out the GitHub release notes.

Supported Versions

  • ScyllaDB ≥4.3
  • ScyllaDB Enterprise ≥2021.1
  • Kubernetes ≥1.20
  • ScyllaDB manager ≥2.2
  • ScyllaDB monitoring ≥3.0

Upgrade Instructions

Upgrading from v1.6.x with kubectl apply doesn’t require any extra action, just take the manifest from v1.7.0 tag and substitute the released image. Using helm requires a mandatory manual step for every release because helm can’t handle CRDs updates. For details, see our upgrade documentation.

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 (including MiniKube example)

Related Links

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

31 Jan 2022