On Feb 2019, Red Hat launched OperatorHub.io as the public registry in collaboration with Google Cloud, Microsoft and Amazon Web Services to find Kubernetes Operator backend services. It ensures that the set of Operators are packaged for easy deployment and management on any Kubernetes cluster.
In this article, we will talk about how that’s an important announcement.
Understanding The Operators
Operators are a design pattern introduced by CoreOS in 2016, implement and automate common Day-1 activities such as installation, configuration, etc. and Day-2 activities such as update,re-configuration, failover, backup, restore, etc. in a piece of software running inside the Kubernetes cluster by integrating natively with Kubernetes concepts and APIs.
Operators are a method of packaging, deploying and managing a Kubernetes-native application which benefits the Kubernetes users by helping to automate the routing, mundane as well as complete tasks required for an application to run on Kubernetes. So basically, the main goal of an Operator is to put operational knowledge into software.
The Operators follow a maturity model which ranges from basic functionality to having specific operational logic for an application and can be implemented in several programming and automation languages such as Go, Helm, and Ansible.
The Registry For Kubernetes Community
Red Hat’s director of community development Dianne Mueller said about the announcement, “With the introduction of OperatorHub.io, we look forward to continuing to work across the industry in enabling the creation of more Operators as well as the evolution of existing Operators. It is important to note that we expect the set of Operators that currently reside in OperatorHub.io to be only the start and anticipate more to be contributed over time.”
Google Cloud’s Group Product Manager, Aparna Sinha said, “The creation of OperatorHub.io provides a centralized repository that helps the users and the community to organize around Operators. We look forward to seeing the growth and adoption of Operatorub.io as an extension of the Kubernetes community.”
The concept of Operators has experienced a growing interest across the upstream communities and software providers. However, it is a challenge for the developers as well as the Kubernetes administrators to find available Operator who meets their quality standards. There are several operators included in this registry and a few of them are mentioned below:
- AWS Service Operator: Allows you to manage AWS resources using Kubernetes Custom Resource Definitions.
- Couchbase Operator: Allows you to easily deploy, manage, and maintain Couchbase deployments.
- MongoDB Enterprise Kubernetes Operator: Enables easy deploys of MongoDB into Kubernetes clusters.
- Dynatrace OneAgent: You can install full-stack monitoring of Kubernetes on your cluster.
- etcd Operators: Creates and maintains highly-available etcd clusters on Kubernetes.
- Jaeger Tracing: Used in monitoring and troubleshooting microservices-based distributed system.
- Strimzi Kafka: Provides a way to run an Apache Kafka cluster on Kubernetes or OpenShift in various deployment configurations.
- Vault Operator: Creates and maintains highly-available Vault clusters on Kubernetes, allowing easy deploy and manage Vault lusters for applications.
- Redis Enterprise: Provides a flexible as well as cost-effective data platform so that the developers can focus on rapid, high-quality development for sophisticated use cases to meet the needs of a modern digital enterprise.
How Does It Work
The content is sourced from the community operator repository on GitHub and stored in quay.io. Here, anyone who has been working on Kubernetes and wants to share some new content can easily contribute by means of a Pull Request. Information from the Operator’s metadata in the GitHub repository is used to fill the Operator’s details page and with this metadata, Operators are packaged and are made ready-to-run on any Kubernetes cluster which has Operators Lifecycle Manager (OLM) available.