A Kubernetes operator built on top of kube-rs project. There is an explanatory article available.
Steps to run on Linux:
- Install Rust
- Install Kubernetes, K3S.io is an excellent choice, installed simply with
curl -sfL https://get.k3s.io | sh -. Make sure tosudo chown $USER /etc/rancher/k3s/k3s.yamlif you're accessing the Kubernetes cluster using the kubeconfig at/etc/rancher/k3s/k3s.yamlas non-root user. Also,export KUBECONFIG=/etc/rancher/k3s/k3s.yaml, so the operator can find the kubeconfig. - Use
kubectl apply -f echoes.example.com.yamlto create the CustomResourceDefinition inside Kubernetes. - Build the project with
cargo build. If the build fails, make surelibssl-devis available. - Run the operator using
cargo run. It will run outside of the Kubernetes cluster and connect to the Kubernetes REST API using the account inside theKUBECONFIGautomatically.
Finally, a custom Echo resource can be created with kubectl apply -f echo-example.yaml. A new deployment of two pods with Echo REST API service will be created. This can be checked with the kubectl get pods or kubectl get deployments command.
