php-Editor Xiaoxin ist hier, um Ihnen vorzustellen, wie Sie einen Kubernetes-Operator für fortlaufende Updates erstellen. Ein Kubernetes-Operator ist ein benutzerdefinierter Controller, der die Funktionen der Kubernetes-Plattform erweitert. Rolling Updates sind eine Möglichkeit, eine Anwendung schrittweise zu aktualisieren, ohne den Dienst zu unterbrechen. Indem wir einen Operator speziell für fortlaufende Updates erstellen, können wir Upgrades und Rollbacks der Anwendung flexibler verwalten. In diesem Artikel werden die grundlegenden Schritte zum Aufbau eines Kubernetes-Operators vorgestellt und ausführlich erläutert, wie die Rolling-Update-Funktion implementiert wird. Lass uns genauer hinschauen!
Ich habe eine Kubernetes-Anwendung erstellt (z. B. D1 bereitstellen, mit Docker-Image I1), die auf einem Client-Cluster ausgeführt wird.
Anforderung 1:
Jetzt möchte ich jedes Mal, wenn ich mein Docker-Image I1 aktualisiere, ein fortlaufendes Update durchführen, ohne dass es auf der Client-Seite zu einem Aufwand kommt (Irgendwie sollte der Client-Cluster automatisch das neueste Docker-Image abrufen)
Anforderung 2:
Immer wenn ich eine bestimmte configMap aktualisiere, sollte der Client-Cluster automatisch mit der Verwendung der neuen configMap beginnen
Wie soll ich dieses Ziel erreichen?
Ich habe gehört, dass der k8s-Operator nützlich ist
Beginnen Sie mit Anforderung 2:
Immer wenn ich eine bestimmte configMap aktualisiere, sollte der Client-Cluster dies tun Beginnen Sie automatisch mit der Verwendung der neuen configMap
Wenn die Konfigurationszuordnung in der Bereitstellung installiert ist, wird sie automatisch aktualisiert. Wenn sie jedoch als Umgebungsneustart eingefügt wird, besteht die einzige Option darin, es sei denn, Sie verwenden eine Sidecar-Lösung oder starten den Prozess neu.
Referenz: Konfigurationskarte aktualisieren, ohne POD neu zu starten
Wie soll ich das erreichen?
Kubernetes-Cronjobs nutzen?
Auf welcher Seite werden Sie Ihre Cronjobs ausführen? Wenn es ein Kunde ist, ist es das Auch so.
Andernfalls können Sie die bereitgestellte API verwenden, um die Bereitstellung fortzusetzen, wodurch der Job ausgeführt wird Wenn Sie ein Image übertragen, aktualisieren Sie die Bereitstellung mit dem neuesten Tag zu Ihrer Docker-Registrierung.
Kubernetes-Betreiber?
oder etwas anderes?
Wenn Sie nur die Bereitstellung aktualisieren, die API in einer Bereitstellung oder einem Job ausführen möchten, können Sie dies auf kontrollierte Weise planen und es wird keine Probleme mit dem Operator geben, es handelt sich um ein eher natives Problem, wenn Sie dies tun Wenn Sie eine Methode erstellen, verwalten und bereitstellen können, ist dies eine gute Möglichkeit.
Wenn Sie in Zukunft alle Ihre Cluster (Bereitstellungen, Dienste, Firewalls, Netzwerke) über mehrere Clients hinweg von einer einzigen Quelle der Wahrheit aus verwalten müssen, können Sie Anthos erkunden.
Konfigurationsverwaltung Antos für Git-Repository-Synchronisierung
Das obige ist der detaillierte Inhalt vonAufbau eines Kubernetes-Operators für fortlaufende Updates. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!