Zustandsorientierte Arbeitslasten aktualisieren

In diesem Dokument wird beschrieben, wie Sie vorhandene zustandsorientierte Arbeitslasten aktualisieren, die in einem GDC-Kubernetes-Cluster (Google Distributed Cloud) mit Air Gap ausgeführt werden. Wenn sich Ihre Anwendung aufgrund von 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 in der Kubernetes-Dokumentation unter Aktualisierungsstrategien.

Dieses Dokument richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die für die Aktualisierung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Zum Ausführen der Aufgaben in diesem Dokument müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.

IAM-Rollen anfordern

Sie benötigen bestimmte Rollen, um die Berechtigungen zum Aktualisieren zustandsorientierter Arbeitslasten zu erhalten. Welche Rollen Sie benötigen, hängt davon ab, ob Sie in einem freigegebenen Cluster auf Organisationsebene oder in einem Standardcluster auf Projektebene arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.

Freigegebene Clusterrollen

Bitten Sie Ihren IAM-Projektadministrator, Ihnen die Rolle Namespace-Administrator (namespace-admin) zuzuweisen, um Arbeitslasten in einem freigegebenen Cluster zu erstellen, zu löschen, zu bearbeiten oder anzusehen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.

Standardclusterrollen

Bitten Sie den IAM-Projektadministrator, Ihnen die Rolle Cluster-Entwickler (cluster-developer) zuzuweisen, um Arbeitslasten in einem Standardcluster zu erstellen, zu löschen, zu bearbeiten oder anzusehen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.

Umgebung vorbereiten

Wenn Sie Befehle für einen Kubernetes-Cluster über die API ausführen möchten, benötigen Sie die folgenden Ressourcen:

  • Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Plattformadministratorgruppe nach dem Clusternamen.

  • Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.

  • Ersetzen Sie KUBERNETES_CLUSTER_KUBECONFIG in dieser Anleitung durch den kubeconfig-Pfad des Kubernetes-Clusters.

StatefulSet-Ressource aktualisieren

Wenn Sie die StatefulSet aktualisieren möchten, wenden Sie eine neue oder aktualisierte Manifestdatei an. Dies ist nützlich, um beim Skalieren verschiedene Änderungen an Ihrer StatefulSet vorzunehmen oder eine neue Version Ihrer Anwendung anzugeben.

Führen Sie folgenden Befehl aus, um ein StatefulSet-Objekt zu aktualisieren:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    apply -f STATEFULSET_FILE

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • STATEFULSET_FILE: der Name der aktualisierten StatefulSet-Manifestdatei.

Der Befehl kubectl apply weist einer Ressource eine Manifestdatei zu. Wenn die angegebene Ressource nicht vorhanden ist, wird sie mit dem Befehl erstellt.

Roll-out eines StatefulSet-Ressourcenupdates prüfen

Sie können detaillierte Informationen zum Roll-out-Status und zum Verlauf eines StatefulSet-Objekts aufrufen. Sie können auch ein Roll-out eines StatefulSet-Objekts rückgängig machen.

Roll-out prüfen

Führen Sie den folgenden Befehl aus, um den Roll-out der Ressource StatefulSet zu prüfen:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout status statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • STATEFULSET_NAME: der Name des aktualisierten StatefulSet-Objekts.

Roll-out-Verlauf abrufen

Führen Sie folgenden Befehl aus, um den Roll-out-Verlauf der Ressource StatefulSet aufzurufen:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout history statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • STATEFULSET_NAME: der Name des aktualisierten StatefulSet-Objekts.

Roll-out rückgängig machen

Führen Sie folgenden Befehl aus, um ein Roll-out rückgängig zu machen:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout undo statefulset STATEFULSET_NAME

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem die zustandsorientierten Arbeitslasten ausgeführt werden.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • STATEFULSET_NAME: der Name des StatefulSet-Objekts.

Nächste Schritte