Auf dieser Seite wird beschrieben, wie Sie vorhandene zustandslose Arbeitslasten aktualisieren, die in einem GDC-Kubernetes-Cluster (Google Distributed Cloud) mit Air Gap ausgeführt werden. Wenn sich Ihre Anwendung aufgrund der Ressourcennutzung und Konfigurationsoptimierungen weiterentwickelt, müssen Sie die zugrunde liegende Pod-Spezifikation im Kubernetes-Cluster aktualisieren, um diese Änderungen an der Arbeitslast widerzuspiegeln.
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 zustandslose Arbeitslasten in einem Kubernetes-Cluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie den IAM-Administrator Ihrer Organisation, Ihnen die Rolle Namespace-Administrator (namespace-admin) zuzuweisen. 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.
Bereitstellung aktualisieren
Führen Sie Folgendes aus, um ein Deployment-Objekt zu aktualisieren:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f DEPLOYMENT_FILE
Ersetzen Sie Folgendes:
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die Bereitstellung ausgeführt wird.NAMESPACE: der Projekt-Namespace.DEPLOYMENT_FILE: der Name derDeployment-Manifestdatei, die aktualisiert werden soll.
Der Befehl kubectl apply weist einer Ressource eine Manifestdatei zu. Wenn die angegebene Ressource nicht vorhanden ist, wird sie mit dem Befehl erstellt.
Es gibt auch mehrere andere Möglichkeiten, Ressourcen in Ihrer Bereitstellung zu aktualisieren.
Container-Image aktualisieren
Führen Sie Folgendes aus, um das Image eines Deployment-Objekts zu ändern:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
set image deployment DEPLOYMENT_NAME \
IMAGE=IMAGE:TAG
Ersetzen Sie Folgendes:
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die Bereitstellung ausgeführt wird.NAMESPACE: der Projekt-Namespace.DEPLOYMENT_NAME: der Name desDeployment-Objekts, das das Image enthält.IMAGE: der Name des Container-Images.TAG: das Tag, das für das Container-Image aktualisiert werden soll.
Das Aktualisieren des Images einer Bereitstellung ist nützlich, um Auswahlfelder oder Ressourcen wie Anfragen oder Limits zu ändern.
Führen Sie beispielsweise Folgendes aus, um ein Deployment-Objekt mit dem Namen nginx so zu aktualisieren, dass Version 1.9.1 verwendet wird:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
set image deployment nginx nginx=nginx:1.9.1
Rollback für ein Update ausführen
Wenn Sie ein Update zurücksetzen möchten, z. B. wenn Ihre Bereitstellung instabil wird, verwenden Sie die kubectl-CLI. Der Bereitstellungsverlauf eines Deployment-Objekts wird im System gespeichert, sodass Sie jederzeit ein Rollback durchführen können.
Führen Sie Folgendes aus, um ein laufendes oder abgeschlossenes Update auf die vorherige Version zurückzusetzen:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME
Ersetzen Sie Folgendes:
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die Bereitstellung ausgeführt wird.NAMESPACE: der Projekt-Namespace.DEPLOYMENT_NAME: der Name desDeployment-Objekts, für das ein Rollback durchgeführt werden soll.
Führen Sie Folgendes aus, um ein Rollback zu einer bestimmten Überarbeitung durchzuführen:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME \
--to-revision=REVISION_NUMBER
Ersetzen Sie Folgendes:
CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Kubernetes-Cluster, auf dem die Bereitstellung ausgeführt wird.NAMESPACE: der Projekt-Namespace.DEPLOYMENT_NAME: der Name desDeployment-Objekts, für das ein Rollback durchgeführt werden soll.REVISION_NUMBER: die Ganzzahl, die die Überarbeitung definiert, zu der ein Rollback ausgeführt werden soll, z. B.3.