Kubernetes Operators / Software Extensions
Kubernetes (K8s) ist das führende Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Operatoren sind Softwareerweiterungen der Kubernetes-Plattform, welche sogenannte Custom Resource Definitions (CRDs) verwenden.
Das ist und macht ein Operator
Grundsätzlich ist ein Operator ein anwendungsspezifischer Controller, der die Funktionalität der Kubernetes-API erweitert, um Instanzen komplexer Anwendungen für einen Kubernetes-Konsumenten zu erstellen, zu konfigurieren und zu verwalten. Darüber hinaus verpackt, implementiert und verwaltet ein Operator eine Anwendung durch seinen Controller. Dazu werden allgemeine zur Verfügung stehende Kubernetes-Konzepte für Ressourcen und Controller verwendet. Diese Konzepte werden durch domänen- und anwendungsspezifisches Wissen ergänzt, um den gesamten Lebenszyklus der verwalteten Anwendung zu automatisieren.
Beispiele von Aufgaben, für die ein Operator verantwortlich sein kann:
- Deployment einer Anwendung auf Anfrage
- Erstellen sowie Wiederherstellen von Backups des Zustands dieser Anwendung
- Handhabung von Upgrades des Anwendungscodes zusammen mit damit verbundenen Änderungen wie Datenbankschemata oder zusätzlichen Konfigurationseinstellungen
- Auswahl eines Leaders für eine verteilte Applikation, welche keinen internen Algorithmus für ein Wahlverfahren implementiert
Beispiele von Operatoren:
- Postgres Operator, eine deklarative Postgres-Lösung, welche PostgreSQL-Cluster automatisch verwaltet (Crunchy Postgres für Kubernetes)
- Elastic Cloud auf Kubernetes (ECK) ist der offizielle Betreiber von Elastic für die Automatisierung der Bereitstellung, Verwaltung und Orchestrierung des Elasticsearch Stack mit Kibana
- Redis Enterprise, ein Operator zum Ausführen von Redis Enterprise Clustern
- Kong Operator, ein Kubernetes-Operator, der Kong und Kong Enterprise Cluster verwaltet
- RabbitMQ, Operator für die Bereitstellung und Verwaltung von RabbitMQ Clustern
Viele weitere Operatoren sind im offiziellen Operator Hub, dem neuen Zuhause der Kubernetes-Operatoren zu finden: https://operatorhub.io
Herstellerunabhängige Distribution
Red Hat OpenShift stellt einen OperatorHub in der Webkonsole bereit, um das Auffinden und Installieren von Operatoren zu vereinfachen. Mit einem Klick kann ein Operator aus seiner Quelle (z.B.: dem offiziellen Operator-Hub) ausserhalb des Clusters gezogen, installiert und für Entwicklungsteams bereitgestellt werden. Über den Red Hat Marketplace lassen sich die Operatoren auch mit Support der jeweiligen Hersteller abdecken für beispielsweise relationale Datenbanken etc.
Das gleiche Konzept bietet VMware mit Ihrem Solutions Hub für die Tanzu-Umgebungen. Der Hub gibt Zugriff auf die von VMware Tanzu hergestellten Operatoren, solche von validierten Partnern, aber auch unzählige aus der Community stammende Lösungen. Kommerziellen Support für einzelne Operators kann über den offiziellen VMware Marketplace bezogen werden.
Egal welche Kubernetes-Distribution Sie im Einsatz haben, Kubernetes Operatoren können Ihr Leben erheblich vereinfachen. Es ist daher sehr sinnvoll, die Möglichkeiten zum gegebenen Zeitpunkt sorgfältig auszuloten. Gerne hilft Ihnen das Enterprise Cloud Services Team von Netcloud bei der Evaluierung, Auswahl, Installation, Aktualisierung und sogar beim Schreiben des optimalen Operators für Ihre spezifischen Anforderungen.