Kubernetes Operators—When, how and the gotchas to keep in mind

Kubernetes Operators—When, how and the gotchas to keep in mind

  • January 22, 2019
Table of Contents

Kubernetes Operators—When, how and the gotchas to keep in mind

Kubernetes Operators have now become mainstream. An Operator is essentially a Kubernetes Custom Controller managing one or more Custom Resources. The term Operator has become popular as it succinctly captures end result of what Custom Controller+Custom Resource combination is typically defined for, e.g.—declaratively managing a stateful software on Kubernetes (e.g.: databases, off-the-shelf web applications, ML workloads, etc.).

In technical terms, Custom Controller+Custom Resource combination is called ‘Custom Resource Definition’ (CRD). In the following post we use Operator and CRD interchangeably. Kubecon 2018 in Seattle had great customizing and extendibility track.

Presentations ranged from visionary, such as converting all Kubernetes constructs to CRDs, to examples of custom CRDs written for specific requirements, such as gaming server (Agones), workflow system (Airflow), Databases (Postgres Operator), proprietary SaaS products (Kolide), to Custom controllers without Custom Resources (Airbnb). Still, platform teams looking to build their own Operators face several questions regarding the overall approach, such as—which life-cycle actions of a software to automate using Operators? How to correctly model such actions using declarative primitives of a Custom Resource (the Custom Resource Spec)?

when to use Custom sub-resources? How to evaluate community Operators? Will different Custom Resources interoperate correctly?

As an example, here is a recent email from kubernetes-dev mailing list with such questions.

Source: medium.com

Share :
comments powered by Disqus

Related Posts

Combining Federation V2 and Istio Multicluster

Combining Federation V2 and Istio Multicluster

In a previous post, we saw how to leverage Istio Multicluster to deploy an application (bookinfo) on multiple Red Hat OpenShift clusters and apply mesh policies on all of the deployed services. We also saw that the deployment process was relatively complex. In this post we are going to see how Federation V2 can help simplify the process of deploying an application to multiple clusters.

Read More
PostgreSQL across clouds and on-premises

PostgreSQL across clouds and on-premises

PostgreSQL is a very popular open source relational database. It’s been in active development for over 30 years and has achieved a very high level of reliability and performance, as well as a very robust feature set.

Read More
Deployment strategies for the Jaeger Agent

Deployment strategies for the Jaeger Agent

If you’ve been following the evolution of the Kubernetes templates for Jaeger, you might have noticed an important change recently: the Jaeger Agent is not being deployed as a DaemonSet anymore. Instead, instructions are now being provided on how to deploy it as a “Sidecar”. The Agent component was developed to act as a “buffer” between the tracer and the collector.

Read More