In diesem Dokument wird beschrieben, wie Sie die Kubernetes-Version eines GDC-Kubernetes-Clusters (Google Distributed Cloud) mit Air Gap aktualisieren. Sie müssen routinemäßige Upgrades für Ihre Cluster planen, damit sie die neuesten Kubernetes-Features und -Fehlerkorrekturen enthalten.
Dieses Dokument richtet sich an Zielgruppen wie IT-Administratoren, Sicherheitstechniker und Netzwerkadministratoren innerhalb der Plattformadministratorgruppe, 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.
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 zu erhalten, die Sie für ein Upgrade Ihres Kubernetes-Clusters benötigen. Sie müssen Rollen anfordern, die auf Ihr Projekt und Ihre Organisation beschränkt sind.
Organisationsrollen
Bitten Sie Ihren IAM-Organisationsadministrator, Ihnen die Rolle User Cluster Admin (user-cluster-admin) zuzuweisen, um die verfügbaren Upgradeversionen für einen Kubernetes-Cluster aufzulisten. Diese Rolle ist nicht an einen Namespace gebunden.
Wenn Sie einen Standardcluster verwalten und die Rolle „User Cluster Admin“ nicht von Ihrer Plattformadministratorgruppe erhalten können, müssen Sie diese bitten, Ihnen die Liste der verfügbaren Kubernetes-Upgrade-Versionen zur Verfügung zu stellen.
Projektrollen
Bitten Sie Ihren IAM-Projektadministrator, Ihnen die Rolle Standard-Cluster-Administrator (standard-cluster-admin) zuzuweisen, um Clusterupgrades 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:
Laden Sie die gdcloud CLI herunter und installieren Sie sie.
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Plattformadministratorgruppe nach dem Clusternamen.
Ersetzen Sie
CLUSTER_NAMEin dieser Anleitung durch den Namen des Kubernetes-Clusters.Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server.
Ersetzen Sie
MANAGEMENT_API_SERVERin dieser Anleitung durch den kubeconfig-Pfad des Verwaltungs-API-Servers.
Kubernetes-Cluster aktualisieren
Verwenden Sie die UserClusterUpgradeRequest API, um ein Upgrade für einen vorhandenen Kubernetes-Cluster durchzuführen.
So aktualisieren Sie einen Kubernetes-Cluster mithilfe der API:
Listen Sie die verfügbaren Kubernetes-Upgrade-Versionen auf, indem Sie den Wert
kubernetesVersionderUserClusterMetadata-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 Verwaltungs-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 in der Upgradeanfrage angeben, muss eine dieser verfügbaren Versionen sein.Fordern Sie das Clusterupgrade 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 Verwaltungs-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 freigegebene Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.TARGET_VERSION: die Zielversion für das Upgrade, die im vorherigen Schritt identifiziert wurde, 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 Ressource
UserClusterUpgradeRequestüberwachen:kubectl --kubeconfig MANAGEMENT_API_SERVER \ describe userclusterupgraderequest CLUSTER_NAME \ -n CLUSTER_NAMESPACEErsetzen Sie Folgendes:
MANAGEMENT_API_SERVER: der Pfad zur kubeconfig-Datei des Verwaltungs-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 freigegebene 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 wird noch ausgeführt, 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: SucceededDas Upgrade 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, um weitere Unterstützung zu erhalten.
Clusterstatus nach dem Upgrade prüfen
Prüfen Sie nach dem Upgrade des Kubernetes-Clusters, ob der Cluster und seine Komponenten fehlerfrei sind. Prüfen Sie dazu den Ressourcenstatus von Cluster:
Sehen Sie sich die Felder
status.conditionsundstatus.componentsConditionsder RessourceClusteran:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get cluster CLUSTER_NAME \ -n CLUSTER_NAMESPACE -o yamlErsetzen Sie Folgendes:
MANAGEMENT_API_SERVER: der Pfad zur kubeconfig-Datei des Verwaltungs-API-Servers.CLUSTER_NAME: der Name des Kubernetes-Clusters, z. B.user-vm-2.CLUSTER_NAMESPACE: der Namespace des Kubernetes-Clusters. Verwenden Sie für freigegebene Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.
Prüfen Sie in der Ausgabe im Abschnitt
statusFolgendes:- Prüfen Sie in
status.conditions, ob die BedingungReadydenstatusTrueund die BedingungReconcilingdenstatusFalsehat. - Prüfen Sie in
status.componentsConditions, ob die BedingungReadydenstatusTruehat, die BedingungReconcilingdenstatusFalsehat und keine Bedingung denreasonReconciliationErroroderReconcilinghat.
Bei Kubernetes-Clustern mit drei Knoten der Steuerungsebene und drei Worker-Knoten dauert das Upgrade etwa 20 Minuten. Wenn der Cluster oder seine Komponenten nach 20 Minuten im Status
Reconcilingverbleiben oder wenn eine BedingungReconciliationErroranzeigt, wenden Sie sich an Ihre Infrastrukturbetreibergruppe, um weitere Unterstützung zu erhalten.- Prüfen Sie in