Categorygithub.com/ragul28/kube-operator-basic
modulepackage
0.0.0-20240711162454-d42e6c8bc54b
Repository: https://github.com/ragul28/kube-operator-basic.git
Documentation: pkg.go.dev

# README

kube-operator-basic

Getting Started for dev

  • Create project using init command
mkdir -p kube-operator-basic
kubebuilder init --domain sample-operator.dev --repo github.com/ragul28/kube-operator-basic
  • Create custom resource
kubebuilder create api --group basic --version v1 --kind BasicVolume
  • Update api types & genarate manifests
make generate
make manifests
  • Update the controller reconcile logic & install crd to cluster
make install
  • Apply the Sample CRD
kubectl apply -f config/samples/
  • Run controller in local
make run

Running on the cluster

  1. Install Instances of Custom Resources:
kubectl apply -f config/samples/
  1. Build and push your image to the location specified by IMG:
make docker-build docker-push IMG=<some-registry>/kube-operator-basic:tag
  1. Deploy the controller to the cluster with the image specified by IMG:
make deploy IMG=<some-registry>/kube-operator-basic:tag

Uninstall CRDs

To delete the CRDs from the cluster:

make uninstall

Undeploy controller

UnDeploy the controller to the cluster:

make undeploy

How it works

This project aims to follow the Kubernetes Operator pattern

It uses Controllers which provides a reconcile function responsible for synchronizing resources untile the desired state is reached on the cluster

Test It Out

  1. Install the CRDs into the cluster:
make install
  1. Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):
make run

NOTE: You can also run this in one step by running: make install run

# Packages

No description provided by the author
No description provided by the author