Orchestrating a stateful application using Operator

Authors

Deekshith Nayak, Dr. H. V. Ravish Aradhya
RV College of Engineering, Bengaluru, India.

Abstract

Containerization is a leading technological advancement in cloud-native developments. Virtualization isolates the running processes at the bare metal level but containerization isolates the processes at the operating system level. Virtualization encapsulates all the new virtual instances with a new operating system but containerization encapsulates the software only with its dependencies. Containerization avoids the problem of dependency missing between different operating systems and their distributions. The concept of containerization is old but the development of open-source tools like Docker, Kubernetes, and Openshift accelerated the adaption of this technology. Docker builds container images and Openshift or Kubernetes is an Orchestrating tool. For stateful applications, Kubernetes workload resources are not a better option to orchestrate the application, as each resource has its own identity. In such cases, the operator can be built to manage the entire life cycle of resources in the Kubernetes cluster. Operator combines human operational knowledge into software code in a systematic way. The paper discusses the default control mechanism in Kubernetes and then it explains the procedure to build the operator to orchestrate the stateful application.