Auf dieser Seite wird beschrieben, wie Sie vorhandene zustandsorientierte Arbeitslasten aktualisieren, die in einem Kubernetes-Cluster einer Google Distributed Cloud (GDC)-Appliance mit Air Gap ausgeführt werden. Da sich Ihre Anwendung basierend auf der Ressourcennutzung und Konfigurationsoptimierungen weiterentwickelt, müssen Sie die zugrunde liegende Pod-Spezifikation im Kubernetes-Cluster aktualisieren, um diese Änderungen an der Arbeitslast widerzuspiegeln. Weitere Informationen zum Planen von Updates für zustandsorientierte Arbeitslasten finden Sie unter der Kubernetes-Dokumentation für Aktualisierungsstrategien.
Diese Seite richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die für die Aktualisierung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind.
Hinweis
Um die Aufgaben in diesem Dokument auszuführen, müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Wenn Sie zustandsorientierte Arbeitslasten in einem Kubernetes-Cluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle Namespace-Administrator (namespace-admin) zu gewähren. Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Umgebung vorbereiten
Wenn Sie Befehle für den vorkonfigurierten Bare-Metal-Kubernetes-Cluster ausführen möchten, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie Ihren Plattformadministrator nach dem Clusternamen.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster, falls Sie noch keine haben.
Ersetzen Sie in dieser Anleitung
CLUSTER_KUBECONFIGdurch den kubeconfig-Pfad des Kubernetes-Clusters.
StatefulSet-Ressource aktualisieren
Wenn Sie das StatefulSet aktualisieren möchten, wenden Sie eine neue oder aktualisierte Manifestdatei an. Dies ist hilfreich, um verschiedene Änderungen an Ihrem StatefulSet vorzunehmen, z. B. zum Skalieren oder zum Angeben einer neuen Version Ihrer Anwendung.
Führen Sie den folgenden Befehl aus, um ein StatefulSet-Objekt zu aktualisieren:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f STATEFULSET_FILE
Ersetzen Sie Folgendes:
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.NAMESPACE: der Projekt-Namespace.STATEFULSET_FILE: der Name der aktualisiertenStatefulSet-Manifestdatei.
Der Befehl kubectl apply weist einer Ressource eine Manifestdatei zu. Wenn die angegebene Ressource nicht vorhanden ist, wird sie mit dem Befehl erstellt.
Rollout für die Aktualisierung einer StatefulSet-Ressource prüfen
Sie können detaillierte Informationen zum Rollout-Status und -Verlauf der Aktualisierung eines StatefulSet-Objekts aufrufen. Sie können auch ein Rollout eines StatefulSet-Objekts rückgängig machen.
Rollout prüfen
Führen Sie den folgenden Befehl aus, um das Rollout der StatefulSet-Ressource zu prüfen:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
rollout status statefulset STATEFULSET_NAME
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.NAMESPACE: der Projekt-Namespace.STATEFULSET_NAME: der Name des aktualisiertenStatefulSet-Objekts.
Rollout-Verlauf abrufen
Führen Sie den folgenden Befehl aus, um den Rollout-Verlauf der StatefulSet-Ressource aufzurufen:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
rollout history statefulset STATEFULSET_NAME
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.NAMESPACE: der Projekt-Namespace.STATEFULSET_NAME: der Name des aktualisiertenStatefulSet-Objekts.
Rollout rückgängig machen
Führen Sie den folgenden Befehl aus, um ein Rollout rückgängig zu machen:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
rollout undo statefulset STATEFULSET_NAME
Ersetzen Sie Folgendes:
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.NAMESPACE: der Projekt-Namespace.STATEFULSET_NAME: der Name desStatefulSet-Objekts.