Jump to section

Was ist ein Kubernetes Operator?

URL kopieren

Ein Kubernetes Operator ist eine Methode zur Paketierung, Bereitstellung und Verwaltung einer Kubernetes-Anwendung. Kubernetes-Anwendungen werden mithilfe der Kubernetes-API (Application Programming Interface) und dem kubectl-Tooling auf Kubernetes bereitgestellt und verwaltet.

Ein Kubernetes Operator ist ein anwendungsspezifischer Controller, der die Funktionalität der Kubernetes-API erweitert, um Instanzen komplexer Anwendungen für einen Kubernetes-Nutzer zu erstellen, zu konfigurieren und zu verwalten.

Hierzu werden allgemeine Kubernetes-Konzepte für Ressourcen und Controller herangezogen. Allerdings sind auch domain- oder anwendungsspezifische Kenntnisse zur Automatisierung des gesamten Lifecycles der verwalteten Software erforderlich. 

In Kubernetes werden von Controllern der Control Plane Kontrollschleifen implementiert, die den gewünschten und aktuellen Status des Clusters wiederholt miteinander vergleichen. Wenn der aktuelle Status des Clusters nicht mit dem gewünschten Status übereinstimmt, ergreift der Controller Maßnahmen zur Problembehebung. 

Ein Operator ist ein benutzerdefinierter Kubernetes-Controller, der Custom Resources (CR) zur Verwaltung von Anwendungen und der zugehörigen Komponenten verwendet. Allgemeine Konfiguration und Einstellungen werden vom Nutzer in einer CR bereitgestellt. Der Kubernetes Operator übersetzt die allgemeinen Anweisungen basierend auf den in seiner Logik eingebetteten Best Practices in einzelne Aktionen.

Custom Resources sind die API-Erweiterungsmechanismen in Kubernetes. Eine Custom Resource Definition (CRD) definiert eine CR und listet alle für den Nutzer des Operators verfügbaren Konfigurationen auf. 

Der Kubernetes Operator überwacht den CR-Typ und leitet anwendungsspezifische Aktionen ein, um den aktuellen Status der Ressource an den gewünschten Status anzupassen.

Mithilfe von Kubernetes Operators werden neue Objekttypen in Form von Custom Resource Definitions bereitgestellt. Custom Resource Definitions können mit der Kubernetes-API wie integrierte Objekte behandelt werden, inklusive der Interaktion via kubectl und der Integration in RBCA-Richtlinien (Role-based Access Control).

Kubernetes Operators überwachen Anwendungen während ihrer Ausführung und können automatisch Daten sichern, das System nach Fehlern wiederherstellen und Anwendungen kontinuierlich upgraden. 

Mit einem Kubernetes Operator lassen sich praktisch alle erdenklichen Aktionen durchführen: die Skalierung komplexer Apps, Upgrades der Anwendungsversion und sogar die Verwaltung von Kernel-Modulen für Knoten in einem Computing-Cluster mit spezialisierter Hardware.

Erfahren Sie mehr über die Funktionsweise von Kubernetes Operators, darunter praktische Beispiele, und wie man sie mithilfe des Operator Frameworks und Software Development Kits erstellt.

Das Operator Framework ist ein Open Source-Projekt mit Entwickler- und Runtime-Tools für Kubernetes, mit denen Sie die Entwicklung eines Operators beschleunigen können.

Das Operator Framework umfasst Folgendes:

  • Operator-SDK: Ermöglicht Entwicklern die Erstellung von Operators basierend auf ihrem Fachwissen, ohne dass sie sich mit der Komplexität der Kubernetes-API auskennen müssen.
  • Operator Lifecycle Management: Überwacht Installation, Updates und Verwaltung des Lifecycles aller in einem Kubernetes-Cluster ausgeführten Operators.
  • Operator-Messung: Ermöglicht Nutzungsberichte für Operators, die spezielle Services bereitstellen.

Red Hat® OpenShift® ist eine unternehmensgerechte Kubernetes-Container-Plattform, auf der Operationen für den gesamten Stack automatisiert werden, um Hybrid Clouds und Multi-Clouds noch einfacher verwalten zu können.

Red Hat OpenShift nutzt Kubernetes Operators für die autonome Ausführung der gesamten Plattform und legt gleichzeitig die Konfiguration nativ über Kubernetes-Objekte offen, was wiederum eine schnelle Installation und häufige, robuste Updates ermöglicht. 

In Red Hat OpenShift enthalten ist der eingebettete OperatorHub, eine Registry mit zertifizierten Operators von Softwareanbietern und Open Source-Projekten. Innerhalb des OperatorHub können Sie eine Bibliothek von Operators durchsuchen und installieren, die mit Red Hat OpenShift kompatibel sind und zwecks einfachem Lifecycle-Management paketiert wurden.

Weiterlesen

ARTIKEL

Vergleich zwischen Containern und VMs

Linux-Container und virtuelle Maschinen (VMs) sind paketierte Computing-Umgebungen, die verschiedene IT-Komponenten vereinen und vom Rest des Systems isolieren.

ARTIKEL

Was ist Container-Orchestrierung?

Mithilfe der Container-Orchestrierung werden Deployment, Management, Skalierung und Vernetzung von Containern automatisiert.

ARTIKEL

Was ist ein Linux-Container?

Ein Linux-Container besteht aus Prozessen, die vom System isoliert sind und auf einem eigenen Image ausgeführt werden, das alle benötigten Dateien zur Unterstützung der Prozesse bereitstellt.

Mehr über Container erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Unternehmensanwendungen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Ressourcen

Training

Kostenloser Trainingskurs

Running Containers with Red Hat Technical Overview

Kostenloser Trainingskurs

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Kostenloser Trainingskurs

Developing Cloud-Native Applications with Microservices Architectures