In diesem Dokument wird beschrieben, wie Sie die Kubernetes-Version eines GDC-Kubernetes-Clusters (Google Distributed Cloud) mit Air Gap aktualisieren. Sie müssen regelmäßige Upgrades für Ihre Cluster planen, damit sie die neuesten Kubernetes-Funktionen und ‑Korrekturen enthalten.
Dieses Dokument richtet sich an Zielgruppen wie IT-Administratoren, Sicherheitsexperten und Netzwerkadministratoren in der Gruppe der Plattformadministratoren, die für die Verwaltung von Kubernetes-Ressourcen in ihrer Organisation verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Hinweise
Installieren Sie die kubectl-Befehlszeile. Weitere Informationen finden Sie unter Komponenten installieren.
Generieren Sie eine kubeconfig-Datei für den Management API-Server in Ihrer Zielzone. Weitere Informationen finden Sie unter Zonale Kubernetes-Clusterressourcen.
Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle User Cluster Admin (
user-cluster-admin) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Auflisten der verfügbaren Upgradeversionen benötigen.Wenn Sie einen Standardcluster verwalten und die Rolle „Nutzercluster-Administrator“ nicht von Ihrer Plattformadministratorgruppe erhalten können, müssen Sie den Plattformadministrator bitten, Ihnen die Liste der verfügbaren Kubernetes-Upgradeversionen zur Verfügung zu stellen.
Bitten Sie den IAM-Administrator Ihrer Organisation, Ihnen die Rolle Standard Cluster Admin (
standard-cluster-admin) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines Clusterupgrades benötigen.
Kubernetes-Cluster aktualisieren
Verwenden Sie die UserClusterUpgradeRequest API, um ein Upgrade für einen vorhandenen Kubernetes-Cluster durchzuführen.
So führen Sie ein Upgrade für einen Kubernetes-Cluster mit der API durch:
Listen Sie die verfügbaren Kubernetes-Upgradeversionen auf, indem Sie den
kubernetesVersion-Wert derUserClusterMetadata-Objekte ausgeben:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get userclustermetadata -o=custom-columns='TARGET_VERSION:.spec.kubernetesVersion'Ersetzen Sie
MANAGEMENT_API_SERVERdurch den Pfad zur kubeconfig-Datei des Management-API-Servers.Der Befehl gibt eine Liste der verfügbaren Kubernetes-Versionen zurück:
TARGET_VERSION 1.30.1000-gke.85Notieren Sie sich die Kubernetes-Version aus der vorherigen Ausgabe, auf die Sie Ihren Cluster aktualisieren möchten. Die
targetVersion, die Sie im nächsten Schritt im Upgradeantrag angeben, muss eine dieser verfügbaren Versionen sein.Fordern Sie das Cluster-Upgrade an, indem Sie eine
UserClusterUpgradeRequest-Ressource erstellen:kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF apiVersion: cluster.gdc.goog/v1 kind: UserClusterUpgradeRequest metadata: name: CLUSTER_NAME namespace: CLUSTER_NAMESPACE spec: clusterRef: name: CLUSTER_NAME targetVersion: TARGET_VERSION EOFErsetzen Sie Folgendes:
MANAGEMENT_API_SERVER: der Pfad zur kubeconfig-Datei des Management-API-Servers.CLUSTER_NAME: Der Name des Kubernetes-Clusters, der aktualisiert werden soll, z. B.user-vm-2.CLUSTER_NAMESPACE: der Namespace des Kubernetes-Clusters. Verwenden Sie für gemeinsam genutzte Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.TARGET_VERSION: Die im vorherigen Schritt identifizierte Zielversion für das Upgrade, z. B.1.30.1000-gke.85.
Die durchschnittliche Upgradezeit für einen Kubernetes-Cluster beträgt etwa 20 Minuten.
Prüfen Sie das Clusterupgrade, indem Sie die
UserClusterUpgradeRequest-Ressource beobachten:kubectl --kubeconfig MANAGEMENT_API_SERVER \ describe userclusterupgraderequest CLUSTER_NAME \ -n CLUSTER_NAMESPACEErsetzen Sie Folgendes:
MANAGEMENT_API_SERVER: der Pfad zur kubeconfig-Datei des Management-API-Servers.CLUSTER_NAME: Der Name des Kubernetes-Clusters, der aktualisiert werden soll, z. B.user-vm-2.CLUSTER_NAMESPACE: der Namespace des Kubernetes-Clusters. Verwenden Sie für gemeinsam genutzte Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.
Sehen Sie sich den Abschnitt
Specder Ausgabe an. Sie enthältCurrent VersionundTarget Version. Das Upgrade läuft noch, wenn sichCurrent VersionundTarget Versionunterscheiden.Spec: ... Current Version: 1.29.500-gke.60 Target Version: 1.30.1000-gke.85 Status: Conditions: - Message: Upgrade is in progress Reason: UpgradeInProgress Status: "False" Type: SucceededDie Umstellung ist abgeschlossen und erfolgreich, wenn die Bedingung
Succeededden StatusTruehat undCurrent VersionmitTarget Versionübereinstimmt.Wenn die Bedingung
Succeededden StatusFalsehat, ist das Upgrade fehlgeschlagen. Wenn Fehler im Zusammenhang mit dem Upgrade Ihres Kubernetes-Clusters auftreten, wenden Sie sich an die Gruppe der Infrastrukturbetreiber.
Cluster-Unterkomponenten nach dem Upgrade prüfen
Nachdem Ihr Kubernetes-Cluster erfolgreich aktualisiert wurde, empfehlen wir, zu prüfen, ob alle Unterkomponenten des Clusters fehlerfrei sind.
So prüfen Sie, ob in Ihrem Cluster Fehler bei Unterkomponenten vorliegen:
Prüfen Sie, ob für Unterkomponenten die Meldung
ReconciliationErrorangezeigt wird:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get subcomponent -n CLUSTER_NAME -o json | jq -r \ '.items[] | select(.status.conditions[]?.reason == "ReconciliationError") | select(.status.featureDisabled != true) | "Sub-Component: \(.metadata.name) - \(.status.conditions[]?.message)"'Wenn in der Ausgabe Unterkomponenten zurückgegeben werden, wenden Sie sich an Ihre Infrastrukturbetreibergruppe, um weitere Unterstützung zu erhalten.
Prüfen Sie, ob für Unterkomponenten die Meldung
Reconcilingangezeigt wird:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get subcomponent -n CLUSTER_NAME -o json | jq -r \ '.items[] | select(.status.conditions[]?.reason == "Reconciling") | select(.status.featureDisabled != true) | select( "\(.status)" | contains("PreinstallPending") | not) | "Sub-Component: \(.metadata.name) - \(.status.conditions[]?.message)"'Bei Kubernetes-Clustern mit drei Knoten für die Steuerungsebene und drei Worker-Knoten dauert das Upgrade etwa 20 Minuten. Wenn nach 20 Minuten immer noch Unterkomponenten im Status
Reconcilingangezeigt werden, wenden Sie sich an Ihre Infrastrukturbetreibergruppe.