Awesome Operators in the Wild
Operators are Kubernetes native applications. We define native as being both managed using the Kubernetes APIs via kubectl and ran on Kubernetes as containers. Operators take advantage of Kubernetes’s extensibility to deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run.
This list is built by the community. Have you built or are you using an Operator that is not listed? Please send a pull request and we will add that Operator to the list.
If you want to start building an Operator, you should definitely look into the Operator SDK.
App Name | Github | Description |
---|---|---|
Aerospike | travelaudience/aerospike-operator | Aerospike is a NoSQL distributed database. This Operator manages Aerospike clusters atop Kubernetes, automating their creation and administration. |
Airflow | GoogleCloudPlatform/airflow-operator | A Kubernetes operator to manage Apache Airflow. |
Android SDK | aerogear/android-sdk-operator | A Kubernetes operator to manage android sdk packages syncronization in a persistent volume. |
Application Runtimes | application-runtimes/operator | An Operator for deploying any runtime based applications to Kubernetes, which can also be used as a base for runtime-specific Operators. |
Appsody | appsody/appsody-operator | An Operator for deploying Appsody based applications to Kubernetes. |
Aqua Security | aquasecurity/aqua-operator | Aqua Security Operator for k8s or openshift - aqua-operator is a group of controllers that runs within a Kubernetes or Openshift cluster that provides a means to deploy and manage Aqua Security cluster |
ArangoDB | arangodb/kube-arangodb | ArangoDB Kubernetes Operator - Start ArangoDB on Kubernetes in 5min. |
Argo CD | argoproj/argo-cd | Declarative continuous deployment for Kubernetes |
AWS | giantswarm/aws-operator | Manages Kubernetes clusters running on Amazon Web Services |
AWS Services | awslabs/aws-service-operator | Manages AWS services that are used by your applications running in Kubernetes. |
AWS SageMaker | aws/amazon-sagemaker-operator-for-k8s | Manages AWS sagemaker jobs from inside your kubernetes cluster. |
Azure Databricks | microsoft/azure-databricks-operator | Manages an Azure Databricks Workspace from inside your Kubernetes cluster. |
Camel-k | apache/camel-k | Lightweight integration framework built from Apache Camel that runs natively on Kubernetes |
Cassandra #1 | instaclustr/cassandra-operator | Kubernetes operator for Apache Cassandra. |
Cassandra #2 | vgkowski/cassandra-operator | Kubernetes operator for cassandra clusters automation. |
Cassandra #3 | jetstack/navigator | Create and scale multi-AZ Casssandra clusters on Kubernetes. |
Cassandra #4 | Orange-OpenSource/cassandra-k8s-operator | This Kubernetes operator automates the Cassandra operations such as deploying a new rack aware cluster, adding/removing nodes, configuring the C* and JVM parameters, upgrading JVM and C* versions, and many more... |
Cassandra #5 | kudobuilder/operators/cassandra | An Operator for Apache Cassandra built using KUDO |
Cerebral | containership/cerebral | Kubernetes cluster autoscaler operator with pluggable metric/event sources and cloud provider support |
cert-manager | jetstack/cert-manager | Automatically provision and manage TLS certificates in Kubernetes |
Che | eclipse/che-operator | Kubernetes operator for Che, a container based IDE that provides a fast, easy to use, extensible platform for hybrid cloud development teams |
ClickHouse | Altinity/clickhouse-operator | A Kubernetes operator for ClickHouse. |
Cloud Foundry | cloudfoundry/cf-operator | Run Cloud Foundry upon Kubernetes, or any BOSH deployment |
CloudFormation | linki/cloudformation-operator | AWS CloudFormation is a service that helps you model and set up your Amazon Web Services resources. Using this operator run and manage CloudFormation stacks and manage AWS resources from Kubernetes. |
Consul | python/consul-operator | A Kubernetes operator for consul. |
Couchbase Autonomous Operator | couchbase/operator | Automates administrative tasks and operational best practices while maintaining full data platform capabilities from within and across clouds and on-premises deployments. |
CouchDB #1 | ibm/couchdb-operator() | Fully automated deployment and configuration of Apache CouchDB clusters. Also available on OperatorHub.io |
CouchDB #2 | nicolai86/couchdb-operator | Prototype Kubernetes operator for couchDB. |
Dex | kubic-project/dex-operator | A Kubernetes operator for configuring Dex with custom resources |
DynamoDB | microdc/k8s-dynamodb-operator | Amazon DynamoDB is a fully proprietary NoSQL database service that supports key-value and document data structures. This is a Kubernetes operator for DynamoDB |
DB Operator | kloeckner-i/db-operator | A DB Operator for MySQL/PostgresSQL. Supports also Google Cloud SQL instance creation. |
Elasticell | deepfabric/elasticell-operator | Elasticell is a key-value storage with strong consistency and reliability. This is a Kubernetes operator for Elasticell |
Elasticsearch #1 (Official) | elastic/cloud-on-k8s | Elastic Cloud on Kubernetes (ECK) is the official Elastic Operator to deploy, provision, manage and orchestrate secured Elasticsearch clusters and Kibana on Kubernetes. |
Elasticsearch #2 | upmc-enterprises/elasticsearch-operator | Manages one or more elastic search clusters on Kubernetes. |
Elasticsearch #3 | jetstack/navigator | Create, scale and upgrade multi-AZ Elasticsearch clusters on Kubernetes |
Elasticsearch #4 | kudobuilder/operators/elastic | An Operator for ElasticSearch built using KUDO |
Envoy | solo-io/envoy-operator | Envoy is a Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh)Run and manage Envoy on Kubernetes simply and securely. |
External Secret Operator | ContainerSolutions/externalsecrets-operator | External Secret Operator injects secrets from secret stores like AWS Secret Manager or 1Password and injects them as Kubernetes Secret resources. |
etcd | coreos/etcd-operator | Manages etcd k/v database clusters on Kubernetes. |
Flink | lyft/flinkk8soperator | Kubernetes operator that provides control plane for managing Apache Flink applications. |
Flux | fluxcd/flux | The GitOps Kubernetes Operator. |
Flux Helm Operator | fluxcd/helm-operator | Manage Helm releases using HelmRelease resources. |
Fortio-operator | verfio/fortio-operator | Load Testing Operator within the Kubernetes cluster and outside of it. |
Galera Operator | Orange-OpenSource/galera-operator | Galera Operator makes it easy to manage highly-available galera clusters deployed to Kubernetes and automates tasks related to operating a galera cluster. |
GateKeeper | replicatedhq/gatekeeper | Manages dynamic Admission Controllers using Open Policy Agent. |
Gitea | integr8ly/gitea-operator | An Operator that installs Gitea and, optionally on OpenShift, an oauth proxy |
GitLab | gitlab-operator | supports online upgrades |
Google Cloud Operator | paulczar/gcp-cloud-compute-operator | Allows the provisioning of Google Cloud resources such as Instances and Images using Kubernetes |
Grafana | integr8ly/grafana-operator | A Kubernetes Operator for creating and managing Grafana instances. |
Habitat | habitat-sh/habitat-operator | A Kubernetes operator for Habitat services. |
Halkyon | halkyonio/operator | To simplify the process of composing/deploying and bind micro-service applications on Kubernetes |
Hazelcast (Official) | hazelcast/hazelcast-operator | Hazelcast Enterprise cluster with Management Center |
HPA Operator | banzaicloud/hpa-operator | Horizontal Pod Autoscaler operator for Kubernetes. Annotate, and let HPA operator do the rest. |
IBM Block Storage CSI Driver | IBM/ibm-block-csi-operator | The IBM block storage CSI driver enables container orchestrators, such as Kubernetes and OpenShift, to manage the life-cycle of persistent storage. This operator deploys and manages the driver. |
Icinga2 operator | appscode/searchlight | Alerts for Kubernetes |
Infinispan | banzaicloud/infinispan-operator | Infinispan is a distributed in-memory key/value data store. This operator deploys and runs an Infinispan cache cluster. |
InfluxDB | gianarb/influxdb-operator | InfluxDB is an open-source time series database. This is the Kubernetes operator for InfluxDB and the TICK stack. |
Istio Operator | banzaicloud/istio-operator | An operator that manages Istio deployments on Kubernetes. |
Jaeger | jaegertracing/jaeger-operator | Jaeger Operator for Kubernetes. |
Jenkins | jenkinsci/jenkins-operator | Kubernetes native Jenkins operator. |
Kafka #1 | krallistic/kafka-operator | A Kafka Operator for Kubernetes |
Kafka #2 | strimzi/strimzi | Operator for running Kafka and Kafka Connect on Kubernetes and OpenShift |
Kafka #3 | banzaicloud/kafka-operator | An operator that manages Kafka on Kubernetes. |
Kafka #4 | kudobuilder/operators/kafka | An Apache Kafka Operator built on KUDO |
Kanister | kanisterio/kanister | Kanister is an extensible framework for application-level data management on Kubernetes |
KMS Vault | patoarvizu/kms-vault-operator | Operator for managing KMS-encrypted secrets and write them to Hashicorp Vault. |
Konfigurator | stakater/konfigurator | Dynamically generates and manages app configuration based on kubernetes resources |
Kong | upmc-enterprises/kong-operator | Manages Kong clusters on Kubernetes (no longer actively maintained) |
Kopf | kopf/operator | A Python framework to write Kubernetes operators in just few lines of code. |
KubeDB | kubedb/operator | KubeDB Operator |
KubeVirt | kubevirt/kubevirt | Kubernetes Virtualization Operator with API and runtime in order to define and manage virtual machines. |
KUDO | kudobuilder/kudo | The Kubernetes Universal Declarative Operator, a toolkit for building Kubernetes Operators declaratively using YAML. |
Logging Operator | banzaicloud/logging-operator | Logging operator for Kubernetes based on Fluentd and Fluent-bit. |
Mailgun | whyseco/mailgun-operator | Mailgun operator to deploy mailgun configuration through a kubernetes controller. |
Memcached | ianlewis/memcached-operator | A Kubernetes operator for memcached |
MongoDB #1 (Official) | mongodb/mongodb-enterprise-kubernetes | MongoDB Enterprise Operator for Kubernetes |
MongoDB #2 | kbst/mongodb | MongoDB Operator for Kubernetes |
MongoDB #3 | Ultimaker/k8s-mongo-operator | MongoDB Operator for MongoDB Replica Sets and Backups |
MXNet | deepinsight/mxnet-operator | Tools for ML/MXNet on Kubernetes. |
MySQL #1 | grtl/mysql-operator | This operator creates a Kubernetes Custom Resource for MySQL. |
MySQL #2 | oracle/mysql-operator | This operator creates, operates, and scales self-healing MySQL clusters in Kubernetes |
MySQL #3 | presslabs/mysql-operator | This operator manages all the necessary resources for deploying and managing a highly available MySQL cluster. It provides efortless backups, while keeping the cluster highly-available. |
MySQL #4 | banzaicloud/mysql-operator | Create, operate and scale self-healing MySQL clusters in Kubernetes. |
MySQL #5 | Percona-Lab/percona-xtradb-cluster-operator | A Kubernetes operator for Percona XtraDB Cluster. Multi-master MySQL cluster with ProxySQL ingress, native backups, scaling, monitoring, reliable automatic self-healing. |
NATS | nats-io/nats-operator | This operator manages NATS clusters atop Kubernetes, automating their creation and administration. |
Neo4J | lukasz-antoniak/neo4j-operator | Kubernetes operator for Neo4J graph database. Allows to quickly provision, check status and periodically backup Neo4J cluster. |
Netperf | piontec/netperf-operator | This is a very simple operator that can be used to test network performance between 2 pods using the netperf tool. It is also a good operator for learning puposes, as the code base is pretty small and it's described in detail in this blog post. |
NSQ | andyxning/nsq-operator | A Kubernetes operator for NSQ. |
NuoDB | nuodb/nuodb-operator | The NuoDB Operator deploys the NuoDB database and supports either ephemeral or persistent storage options with configurations to run NuoDB Insights, a visual database monitoring Web UI, and start a sample application (ycsb) to quickly generate a configurable SQL workload against the database. See: NuoDb's github for requirements. |
OpenFaaS | openfaas-incubator/openfaas-operator | An operator for OpenFaaS functions. |
OpenStack Seeder | sapcc/kubernetes-operators | Seed your OpenStack content with a this operator. |
Open Liberty | OpenLiberty/open-liberty-operator | An Operator for deploying Open Liberty application containers into Kubernetes. |
Oracle Database | malagoli/oracle-db-operator | Prototype of an Oracle Database operator. |
opssight-connector | blackducksoftware/opssight-connector | The Black Duck OpsSight Connector provides software composition analysis of open-source components of containers. |
PostgreSQL #1 | CrunchyData/postgres-operator | PostgreSQL Operator Creates/Configures/Manages PostgreSQL Clusters on Kubernetes |
PostgreSQL #2 | zalando-incubator/postgres-operator | Create and manage PostgreSQL HA clusters on Kubernetes using Patroni |
Pravega | pravega/pravega-operator | Create, operate and scale Pravega stream storage clusters on Kubernetes |
Prometheus | coreos/prometheus-operator | Monitor Kubenertes and external resources with Prometheus. |
Prometheus Jmx Exporter | banzaicloud/prometheus-jmx-exporter-operator | This operator using Jmx Exporter enables Java processes running ok Kubernetes Pods to expose metrics collected form mBeans via JMX to Prometheus. |
PVC | banzaicloud/pvc-operator | This operator helps to use Kubernetes Persistent Volumes easier on cloud providers by dynamically creating the required accounts, classes and more. |
Pulsar | sky-big/pulsar-operator | Manages pulsar cluster on Kubernetes. |
Qdr | interconnectedcloud/qdr-operator | Operator for running Apache Qpid Dispatch Router (AMQP 1.0) on Kubernetes and OpenShift |
Quobyte | Quobyte/Quobyte | Quobyte’s next-generation file system unifies file, block and object storage for enterprise and scientific applications. |
RBAC Manager | reactiveops/rbac-manager | This operator simplifies the management of RBAC Role Bindings in Kubernetes. |
RabbitMQ | skylt/rabbitmq-operator | RabbitMQ operator for Kubernetes. |
RDS | MYOB-Technology/ops-kube-db-operator | Operator to control RDS DBs in AWS. |
Redis #1 | spotahome/redis-operator | Redis Operator creates/configures/manages redis clusters atop Kubernetes. |
Redis #2 | jw-s/redis-operator | Redis operator for Kubernetes |
Redis #3 | amaizfinance/redis-operator | Redis operator for Kubernetes. Provides high availability for Redis. Designed to resist to most kinds of failures without human intervention. |
Redis #4 | kube-incubator/redis-operator | Redis operator for Kubernetes based on operator-sdk. |
Redis #5 | ucloud/redis-operator | Redis operator build a Highly Available Redis cluster with Sentinel atop Kubernetes |
Redis Cluster #1 | AmadeusITGroup/Redis-Operator | A Kubernetes operator for running Redis in Cluster mode |
Redis Cluster #2 | ucloud/redis-cluster-operator | Redis Cluster Operator creates and manages Redis in Cluster mode atop Kubernetes |
Registries | kubic-project/registries-operator | A Kubernetes operator for managing images registries |
RethinkDB | jmckind/rethinkdb-operator | RethinkDB is a free and open-source, distributed document-oriented database. This is a Kubernetes operator to manage RethinkDB instances. |
RocketMQ #1 | huanwei/rocketmq-operator | Create, operate and scale self-healing Rocketmq clusters on Kubernetes. |
RocketMQ #2 | apache/rocketmq-operator | RocketMQ Operator is to manage RocketMQ service instances deployed on Kubernetes. |
Rook | rook/rook | File, Block, and Object Storage Services for your Cloud-Native Environment |
Secreter | amaizfinance/secreter | Kubernetes operator and CLI tool for encrypting Kubernetes secrets and declarative secret management. |
Service level | slok/service-level-operator | Manage application's SLI and SLO's easily with the application lifecycle inside a Kubernetes cluster. |
Shell | flant/shell-operator | Shell-operator is a tool for running event-driven scripts in a Kubernetes cluster. |
Spark #1 | GoogleCloudPlatform/spark-on-k8s-operator | Kubernetes CRD operator for specifying and running Apache Spark applications idiomatically on Kubernetes. |
Spark #2 | jvm-operators/spark-operator | ConfigMap-based operator for deploying ephemeral Apache Spark clusters and intelligent applications that spawn their own Spark clusters natively on Kubernetes and OpenShift. |
Spark #3 | mesosphere/kudo-spark-operator | An Operator for Apache Spark built using KUDO |
StorageOS | storageos/cluster-operator | StorageOS transforms commodity server or cloud based disk capacity into enterprise-class storage to run persistent workloads such as databases in containers. The StorageOS Operator installs and manages StorageOS clusters. |
Stork | libopenstorage/stork | Stork is a Cloud Native storage orchestration runtime scheduler plugin. It translates a scheduler's orchestration decisions into someting that an external cloud native storage solution can act upon. By doing so, it extends Kubernetes with more stateful awareness of the underlying storage provider, it's capabilities and state. |
Temp-Namespace-Operator | CognotektGmbH/tmp-namespace-operator | The Temp-Namespace-Operator creates namespaces on-the-fly with proper security resources (networkpolicies, rolebindings, etc.) in it and a TTL until they get deleted. This is useful for running integration tests automatically in insolated production-like environment. It allows developers to set up compliant namespaces temporarily for their works without giving them the permission to modify actual Kubernetes namespace resources. |
Tensorflow | kubeflow/tf-operator | Tools for ML/Tensorflow on Kubernetes. |
TiDB #1 (Official) | pingcap/tidb-operator | TiDB operator creates and manages TiDB clusters running in Kubernetes. |
TiDB #2 | aliyx/tidb-operator | TiDB operator creates/configures/manages TiDB clusters atop Kubernetes. |
Tomcat | kube-incubator/tomcat-operator | Tomcat operator creates/manages Tomcat clusters atop Kubernetes. It is also a good operator for learning puposes, as the code base is pretty small. |
Unifiedpush | aerogear/ups-config-operator | UnifiedPush Server is a server that allows sending push notifications to different (mobile) platforms. Using this operator manage your Unifiedpush variants from Kubernetes and Openshift |
Vault #1 | coreos/vault-operator | This operator will run and manage Vault on Kubernetes simply and securely. |
Vault #2 | banzaicloud/bank-vaults | This operator offers a feature rich HA Vault operator with TLS, external API based re/configuration, several/automatic unseal options and more. |
Vault dynamic configuration | patoarvizu/vault-dynamic-configuration-operator | This operator works in conjunction with banzaicloud/bank-vaults, to dynamically modify a target Vault custom resource based on annotations on Kubernetes ServiceAccount s. |
VaultSync Operator | thatInfrastructureGuy/vaultsync-operator | Periodically syncs secrets from industry standard Vaults (Azure KeyVault / AWS Secrets Manager) to Kubernetes Secrets. Ability to redeploy deployments/statefulsets to ensure applications utilize the newly updated secrets. |
Velero | heptio/velero | Velero (formerly Ark) is a utility for managing disaster recovery, this operator manages the backup and restoration of cluster components (pv,pvc,deployments, etc.) to aid in disaster recovery. |
Ververica Platform | fintechstuiods/ververica-platform-k8s-operator | Ververica Platform is a production-ready stream processing platform powered by open source Apache Flink®. |
WebLogic | oracle/weblogic-kubernetes-operator | Oracle Weblogic Server Kubernetes Operator |
WildFly | banzaicloud/wildfly-operator | Wildfly Operator let's you describe and deploy JEE application on Wildfly server by creating a Custom Resource Definitions in Kubernetes. |
Wordpress | presslabs/wordpress-operator | Enables managing multiple WordPress installments at scale. |
Zeebe | zeebe-io/zeebe-operator | Kubernetes Operator for Zeebe - Let me manage your https://zeebe.io cluster on K8s. |
ZooKeeper #1 | Nuance-Mobility/zookeeper-operator | This is an operator for ZooKeeper 3.5.x |
ZooKeeper #2 | pravega/zookeeper-operator | This is an operator for ZooKeeper 3.5.x |
ZooKeeper #3 | kudobuilder/operators/zookeeper | An Operator for Apache ZooKeeper built with KUDO |