spec: replicas: 3 … Reconcile apply Desired State Report Status Actual State Knowing the desired state Fetch the actual state Actions to go from actual to desired state
Kubernetes API • CRDs enables Kubernetes to store our custom resource in etcd • Manage our custom resources like a built in Kubernetes resource apiVersion: cache.example.com/v1alpha1 kind: KafkaTopic metadata: name: myTopic spec: numPartitions: 5 replicationFactor: 1
Go • Flexible and powerful Operator-sdk generates most of the needed skeleton code • Custom Resource Definition (CRDs) • A skeleton controller • Custom reconciliation loop to the controller https://blog.deckhouse.io/