Skip to content

Kubernetes Operators and Controllers

  1. Introduction
  2. Creating Kubernetes operator using Kubebuilder
  3. operatorhub.io
  4. Red Hat Container Community of Practice Operators
  5. Operator Capability Levels
  6. Cluster Addons
  7. K8Spin Operator. Kubernetes multi-tenant operator
  8. K8s KPIs with Kuberhealthy Operator
  9. Writing Kubernetes Operators and Controllers
  10. Tweets
  11. Videos

Introduction

Creating Kubernetes operator using Kubebuilder

  • kubernetes-sigs/kubebuilder Kubebuilder - SDK for building Kubernetes APIs using CRDs. Kubebuilder is a framework for building Kubernetes APIs using custom resource definitions (CRDs). Kubebuilder increases velocity and reduces the complexity managed by developers for rapidly building and publishing Kubernetes APIs in Go.
  • medium.com/@adnn.selimovic: Creating Kubernetes operator using Kubebuilder
  • medium.com/geekculture: A New Pattern that Simplifies Operator Building Build Kubernetes Operator with Kubebuilder and declarative pattern. kubebuilder-declarative-pattern provides a set of tools for building cluster operators with kubebuilder. Declarative operators provide a fast path to orchestrating deployments instead of reinventing the wheel i.e. “how do I get/update this YAML?”
  • qdnqn.com: Creating Kubernetes operator using Kubebuilder

    • Kubernetes is the current de facto standard for the deployment and running of applications that are suitable for modern cloud platforms. A declarative way of defining infrastructure state using YAML allows a super easy definition of the scheme for the deployment of the application. Deploying stateless applications is not a big deal. On the other hand โ€” deploying distributed stateful applications, configuring, and operating them is a challenging task.

    • Kubernetes addressed this issue by allowing developers to extend it, using the Kubernetes operator. The operator reacts to the custom resource and reconciliate the state in the cluster with the state defined in the custom resource, by implementing logic embedded in the operator itself.

    • When designing/writing an application, intended to run on the Kubernetes, one should take into account capabilities provided by Kubernetes and take that information when designing software architecture. It can speed up implementation, make an application more reliable and the code can focus more on business logic itself.

    • There are multiple ways to create an operator. You could write one from scratch using Kubernetes client-go. Itโ€™s a tedious task and the learning curve is steep. As an alternative, multiple tools provide boilerplate code and speed up the writing of operators. Popular ones are Operatorsdk and Kubebuilder. The focus of the article will be on creating an operator using Kubebuilder. Letโ€™s create an operator which will create a pod running a simple HTTP API and bind some data to the HTTP API.

operatorhub.io

  • operatorhub.io OperatorHub.io is a new home for the Kubernetes community to share Operators. Find an existing Operator or list your own today.

Red Hat Container Community of Practice Operators

Operator Capability Levels

  • Operator Capability Levels Operators come in different maturity levels in regards to their lifecycle management capabilities for the application or workload they deliver. The capability models aims to provide guidance in terminology to express what features users can expect from an Operator.

Cluster Addons

  • Cluster Addons ๐ŸŒŸ With cluster addon operators, we are exploring a kubernetes-native way of managing addons using CRDs(Custom Resource Definitions) and controllers where the controllers encode how best to manage the addon. Installing and managing an addon could be as simple as creating a custom resource.

K8Spin Operator. Kubernetes multi-tenant operator

K8s KPIs with Kuberhealthy Operator

  • K8s KPIs with Kuberhealthy ๐ŸŒŸ transforming Kuberhealthy into a Kubernetes operator for synthetic monitoring. This new ability granted developers the means to create their own Kuberhealthy check containers to synthetically monitor their applications and clusters. Additionally, we created a guide on how to easily install and use Kuberhealthy in order to capture some helpful synthetic KPIs.

Writing Kubernetes Operators and Controllers

Tweets

Click to expand!

Videos

Click to expand!