Was this page helpful?
Caution
You're viewing documentation for an unstable version of Scylla Operator. Switch to the latest stable version.
NodeConfig is an API object that helps you set up and tune the nodes.
1apiVersion: scylla.scylladb.com/v1alpha1
2kind: NodeConfig
3metadata:
4 name: scylladb-pool-1
5spec:
6 localDiskSetup:
7 raids:
8 - name: nvmes
9 type: RAID0
10 RAID0:
11 devices:
12 nameRegex: ^/dev/nvme\d+n\d+$
13 filesystems:
14 - device: /dev/md/nvmes
15 type: xfs
16 mounts:
17 - device: /dev/md/nvmes
18 mountPoint: /mnt/persistent-volumes
19 unsupportedOptions:
20 - prjquota
21 placement:
22 nodeSelector:
23 scylla.scylladb.com/node-type: scylla
24 tolerations:
25 - effect: NoSchedule
26 key: scylla-operator.scylladb.com/dedicated
27 operator: Equal
28 value: scyllaclusters
NodeConfig can set up the disks into a RAID array, create a filesystem and mount it somewhere, so it can be consumed by the Local CSI Driver
Unless you explicitly disable tuning on a NodeConfig, all matching Kubernetes nodes are subject to tuning. You can learn more about tuning in a dedicated architecture section
Warning
We recommend that you first try out the performance tuning on a pre-production instance. Given the nature of the underlying tuning script, undoing the changes requires rebooting the Kubernetes node(s).
Given NodeConfig specification needs to reference local disk by names or that the referenced storage can be already used / mounted by something else, you should pay special attention to verifying that everything succeeded. NodeConfig have the standard aggregated conditions to easily check whether everything went fine:
kubectl get nodeconfigs.scylla.scylladb.com/scylladb-pool-1
NAME AVAILABLE PROGRESSING DEGRADED AGE
scylladb-pool-1 True False False 37d
or programmatically wait for it:
kubectl wait --timeout=10m --for='condition=Progressing=False' nodeconfigs.scylla.scylladb.com/scylladb-pool-1
kubectl wait --timeout=10m --for='condition=Degraded=False' nodeconfigs.scylla.scylladb.com/scylladb-pool-1
kubectl wait --timeout=10m --for='condition=Available=True' nodeconfigs.scylla.scylladb.com/scylladb-pool-1
If the NodeConfig doesn’t reach the expected state, look at the fine-grained conditions in its status to find the cause.
Was this page helpful?