/Hello-operator

Simple kubernetes operator implemented using client-go and code-generator

Primary LanguageGo

English|Russian

Hello-operator

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

Set up development environment

  • go mod vendor to generate a vendor/ folder with dependencies - required for use code-generator
  • Run /hack/update_codegen.sh to generate the CRD boilerplate code. In our case it is generated and located in the /pkg/generated folder

Launch

To set up a local cluster, you can use Kind

  1. Build controller: go build -o hello-controller .
  2. Add CRD to our k8s cluster kubectl create -f crds/echo.yaml
  3. 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.
  4. Apply our example CRD kubectl create -f crds/examples/echo.yaml

Helpful links

Official controller sample
Operator Sample
Kubernetes notes (Chinese)
Operator SDK
Deep dive kubernetes code-generat0r