© Liashko/Shutterstock.com
Entwickler Magazin
Eine Einführung in das Operator Framework

Automatisierung mit Kubernetes Operators


In der Kubernetes-Sprache ist ein Operator ein Stück Software, das operatives Wissen (daher der Name) über Betrieb und Installation eines bestimmten Programms oder einer Systemkomponente seinerseits in Software abbildet und damit automatisieren kann. Lernen Sie, wie Sie einen solchen Operator mit Hilfe des Operator SDKs selbst in Go programmieren können.

Kubernetes erfreut sich in der DevOps-Szene aktuell größter Beliebtheit; das liegt nicht zuletzt daran, dass Kubernetes – im Zusammenspiel mit der jeweils gewählten Containertechnologie – von Haus aus zahlreiche Möglichkeiten liefert, wiederkehrende Vorgänge einfach zu automatisieren. Dazu zählt beispielsweise das Ausführen von Rolling Updates für Applikationen, die in der Regel ohne Downtime ausgeführt werden können. Bei aller Automatisierung stoßen jedoch auch irgendwann die Kubernetes-Bordmittel an ihre Grenzen. Insbesondere bei Einrichtung und Betrieb besonders komplexer Softwarekomponenten ist immer noch Spezialwissen des Administrators gefragt. Klassische Beispiele für solche Komponenten sind komplexe, zustandsbehaftete und schlimmstenfalls noch geclusterte Anwendungen, wie beispielsweise Datenbanksysteme.

Operators sind ein Ansatz, das Wissen über Set-up und Betrieb solcher Anwendungen in Software zu gießen, um einen noch höheren Automatisierungsgrad zu erreichen. Anfang März startete Red Hat OperatorHub. io [1] – ein Projekt mit dem Ziel, ein zentrales Verzeichnis für solche Operators zu schaffen. Zum aktuellen Zeitpunkt finden sich hier bereits zahlreiche Operators für den Betrieb verschiedenster zustandsbehafteter Anwendungen, wie beispielsweise Apache Kafka, Prometheus, Percona MySQL und andere. Eine Suche auf GitHub [2] offenbart zahlreiche weitere Operators.

Operators und Custom Resources

Eines der Kernprinzipien von Kubernetes besteht darin, dass verschiedene Objekttypen genutzt werden können, um den gewünschten Zustand des Systems zu beschreiben. Kubernetes (genauer gesagt, der Controller Manager [3...

Entwickler Magazin
Eine Einführung in das Operator Framework

Automatisierung mit Kubernetes Operators

In der Kubernetes-Sprache ist ein Operator ein Stück Software, das operatives Wissen (daher der Name) über Betrieb und Installation eines bestimmten Programms oder einer Systemkomponente seinerseits in Software abbildet und damit automatisieren kann. Lernen Sie, wie Sie einen solchen Operator mit Hilfe des Operator SDKs selbst in Go programmieren können.

Martin Helmich


In der Kubernetes-Sprache ist ein Operator ein Stück Software, das operatives Wissen (daher der Name) über Betrieb und Installation eines bestimmten Programms oder einer Systemkomponente seinerseits in Software abbildet und damit automatisieren kann. Lernen Sie, wie Sie einen solchen Operator mit Hilfe des Operator SDKs selbst in Go programmieren können.

Kubernetes erfreut sich in der DevOps-Szene aktuell größter Beliebtheit; das liegt nicht zuletzt daran, dass Kubernetes – im Zusammenspiel mit der jeweils gewählten Containertechnologie – von Haus aus zahlreiche Möglichkeiten liefert, wiederkehrende Vorgänge einfach zu automatisieren. Dazu zählt beispielsweise das Ausführen von Rolling Updates für Applikationen, die in der Regel ohne Downtime ausgeführt werden können. Bei aller Automatisierung stoßen jedoch auch irgendwann die Kubernetes-Bordmittel an ihre Grenzen. Insbesondere bei Einrichtung und Betrieb besonders komplexer Softwarekomponenten ist immer noch Spezialwissen des Administrators gefragt. Klassische Beispiele für solche Komponenten sind komplexe, zustandsbehaftete und schlimmstenfalls noch geclusterte Anwendungen, wie beispielsweise Datenbanksysteme.

Operators sind ein Ansatz, das Wissen über Set-up und Betrieb solcher Anwendungen in Software zu gießen, um einen noch höheren Automatisierungsgrad zu erreichen. Anfang März startete Red Hat OperatorHub. io [1] – ein Projekt mit dem Ziel, ein zentrales Verzeichnis für solche Operators zu schaffen. Zum aktuellen Zeitpunkt finden sich hier bereits zahlreiche Operators für den Betrieb verschiedenster zustandsbehafteter Anwendungen, wie beispielsweise Apache Kafka, Prometheus, Percona MySQL und andere. Eine Suche auf GitHub [2] offenbart zahlreiche weitere Operators.

Operators und Custom Resources

Eines der Kernprinzipien von Kubernetes besteht darin, dass verschiedene Objekttypen genutzt werden können, um den gewünschten Zustand des Systems zu beschreiben. Kubernetes (genauer gesagt, der Controller Manager [3...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang