The easiest and quickest way to try Scylla on Kubernetes!
For this guide, we will need 4 CPUs and 4GB RAM.
minikube start --cpus=4 --memory=4096kubectl apply -f examples/minikube/operator.yamlThis will install the operator StatefulSet in namespace scylla-operator-system. You can check if the operator is up and running with:
kubectl -n scylla-operator-system get podskubectl apply -f examples/minikube/cluster.yamlWe can verify that a Kubernetes object has been created that represents our new Scylla cluster with the command below. This is important because it shows that has successfully extended Kubernetes to make Scylla clusters a first class citizen in the Kubernetes cloud-native environment.
kubectl -n scylla get clusters.scylla.scylladb.comYou can also track the state of a Scylla cluster from its status. To check the current status of a Cluster, run:
kubectl -n scylla describe clusters.scylla.scylladb.com simple-clusterYou can also run the following command to watch the Pods until they become Ready:
kubectl -n scylla get pods --watch -l app=scylla- From kubectl:
To get a cqlsh shell in your new Cluster:
kubectl exec -n scylla -it simple-cluster-us-east-1-us-east-1a-0 -- cqlsh
> DESCRIBE KEYSPACES;The operator supports scale up of a rack as well as addition of new racks. To make the changes, you can use:
kubectl -n scylla edit clusters.scylla.scylladb.com simple-cluster- To scale up a rack, change the
Spec.Membersfield of the rack to the desired value. - To add a new rack, append the
rackslist with a new rack. Remember to choose a different rack name for the new rack. - After editing and saving the yaml, check your cluster's Status and Events for information on what's happening:
kubectl -n scylla describe clusters.scylla.scylladb.com simple-cluster The operator supports scale down of a rack. To make the changes, you can use:
kubectl -n scylla edit clusters.scylla.scylladb.com simple-cluster- To scale down a rack, change the
Spec.Membersfield of the rack to the desired value. - After editing and saving the yaml, check your cluster's Status and Events for information on what's happening:
kubectl -n scylla describe clusters.scylla.scylladb.com simple-clusterTo clean up all resources associated with this walk-through, you can run the commands below.
NOTE: this will destroy your database and delete all of its associated data.
kubectl delete -f examples/minikube/cluster.yaml
kubectl delete -f examples/minikube/operator.yamlIf the cluster does not come up, the first step would be to examine the operator's logs:
kubectl -n scylla-operator-system logs -l app=scylla-operatorIf everything looks OK in the operator logs, you can also look in the logs for one of the Scylla instances:
kubectl -n scylla logs simple-cluster-us-east-1-us-east-1a-0This guide deploys Scylla is aimed at simplicity and because of that, Scylla is deployed with sub-optimal performance settings.
For deploying Scylla with the optimal configuration, see the more advanced GKE guide.