English|Russian
Simple kubernetes operator implemented using client-go and code-generator
When applying our CRD controller create job, that launches pod, which outputs a string specified in our CRD in parameter message
go mod vendorto generate avendor/folder with dependencies - required for use code-generator- Run
/hack/update_codegen.shto generate the CRD boilerplate code. In our case it is generated and located in the/pkg/generatedfolder
To set up a local cluster, you can use Kind
- Build controller:
go build -o hello-controller . - Add CRD to our k8s cluster
kubectl create -f crds/echo.yaml - Run controller
./hello-controller -kubeconfig=path-to-your-cluser-config.yaml
Runs not as a pod in cluster, run directly on our local machine, remotely connecting to the cluster via config. - Apply our example CRD
kubectl create -f crds/examples/echo.yaml
Official controller sample
Operator Sample
Kubernetes notes (Chinese)
Operator SDK
Deep dive kubernetes code-generat0r