Was this page helpful?
Production checklist¶
This page provides a checklist of settings and configurations to verify before running ScyllaDB in production on Kubernetes.
Tip
Work through this checklist after your cluster is deployed and functional. Each item links to the how-to page that covers the configuration in detail.
Checklist¶
# |
Item |
Expected state |
Guide |
|---|---|---|---|
1 |
NodeConfig deployed |
A |
|
2 |
Dedicated node pool |
ScyllaDB runs on isolated nodes with label |
|
3 |
Performance tuning co-located |
NodeConfig |
|
4 |
|
The sysctl |
|
5 |
Coredumps enabled |
|
|
6 |
Monitoring deployed |
A |
|
7 |
Resource requests and limits set |
Both |
|
8 |
CPU pinning active |
The kubelet uses |
|
9 |
XFS online discard enabled |
The |
|
10 |
I/O properties configured |
Precomputed I/O properties are set to avoid the automatic I/O benchmark that runs on first boot, which can produce inconsistent results in cloud environments. |
|
11 |
Backups scheduled |
ScyllaDB Manager backup tasks are configured with object storage (S3, GCS, or Azure Blob) and appropriate IAM credentials. Backup schedules are tested with a restore drill. |
Verification commands¶
Run these commands to quickly check the most critical items:
NodeConfig status¶
kubectl get nodeconfigs.scylla.scylladb.com -o wide
All NodeConfig resources should show AVAILABLE=True, PROGRESSING=False, DEGRADED=False.
Pod QoS class¶
kubectl get pods -l scylla/cluster=scylladb -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.qosClass}{"\n"}{end}'
All pods should show Guaranteed.
ScyllaDB startup flags¶
kubectl logs <pod-name> -c scylla | grep overprovisioned
Expected: --overprovisioned=0
Monitoring status¶
kubectl get scylladbmonitoring -o wide
Should show AVAILABLE=True.