Überblick
Red Hat® OpenShift® Operatoren automatisieren das Erstellen, Konfigurieren und Verwalten von Kubernetes-nativen Anwendungen. Sie verwenden benutzerdefinierte Ressourcendefinitionen, automatisierte Problembehebung und Endlosschleifen, um YAML-Dateien zu konfigurieren. Red Hat OpenShift verwendet Operatoren, um die Anwendungsplattform autonom auszuführen und gleichzeitig die Konfiguration nativ über Kubernetes-Objekte bereitzustellen, was eine schnelle Installation und häufige, robuste Updates ermöglicht.
Operatoren ermöglichen Automatisierung auf den verschiedenen Ebenen des Stacks – von der Verwaltung der Teile, aus denen die Plattform besteht, bis hin zu Anwendungen, die als gemanagter Service bereitgestellt werden. Zusätzlich zu den Automatisierungsvorteilen von Operatoren für das Management der Plattform können Sie mit Red Hat OpenShift die auf Ihren Clustern ausgeführten Operatoren einfacher suchen, installieren und verwalten.
Red Hat OpenShift umfasst den Embedded OperatorHub, eine Registry mit zertifizierten Operatoren von Softwareanbietern und Open Source-Projekten. Im Embedded OperatorHub können Sie eine Library mit Operatoren durchsuchen und Operatoren installieren, die für die Verwendung mit Red Hat OpenShift verifiziert und für ein einfaches Lifecycle Management paketiert wurden.
Was ist ein Kubernetes Operator?
Ein Kubernetes Operator ist eine Methode zur Paketierung, Bereitstellung und Verwaltung einer Kubernetes-nativen Anwendung. Eine Kubernetes-native Anwendung ist eine Anwendung, die sowohl auf Kubernetes bereitgestellt als auch mit den Kubernetes-APIs und den kubectl-Tools verwaltet wird.
Ein Operator ist im Grunde genommen ein benutzerdefinierter Controller.
Ein Controller ist ein Kernkonzept in Kubernetes und wird als Softwareschleife implementiert, die kontinuierlich auf den Kubernetes-Master Nodes ausgeführt wird und den gewünschten Zustand mit dem aktuellen Zustand eines Objekts vergleicht und bei Bedarf abgleicht. Objekte sind bekannte Ressourcen wie Pods, Services, ConfigMaps oder PersistentVolumes. Operatoren wenden dieses Modell auf der Ebene ganzer Anwendungen an und sind sozusagen anwendungsspezifische Controller.
Der Operator ist eine Software, die in einem Pod auf dem Cluster ausgeführt wird und mit dem Kubernetes-API-Server interagiert. Er führt neue Objekttypen über Custom Resource Definitions, einen Erweiterungsmechanismus in Kubernetes, ein. Diese benutzerdefinierten Objekte sind die primäre Schnittstelle für Nutzende und konsistent mit dem ressourcenbasierten Interaktionsmodell auf dem Kubernetes-Cluster.
Ein Operator überwacht diese benutzerdefinierten Ressourcentypen und wird über ihre Verfügbarkeit oder Änderung benachrichtigt. Sobald der Operator diese Benachrichtigung erhält, beginnt er damit, eine Schleife auszuführen, um dafür zu sorgen, dass alle erforderlichen Verbindungen für den Anwendungsservice, der durch diese Objekte dargestellt wird, tatsächlich verfügbar und gemäß der Beschreibung des Nutzenden in der Spezifikation des Objekts konfiguriert sind.
Red Hat Ressourcen
Was ist das Operator-Framework?
Das Operator-Framework ist ein Open Source-Projekt, das Entwicklungs- und Cluster-Administrationsteams die erforderlichen Tools bietet, um die Entwicklung und Bereitstellung eines Operators zu beschleunigen.
Das Projekt umfasst das Operator-SDK (Software Development Kit) für die Entwicklung von Kubernetes-Anwendungen, ein Management-Framework zur Erweiterung von Kubernetes mit Operatoren sowie einen Katalog vorhandener Operatoren aus der Kubernetes-Community.
Built-Operatoren
Community-Operatoren
Mit dem Zugriff auf Community-Operatoren können Entwicklungs- und Cluster-Administrationsteams Operatoren mit verschiedenen Reifegraden testen, die mit einem beliebigen Kubernetes funktionieren. Sehen Sie sich die Community-Operatoren auf OperatorHub.io an.
Certified Operators
Mit den im Embedded OperatorHub verfügbaren Red Hat OpenShift Certified Operators haben Entwicklungs- und Cluster-Administrationsteams Zugriff auf eine Library mit Workloads „as a Service“, die für Red Hat OpenShift verifiziert sind und von Red Hat und seinen Partnern unterstützt werden.
Entwickeln mit dem Operator-SDK
Das Operator-SDK bietet die Tools, mit denen Sie Operatoren erstellen, testen und paketieren können. Das SDK entfernt einen Großteil des Boilerplate-Codes, der normalerweise für die Integration mit der Kubernetes-API erforderlich ist. Darüber hinaus bietet es ein brauchbares Gerüst, damit Entwicklungsteams sich auf das Hinzufügen von Geschäftslogik konzentrieren können (beispielsweise darauf, wie sie die gemanagte Anwendung skalieren, aktualisieren oder sichern können). Führende Praktiken und Codemuster, die von den Operatoren gemeinsam genutzt werden, sind im SDK enthalten, um doppelten Aufwand zu vermeiden. Das SDK fördert darüber hinaus kurze, iterative Entwicklungs- und Testzyklen mit Tools, die eine grundlegende Validierung des Operators sowie eine automatisierte Paketierung für das Deployment mit dem Operator Lifecycle Manager ermöglichen.

