Kubernetes Operator (Operator SDK, Kubebuilder VERSUS Kubernetes Client Libraries) Kubernetes Operator (Operator SDK, Kubebuilder VERSUS Kubernetes Client Libraries) kubernetes kubernetes

Kubernetes Operator (Operator SDK, Kubebuilder VERSUS Kubernetes Client Libraries)


What are the differences between the likes of OperatorSDK, KubebuilderAND Kubernetes Client libraries from Kubernetes.io

OperatorSDK, Kubebuilder are specialized and gives you good starting point by generating boiler plate code and a runtime(via controller runtime) necessary to implement a controller in kubernetes. Client libraries are generate purpose library to do anything such as interacting with Kubernetes API Server etc.

Are the Kubernetes Client Libraries implementations of things like theOperatorSDK and Kubebuilder?

No. Actually OperatorSDK , Kubebuilder under the hood uses controller runtime which internally uses kubernetes client library to interact with Kubernetes API Server.

Do I need to use the OperatorSDK or Kubebuilder to implement my owncontroller because, as far as I can tell, the Kubernetes clientlibrary seems to suffice.

If you just use kubernetes client library you will end up writing some boiler plate code and patterns which are already provided by OperatorSDK and Kubebuilder or controller runtime. It's highly recommended but not mandatory to use OperatorSDK or Kubebuilder to write controllers. You could also use controller runtime directly instead of using OperatorSDK or Kubebuilder.