Kubernetes has emerged as the world’s most powerful container orchestration platform, but its true power is hidden behind an extensible API and automation framework that will redefine how future platforms are built and operated.
Kelsey Hightower, Technologist, Google
One of Kubernetes greatest – and most difficult to keep – promises is the ability to automate the operational burden of state-of-the-art cloud native applications and multi-cloud infrastructure. Kubernetes Operators deliver on this promise and even extend this operational automation to legacy software, allowing you to manage your applications just like a managed cloud service.
However, before we dive into how Operators help businesses automate away time and nerve-intense operational toil, let’s take a step back and look at what a Kubernetes Operator actually is and does.
Simply put: An Operator is a piece of software that understands how to run and facilitates operating another piece of software. More technically, as CoreOS, who introduced the first Kubernetes Operator in 2016, notes: An Operator is a method of packaging, deploying and managing a Kubernetes application. A Kubernetes application is an application that is both deployed on Kubernetes and managed using the Kubernetes APIs and kubectl tooling. An Operator has its custom controller watching the custom resources specifically defined for the applications.
This allows developers to codify life cycle management knowledge for applications that need to maintain state and thereby automates much of the ongoing management including deployments, backups, upgrades, logging, and alerting by simply watching events and leveraging the reconciliation loops built into Kubernetes.
For example, if Kubernetes detects the loss of a node in the cluster, an Operator can automatically create another node and join it to the cluster to bring the cluster back to the desired number of nodes.
This simple example highlights the power of this paradigm. Kubernetes Operators enable a whole new IT operational model that allows companies to scale through software rather than people. This unlocks many benefits including:
- Operators extend the power and automation of Kubernetes to a wide range of applications, particularly complex stateful apps
- Operators take the error-prone human factor out of an application’s lifecycle management thereby improving resilience and facilitating large-scale deployments
- Operators can be used like templates to automate application management, drastically improving scalability and repeatability
- Operators facilitate multi and hybrid cloud management by eliminating the need for domain expertise
Kubernetes Operators have continuously been growing in both quantity and popularity ever since they’ve been introduced. Enterprise cloud native adoption will reach the majority by 2023 and we are sure that Kubernetes Operators and their automation of application life cycle management will play a crucial role in that development.
If you want to become a leader in the future of cloud native, there will be no way around Kubernetes Operators and automated application life cycle management. To accelerate their growth and adoption, we are launching OperatorCon as a Day Zero Conference at KubeCon Europe 2020 in Amsterdam. If you want to learn from and exchange with the leading Operator experts, we look forward to seeing you there.
O’Reilly: Kubernetes Operators: Automating the Container Orchestration Platform