With the introduction of Custom Resource Definitions (CRDs) in Kubernetes 1.7, the platform became extensible. Kubernetes admins can now define their own types of resources, with domain specific schemas. While CRDs provide a way to specify custom configuration, the Kubernetes cluster needs controllers in order to monitor resources state and reconcile resources until they match the configuration.
Kubernetes Operators are controllers, specific to operating an application, by leveraging CRDs to make the application native in the Kubernetes ecosystem. Operators can perform tasks that “human operators” have to take care of, e.g. managing upgrades, generating certs and more.
In this session we will cover how operators are built and how they fit in the Kubernetes ecosystem, demonstrate the value they can provide and tell about the experience the developers at Elastic had while building a production-grade operator for Elasticsearch.
Building Kubernetes Operators
Idan is an experienced software engineer & manager, with vast experience in distributed systems and orchestration. He is currently the Cloud Orchestration team lead at Elastic. Prior to joining Elastic, Idan was a core contributor to the OpenStack Heat-Translator project and a member of the Oasis TOSCA committee during his time at GigaSpaces & Cloudify.