The ScyllaDB Operator is a controller for managing ScyllaDB. This lesson shows you how to get started by deploying the operator and deploying a ScyllaDB Cluster.
What is the ScyllaDB Operator, well strict to sense
the Operator is just this part here in the middle, so it’s a Controller
so it’s a pod with some logic that it’s going to control and run all those operations that
I mentioned, that are usually done by a human. Operator, it’s going to be run automatically
by the Controller, as if it was a human Operator hence the name, also the Operator is comprised
of a CRD, a CRD is a Custom Resource Definition so it’s a Kubernetes construct that we can
highly customize and adapt to our needs, so the CRD in this case, will be the ScyllaDB cluster itself and
of course, an agent, in this case, we will be using the ScyllaDB Manager agent which is a Sidecar, along
with your ScyllaDB node and then the Controller will issue commands to the agent, which in turn will
relay those commands to the ScyllaDB node, so trying to map all these concepts together, so
again the Operator will be the Controller itself the CRD is going to be the ScyllaDB cluster, the CRD
in turn will deploy a stateful set, in this stateful set we will have a region
that’s going to be mapped to a datacenter, an availability zone, that’s going to map into racks
and then we’ll have our cluster members they will be comprised of a ScyllaDB node
and an agent, which is the Sidecar, so two containers inside one pod, I will refer you also
to our documentation on GitHub and our examples we have all the commands there, it’s just basically
a step-by-step instruction, where you can deploy a ScyllaDB cluster on Kubernetes using the Operator
deploying the Operator is pretty simple, we have a manifest file called Operator.yaml, you just
apply that to your Kubernetes cluster and then you can verify that all the
resources are there with kubectl ‘get all’ there’s an extra ‘-n’ here sorry about that
and of course, you can go straight to the Operator pod and look at the logs and it’s going to tell
you everything that the Operator is doing, so if it’s creating a cluster, if it’s adding nodes
if it’s deploying new configurations, and for Operator functionalities, we just had a
session, I think it was two days ago, from one of my developers, talking about all the
the existing functionalities on the ScyllaDB Operator, and the future ones we are planning to implement
after you have the Operator on your Kubernetes cluster, you just create a ScyllaDB cluster and
you do that by applying the cluster.yaml manifest and again you see a lot of resources there
so there will be a ScyllaDB cluster construct there will be a stateful set and there will be
pods, right and services that are going to map the IPs for each of the pods and give it
some sort of permanent IP because this is something ScyllaDB requires and of course
as I mentioned before, you can go straight to one of the ScyllaDB pods and see the ScyllaDB logs
if you’re familiar with ScyllaDB, it will be the same logs that you’re used to