Paketieren mit dem Operator Lifecycle Manager
Der Operator Lifecycle Manager (OLM) ist die Backplane, mit der die Verwaltung von Operatoren auf einem Kubernetes-Cluster erleichtert wird. Operatoren, die gängige Anwendungen als Service bereitstellen, sind langlebige Workloads mit möglicherweise zahlreichen Berechtigungen auf dem Cluster.
Mit OLM können Administrationsteams steuern, welche Operatoren in welchen Namespaces verfügbar sind, und wer mit ausgeführten Operatoren interagieren kann. Die Berechtigungen eines Operators werden automatisch entsprechend eines Least Privilege-Ansatzes korrekt konfiguriert. OLM verwaltet den gesamten Lifecycle von Operatoren und deren Ressourcen, indem beispielsweise Abhängigkeiten von anderen Operatoren aufgelöst werden, Updates für einen Operator und die von ihm verwaltete Anwendung ausgelöst werden oder einem Team Zugriff auf einen Operator für seinen Anteil am Cluster gewährt wird.
Einfache, zustandslose Anwendungen können die Lifecycle Management-Features des Operator-Frameworks mit einem generischen Operator (z. B. Helm-Operator) nutzen, ohne Code schreiben zu müssen. In komplexen und zustandsbehafteten Anwendungen kann ein Operator jedoch besonders nützlich sein. Die im Operator-Code codierten Funktionen für gemanagte Services können ein erweitertes Benutzererlebnis bieten und Features wie Updates, Backups und Skalierung automatisieren.
Videoüberblick über die Funktionsweise von Operatoren und Helm ansehen

Messen mit Operator Metering
Mit den Metering-Erweiterungen erhalten IT-Teams eine bessere Kontrolle über ihre Budgets, während Softwareanbieter die Nutzung ihrer kommerziellen Software leichter nachverfolgen können. Operator Metering ist darauf ausgelegt, die CPU- und Arbeitsspeicherberichte des Clusters einzubeziehen sowie IaaS-Kosten und benutzerdefinierte Metriken wie die Lizenzierung zu berechnen.
Beschleunigte App-Entwicklung mit Red Hat OpenShift
Erfahren Sie, wie Ihr Unternehmen mit Red Hat OpenShift traditionelle und KI-gestützte Workloads sicher und konform entwickeln, beschleunigen und skalieren kann.