Kubernetes seem so prominent these days and with them a term I could hear often: “Operator”. Having no clue I decided to investigate it and after a few questions dropped on my favorite A.I. I could still not wrap my head around it.
Took the matter in my own hands and built my own Kubernetes cluster using Oracle OKE, deployed it with the “quick deploy” option that does for you the networking and some extra ground work which I admit is convenient, but after all, my research is about operators and not cloud infrastructure.
Then the fun began, I had to, in order, set up my control node, set-up the access to OCI and to my OKE cluster with kubeconfig file. Then, I could not avoid the traditional fight with $PATH and .bashrc file, maybe I’ll get better one day! And… then finally got to install both the operator SDK and OSOK (OCI Service Operator for Kubernetes) but faced errors at operator-sdk run bundle iad.ocir.io/oracle/oci-service-operator-bundle:1.1.1…
Because of the concept Kubernetes and Operator being new to me, and the frustration mounting, I ended up destroying my kubectl setup entirely. I don’t know, either the image version I was pulling was incorrect, or I made a mistake on a .yaml, or maybe I was deploying in the wrong namespace… At the end, I had to wipe everything off and start again, but eventually made it! The OSOK was installed on my cluster!
It was very nice to discover that you could create your “own objects”, called CRDs, in Kubernetes, for instance I could launch a domain with mysql on it, directly from a kubectl deploy -f, which obviously is a lot more convenient I imagine when you work inside kubernetes, now you and I understand what an operator does!
I followed this tutorial on github, this blog was also helpful, plus instruction from Operator SDK.