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 Installation Kubernetes prerequisites

Kubernetes prerequisites¶

Because Scylla Operator aims to leverage the best performance available, there are a few extra steps that need to be configured on your Kubernetes cluster.

Kubelet¶

Static CPU policy¶

By default, kubelet uses the CFS quota to enforce pod CPU limits. When the Kubernetes node runs a lot of CPU-bound Pods, the processes can move over different CPU cores, depending on whether the Pod is throttled and which CPU cores are available. However, kubelet may be configured to assign CPUs exclusively by setting the CPU manager policy to static.

To get the best performance and latency ScyllaDB Pods should run under static CPU policy to pin cores.

Note

Configuring kubelet options is provider specific. We provide a few examples for the major ones in this section, otherwise please consult the documentation for your Kubernetes platform.

GKE allows you to set static CPU policy using a node system configuration:

kubeletConfig:
  cpuManagerPolicy: static

eksctl allows you to set static CPU policy for each node pool like:

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
# ...
nodeGroups:
- name: scylla-pool
  kubeletExtraConfig:
    cpuManagerPolicy: static

Nodes¶

Labels¶

For the purposes of the installation guides, we assume that the nodes meant to run ScyllaDB (ScyllaClusters) have label scylla.scylladb.com/node-type=scylla.

Packages¶

xfsprogs¶

Scylla Operator’s NodeConfig controller requires xfsprogs to be installed on the Kubernetes nodes to format the local disks with XFS file system.

This package may be not installed by default on some Kubernetes platforms, like GKE starting with version 1.32.1-gke.1002000.

You can install it on your cluster’s nodes using a DaemonSet created with the following command:

kubectl apply -f https://raw.githubusercontent.com/scylladb/scylla-operator/v1.19/examples/gke/install-xfsprogs.daemonset.yaml

Was this page helpful?

PREVIOUS
Overview
NEXT
GitOps (kubectl)
  • Create an issue
  • Edit this page

On this page

  • Kubernetes prerequisites
    • Kubelet
      • Static CPU policy
    • Nodes
      • Labels
      • Packages
        • xfsprogs
Scylla Operator
  • v1.19
    • 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