Sie betrachten die Dokumentation für eine frühere Version von GKE On-Prem. Sehen Sie sich die aktuelle Dokumentation an.

Upgrade von GKE On-Prem

In diesem Thema wird erläutert, wie Sie GKE On-Prem aktualisieren.

Wenn Sie ein Upgrade für GKE On-Prem machen möchten, führen Sie ein Upgrade von Ihrer Administrator-Workstation. Anschließend machen Sie ein Upgrade Ihrer Cluster.

Hinweise

Lesen Sie außerdem die folgenden Punkte:

Informationen zu Ausfallzeiten bei Upgrades

Resource Beschreibung
Administratorcluster

Wenn ein Administratorcluster ausfällt, werden die Steuerungsebenen und Arbeitslasten von Nutzerclustern weiterhin ausgeführt, es sei denn, sie sind von einem Fehler betroffen, der die Ausfallzeit verursacht hat

Steuerungsebene des Nutzerclusters

Normalerweise sollten Sie keine nennenswerten Ausfallzeiten für Nutzercluster-Steuerungsebenen erwarten. Lang andauernde Verbindungen zum Kubernetes API-Server können jedoch unterbrochen werden und müssen neu hergestellt werden. In diesen Fällen sollte der API-Aufrufer noch einmal versuchen, eine Verbindung herzustellen. Im schlimmsten Fall kann es während eines Upgrades bis zu einer Minute dauern.

Nutzerclusterknoten

Wenn ein Upgrade eine Änderung an Nutzerclusterknoten erfordert, erstellt GKE On-Prem die Knoten rollierend neu und verschiebt die auf diesen Knoten ausgeführten Pods neu. Sie können Auswirkungen auf Ihre Arbeitslasten verhindern, wenn Sie die entsprechenden PodDisruptionBudgets und Anti-Affinitätsregeln konfigurieren.

Sequenzielles Upgrade

GKE On-Prem unterstützt sequenzielle Upgrades. Damit ein Cluster auf eine neue Version aktualisiert werden kann, muss der Cluster bereits die neueste Version haben.

Sie können Ihre Cluster nicht direkt auf die neueste Version einer Version aktualisieren, die mehr als eine Version alt ist. Wenn Ihr Cluster mehr als eine Version alt ist, müssen Sie den Cluster sequenziell aktualisieren.

Beispiel

Angenommen, die folgenden Versionen sind verfügbar und Ihre Administrator-Workstation und Ihre Cluster führen die älteste Version aus:

  • 1.0.1 (älteste Version)
  • 1.0.2
  • 1.1. (aktuelle Version)

In diesem Fall ist 1.1 die aktuelle Version. Führen Sie die folgenden Schritte aus, um von 1.0.1 auf 1.1 zu aktualisieren:

  1. Aktualisieren Sie Ihre Administrator-Workstation von 1.0.1 auf 1.0.2.
  2. Aktualisieren Sie Ihre Cluster von 1.0.1 auf 1.0.2.
  3. Führen Sie ein Upgrade Ihrer Administrator-Workstation von 1.0.2 auf 1.1 durch.
  4. Aktualisieren Sie Ihre Cluster von 1.0.2 auf 1.1.

Ihre GKE On-Prem-Konfigurationsdatei und die kubeconfig-Dateien sichern

Wenn Sie Ihre Administrator-Workstation aktualisieren, löscht Terraform die VM der Administrator-Workstation und ersetzt sie durch eine aktualisierte Administrator-Workstation. Bevor Sie ein Upgrade für Ihre Administrator-Workstation ausführen, müssen Sie Ihre GKE On-Prem-Konfigurationsdatei und die kubeconfig-Dateien Ihrer Cluster sichern. Später kopieren Sie die Dateien auf Ihre aktualisierte Administrator-Workstation.

Administrator-Workstation aktualisieren

Wenn Sie ein Upgrade für Ihre Administrator-Workstation ausführen, enthält sie die folgenden Entitäten in der gleichen Version wie die Open Virtualization Appliance-Datei (OVA) der Administrator-Workstation:

  • gkectl
  • vollständiges Paket

Nach dem Upgrade Ihrer Administrator-Workstation führen Sie ein Upgrade Ihrer Cluster durch.

OVA herunterladen

Laden Sie unter Downloads die OVA-Datei der Administrator-Workstation für die Version herunter, auf die Sie ein Upgrade durchführen möchten.

Mit dem folgenden Befehl laden Sie die neueste OVA herunter:

gsutil cp gs://gke-on-prem-release/admin-appliance/1.1.2-gke.0/gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.{ova,ova.sig} ~/

OVA in vSphere importieren als VM-Vorlage markieren

In den folgenden Abschnitten führen Sie diese Schritte aus:

  1. Erstellen Sie einige Variablen, die Elemente Ihrer vCenter Server- und vSphere-Umgebung deklarieren.
  2. Importieren Sie die Administrator-Workstation-OVA in vsphere und markieren Sie sie als VM-Vorlage.

Variablen für govc erstellen

Bevor Sie die OVA der Administrator-Workstation in vsphere importieren, müssen Sie govc einige Variablen angeben, die Elemente Ihrer vCenter Server- und vsphere-Umgebung deklarieren:

export GOVC_URL=https://[VCENTER_SERVER_ADDRESS]/sdk
export GOVC_USERNAME=[VCENTER_SERVER_USERNAME]
export GOVC_PASSWORD=[VCENTER_SERVER_PASSWORD]
export GOVC_DATASTORE=[VSPHERE_DATASTORE]
export GOVC_DATACENTER=[VSPHERE_DATACENTER]
export GOVC_INSECURE=true

Sie können entweder den Standardressourcenpool von vSphere verwenden oder einen eigenen erstellen:

# If you want to use a resource pool you've configured yourself, export this variable:
export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources/[VSPHERE_RESOURCE_POOL]
# If you want to use vSphere's default resource pool, export this variable instead:
export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources

wobei

  • [VCENTER_SERVER_ADDRESS] ist die IP-Adresse oder der Hostname Ihres vCenter-Servers.
  • [VCENTER_SERVER_USERNAME] ist der Nutzername eines Kontos, das die Administratorrolle oder entsprechende Berechtigungen auf dem vCenter-Server hat.
  • [VCENTER_SERVER_PASSWORD] ist das Passwort des vCenter-Server-Kontos.
  • [VSPHERE_DATASTORE] ist der Name des Clusters, den Sie in Ihrer vSphere-Umgebung konfiguriert haben.
  • [VSPHERE_DATACENTER] ist der Name des Rechenzentrums, das Sie in Ihrer vSphere Umgebung konfiguriert haben.
  • [VSPHERE_CLUSTER] ist der Name des Clusters, den Sie in Ihrer vSphere Umgebung konfiguriert haben.
  • Bei Verwendung eines nicht standardmäßigen Ressourcenpools
  • [VSPHERE_RESOURCE_POOL] ist der Name des Ressourcenpools, den Sie für Ihre vSphere-Umgebung konfiguriert haben.

OVA in vSphere importieren: Standard-Switch

Wenn Sie einen vSphere-Standard-Switch verwenden, importieren Sie die OVA mit diesem Befehl in vSphere:

govc import.ova -options - ~/gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true
}
EOF

OVA in vSphere importieren: Distributed Switch

Wenn Sie einen verteilten vSphere-Switch verwenden, importieren Sie OVA mit diesem Befehl in vSphere, wobei [YOUR_DISTRIBUTED_PORT_GROUP_NAME] der Name Ihrer verteilten Portgruppe ist:

govc import.ova -options - ~/gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true,
  "NetworkMapping": [
      {
          "Name": "VM Network",
          "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]"
      }
  ]
}
EOF

Terraform-Vorlagenvariablen für die neue Administrator-Workstation-VM festlegen

Legen Sie in der TFVARS-Datei Ihrer Administrator-Workstation für vm_template die Version fest, auf die Sie ein Upgrade durchführen. Der Wert von vm_template sieht so aus, wobei [VERSION] die OVA-Version ist:

gke-on-prem-admin-appliance-vsphere-[VERSION]

Ihre Administrator-Workstation mit Terraform aktualisieren

Führen Sie den folgenden Befehl aus, um Ihre Administrator-Workstation zu aktualisieren. Mit diesem Befehl wird die aktuelle Administrator-Workstation-VM gelöscht und durch eine aktualisierte VM ersetzt:

terraform init && terraform apply -auto-approve -input=false

Verbindung zur Administrator-Workstation herstellen

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation her:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    
  2. Wenn Sie einen Proxy verwenden, müssen Sie das Cloud SDK für den Proxy konfigurieren, damit Sie die Befehle gcloud und gsutil ausführen können. Eine Anleitung finden Sie unter Cloud SDK für die Verwendung hinter einem Proxy bzw. einer Firewall konfigurieren.

  3. Melden Sie sich mit Ihren Kontoanmeldedaten in der Google Cloud an:

    gcloud auth login
  4. Registrieren Sie gcloud als Docker-Anmeldedaten-Hilfe. (Weitere Informationen zu diesem Befehl):

    gcloud auth configure-docker
  5. Erstellen Sie einen privaten Schlüssel für Ihr Dienstkonto auf der weißen Liste.

    Kopieren Sie die E-Mail-Adresse des Dienstkontos:

    gcloud iam service-accounts list

    Erstellen Sie den privaten Schlüssel des Dienstkontos. Dabei ist [KEY_FILE] der Name, den Sie für die Datei auswählen. Mit diesem Befehl wird die Datei im aktuellen Arbeitsverzeichnis gespeichert:

    gcloud iam service-accounts keys create key.json \
    --project [PROJECT_ID] --iam-account [WHITELISTED_SERVICE_ACCOUNT_EMAIL]

    wobei

    • [PROJECT_ID] ist die Projekt-ID.
    • [KEY_FILE] ist ein Name und Pfad, in dem der private Schlüssel des Dienstkontos wie /home/ubuntu/key.json gespeichert wird.
    • [WHITELISTED_SERVICE_ACCOUNT_EMAIL] ist die E-Mail-Adresse des Dienstkontos, das auf die weiße Liste gesetzt wurde.
  6. Aktivieren Sie Ihr Dienstkonto auf der weißen Liste:

    gcloud auth activate-service-account --project [PROJECT_ID] \
    --key-file [KEY_FILE]
    

Ihre gesicherten Konfigurations- und kubeconfig-Dateien kopieren

Zuvor haben Sie Ihre GKE On-Prem-Konfigurationsdatei und die kubeconfig-Dateien Ihrer Cluster gesichert. Kopieren Sie diese Dateien nun wieder auf die aktualisierte Administrator-Workstation.

Cluster aktualisieren

Führen Sie die folgenden Schritte aus, nachdem Sie Ihre Administrator-Workstation aktualisiert und eine Verbindung zu ihr hergestellt haben:

Prüfen, ob genügend IP-Adressen verfügbar sind

Stellen Sie vor dem Upgrade sicher, dass genügend IP-Adressen für Ihre Cluster verfügbar sind.

DHCP

Wenn dem Cluster die IP-Adressen eines DHCP-Servers zugewiesen wurden, prüfen Sie, ob der DHCP-Server in dem Netzwerk, in dem die Knoten erstellt werden, genügend IP-Adressen hat. Es sollten mehr IP-Adressen vorhanden sein, als Knoten im Nutzercluster ausgeführt werden.

Statische IP-Adressen

Wenn der Cluster statische IP-Adressen hat, prüfen Sie, ob Sie im Cluster genügend IP-Adressen zugewiesen haben:

kubectl get cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
-n [USER_CLUSTER_NAME] [USER_CLUSTER_NAME] -o yaml

wobei

  • [ADMIN_CLUSTER_KUBECONFIG] weist kubectl an, kubeconfig des Administratorclusters zu verwenden, mit dem Nutzerclusterkonfigurationen angezeigt und/oder geändert werden.
  • -n [USER_CLUSTER_NAME] weist kubectl an, in einem Namespace zu suchen, der nach dem Nutzercluster benannt ist.
  • [USER_CLUSTER_NAME] -o yaml teilt kubectl mit, für welchen Nutzercluster Sie den Befehl ausführen. -o yaml zeigt die Konfiguration des Nutzerclusters an.

Suchen Sie in der Ausgabe des Befehls nach dem Feld reservedAddresses. Das Feld sollte mehr IP-Adressen enthalten als Knoten, die im Nutzercluster ausgeführt werden.

Wenn Sie dem Feld reservedAddresses weitere Adressen hinzufügen möchten, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Konfigurationsdatei des Nutzerclusters zur Bearbeitung:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] edit cluster [USER_CLUSTER_NAME] \
    -n [USER_CLUSTER_NAME] --validate=false
    

    Die Clusterkonfiguration wird im Standardeditor Ihrer Shell geöffnet.

  2. Fügen Sie beliebig viele zusätzliche statische IP-Blöcke hinzu. Ein IP-Block besteht aus den Feldern gateway, hostname, ip und netmask.

Unten sehen Sie ein Beispiel für ein reservedAddresses-Feld mit vier hervorgehobenen statischen IP-Blöcken:

...
networkSpec:
  dns:
  - 172.x.x.x
  ntp: 129.x.x.x
  reservedAddresses:
  - gateway: 100.x.x.x
    hostname: host-1
    ip: 100.x.x.x
    netmask: x
  - gateway: 100.x.x.x
    hostname: host-2
    ip: 100.x.x.x
    netmask: x
  - gateway: 100.x.x.x
    hostname: host-3
    ip: 100.x.x.x
    netmask: x
  - gateway: 100.x.x.x
    hostname: host-4
    ip: 100.x.x.x
    netmask: x
...

Konfigurationsdatei ändern

Bearbeiten Sie auf der VM Ihrer Administrator-Workstation Ihre Konfigurationsdatei. Legen Sie den Wert von bundlepath fest, wobei [VERSION] die GKE On-Prem-Version ist, auf die Sie Ihre Cluster aktualisieren:

bundlepath: /var/lib/gke/bundles/gke-onprem-vsphere-[VERSION].tgz

Informationen zu automatisch aktivierten Funktionen

Eine neue GKE On-Prem-Version kann neue Funktionen enthalten oder Unterstützung für bestimmte Funktionen von VMware vSphere bieten. Manchmal werden durch das Upgrade auf eine GKE On-Prem-Version solche Funktionen automatisch aktiviert. Weitere Informationen zu den neuen Funktionen von GKE On-Prem finden Sie in den Versionshinweisen. Neue Funktionen werden manchmal in der GKE On-Prem-Konfigurationsdatei angezeigt.

Neue Funktionen über die Konfigurationsdatei deaktivieren

Wenn Sie eine neue Funktion deaktivieren müssen, die in einer neuen GKE On-Premix-Version automatisch aktiviert ist und auf durch die Konfigurationsdatei gesteuert wird, führen Sie die folgenden Schritte aus, bevor Sie Ihren Cluster aktualisieren:

  1. Erstellen Sie in der aktualisierten Administration-Workstation eine neue Konfigurationsdatei mit einem anderen Namen als der Ihrer aktuellen Konfigurationsdatei:

    gkectl create-config --config [CONFIG_NAME]
    
  2. Öffnen Sie die neue Konfigurationsdatei und das Feld der Funktion. Schließen Sie die Datei.

  3. Öffnen Sie Ihre aktuelle Konfigurationsdatei und fügen Sie das Feld der neuen Funktion in die entsprechende Spezifikation ein.

  4. Geben Sie im Feld einen false oder einen entsprechenden Wert ein.

  5. Speichern Sie die Konfigurationsdatei. Fahren Sie mit dem Aktualisieren der Cluster fort.

Sie sollten immer die Versionshinweise lesen, bevor Sie Ihre Cluster aktualisieren. Sie können die Konfiguration eines vorhandenen Clusters nach dem Upgrade nicht deklarativ ändern.

gkectl prepare ausführen

Führen Sie diesen Befehl aus:

gkectl prepare --config [CONFIG_FILE]

Mit dem Befehl gkectl prepare werden folgende Tasks ausgeführt:

  • Kopieren Sie bei Bedarf ein neues Knoten-Betriebssystem-Image in Ihre vsphere-Umgebung und markieren Sie das Betriebssystem-Image als Vorlage.

  • Übertragen Sie die im neuen Bundle angegebenen aktualisierten Docker-Images in Ihre private Docker-Registry, sofern Sie eine konfiguriert haben.

Ihren Administratorcluster aktualisieren

Führen Sie diesen Befehl aus:

gkectl upgrade admin \
--kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
--config [CONFIG_FILE]

Dabei ist [ADMIN_CLUSTER_KUBECONFIG] die Datei "kubeconfig" des Administratorclusters und [CONFIG_FILE] die GKE On-Prem-Konfigurationsdatei, die Sie für das Upgrade verwenden.

Ihren Nutzercluster aktualisieren

Um einen Nutzercluster zu aktualisieren, muss Ihr Administratorcluster eine mindestens so hohe Version wie die Zielversion des Nutzercluster-Upgrades haben. Wenn Ihre Administratorcluster-Version nicht so hoch ist, aktualisieren Sie Ihren Administratorcluster, bevor Sie Ihren Nutzercluster aktualisieren.

gkectl

Führen Sie auf Ihrer Admin-Workstation den folgenden Befehl aus:

gkectl upgrade cluster \
--kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
--config [CONFIG_FILE] \
--cluster-name [CLUSTER_NAME]

Dabei ist [ADMIN_CLUSTER_KUBECONFIG] die kubeconfig-Datei des Administratorclusters, [CLUSTER_NAME] der Name des Nutzerclusters, den Sie aktualisieren, und [CONFIG_FILE] die lokale GKE-Konfigurationsdatei, die Sie für das Upgrade verwenden.

Console

Sie können Ihre Nutzercluster während der Installation oder nach der Erstellung bei der Cloud Console registrieren. Sie können Ihre registrierten GKE On-Prem-Cluster und Ihre Google Kubernetes Engine-Cluster über das GKE-Menü der Cloud Console aufrufen und sich anmelden.

Sobald ein Upgrade für GKE On-Prem-Nutzer-Cluster verfügbar ist, wird eine Benachrichtigung in der Cloud Console angezeigt. Wenn Sie auf diese Benachrichtigung klicken, werden eine Liste der verfügbaren Versionen und ein gkectl-Befehl angezeigt, den Sie zum Aktualisieren des Clusters ausführen können:

  1. Rufen Sie in der Cloud Console das GKE-Menü auf.

    Zum GKE On-Prem-Menü.

  2. Unter dem Benachrichtigungen Spalte für den Nutzercluster, klicken Sie auf Upgrade verfügbar, falls verfügbar.

  3. Kopieren Sie den Befehl gkectl upgrade cluster.

  4. Führen Sie auf Ihrer Administrator-Workstation den Befehl gkectl upgrade cluster aus, wobei [ADMIN_CLUSTER_KUBECONFIG] die kubeconfig-Datei des Administratorclusters, [CLUSTER_NAME] der Name des Nutzerclusters ist, den Sie aktualisieren, und [CONFIG_FILE] die GKE On-Prem-Konfigurationsdatei, die Sie für das Upgrade verwenden.

Ein Upgrade fortsetzen

Wenn das Upgrade eines Nutzerclusters unterbrochen wurde, der Administratorcluster jedoch erfolgreich aktualisiert wurde, können Sie das Upgrade fortsetzen, indem Sie gkectl upgrade cluster mit derselben GKE On-Prem-Konfigurationsdatei und demselben Administratorcluster-kubeconfig erneut ausführen.

Informationen zum Fortsetzen eines Administratorcluster-Upgrades

Sie sollten ein Upgrade des Administratorclusters nicht unterbrechen. Derzeit werden Upgrades von Administratorclustern nicht immer fortgesetzt. Wenn ein Upgrade eines Administratorclusters aus irgendeinem Grund unterbrochen wird, wenden Sie sich an den Support.

Bekannte Probleme

Die folgenden bekannten Probleme betreffen das Aktualisieren von Clustern.

Unterbrechung für Arbeitslasten mit PodDisauseBudgets

Derzeit kann das Upgrade von Clustern zu Unterbrechungen oder Ausfallzeiten bei Arbeitslasten führen, die PodDisruptionBudgets (PDBs) verwenden.

Version 1.1.1-gke.2: Das Datenlaufwerk im vSAN-Datenspeicherordner kann gelöscht werden

Wenn Sie einen vSAN-Datenspeicher verwenden, müssen Sie einen Ordner erstellen, in dem das VMDK gespeichert werden soll. Derzeit ist es für ein bekanntes Problem erforderlich, dass Sie vcenter.datadisk den UUID-Pfad (Universally Unique Identifier) des Ordners und nicht den Dateipfad angeben. Diese Abweichung kann dazu führen, dass Upgrades fehlschlagen.

Eine Update ist für Version 1.1.2 vorgesehen. Führen Sie vor dem Upgrade die folgenden Schritte für den Knoten der Administrator-Steuerungsebene aus, um das Problem zu umgehen:

  1. Rufen Sie über die vCenter-Benutzeroberfläche den UUID des Ordners in Ihrem vSAN-Datenspeicher ab.
  2. Listen Sie die Maschinenressourcen in Ihren Clustern auf. Diese Maschinen entsprechen den Knoten in den Clustern:

    kubectl get machines -n all
  3. Öffnen Sie für die Maschine der Admin-Steuerungsebene (gke-admin-master) deren Konfiguration zur Bearbeitung:

    kubectl edit machine [MACHINE_NAME]
    
  4. Ändern Sie das Feld spec.providerSpec.value.machineVariables.data_disk_path. Ersetzen Sie den Pfad zur VMDK-Datei durch die UUID. Beispiel:

    spec:
    providerSpec:
     value:
       apiVersion: vsphereproviderconfig.k8s.io/v1alpha1
       kind: VsphereMachineProviderConfig
       machineVariables:
         data_disk_path: 14159b5d-4265-a2ba-386b-246e9690c588/my-disk.vmdk
         datacenter: datacenter
         datastore: datastore
  5. Speichern Sie die Datei.

  6. Öffnen Sie die GKE On-Prem-Konfigurationsdatei.

  7. Ersetzen Sie in vcenter.datadisk den Ordner im Dateipfad durch den UUID des Ordners. Beispiel:

    vcenter:
     ...
     datadisk: "14159b5d-4265-a2ba-386b-246e9690c588/my-disk.vmdk"
    
  8. Fahren Sie mit dem Aktualisieren der Cluster fort.

Upgrade auf Version 1.1.0-gke.6 von Version 1.0.2-gke.3: OIDC-Problem

Cluster der Versionen 1.0.11, 1.0.1-gke.5 und 1.0.2-gke.3, für die OpenID Connect (OIDC) konfiguriert ist, können nicht auf Version 1.1.0-gke.6 aktualisiert werden. Dieses Problem wurde in Version 1.1.1-gke.2 behoben.

Wenn Sie einen Cluster der Version 1.0.11, 1.0.1-gke.5 oder 1.0.2-gke.3 mit OIDC während der Installation konfiguriert haben, können Sie kein Upgrade ausführen. Stattdessen sollten Sie neue Cluster erstellen.

Version 1.0.2-gke.3 auf Version 1.0.11 aktualisieren

In Version 1.0.2-gke.3 werden die folgenden OIDC-Felder eingeführt: usercluster.oidc. Mit diesen Feldern können Sie sich von der Cloud Console aus in einem Cluster anmelden:

  • usercluster.oidc.kubectlredirecturl
  • usercluster.oidc.clientsecret
  • usercluster.oidc.usehttpproxy

Wenn Sie OIDC verwenden möchten, ist das Feld clientsecret erforderlich, auch wenn Sie sich nicht über die Cloud Console bei einem Cluster anmelden möchten. Um OIDC zu verwenden, müssen Sie möglicherweise einen Platzhalterwert für clientsecret angeben:

oidc:
  clientsecret: "secret"

Anhang

Informationen zu den in Version 1.1.0-gke.6 aktivierten DRS-Regeln von VMware

Ab Version 1.1.0-gke.6 erstellt GKE On-Prem automatisch Anti-Affinitätsregeln des Typs Distributed Resource Scheduler (DRS) für die Knoten Ihres Nutzerclusters, sodass sie auf mindestens drei physische Hosts in Ihrem Rechenzentrum verteilt werden. Ab Version 1.1.0-gke.6 wird diese Funktion automatisch für neue Cluster und vorhandene Cluster aktiviert.

Prüfen Sie vor dem Upgrade, dass Ihre vSphere-Umgebung die folgenden Bedingungen erfüllt:

  • VMware DRS ist aktiviert. Für BlackBerry DRS ist die vSphere Enterprise Plus-Lizenzversion erforderlich. Informationen zum Aktivieren von DRS finden Sie unter VMWare DRS in einem Cluster aktivieren.
  • Das im Feld vcenter angegebene vSphere-Nutzerkonto hat die Berechtigung Host.Inventory.EditCluster.
  • Es sind mindestens drei physische Hosts verfügbar.

VMware DRS vor dem Upgrade auf 1.1.0-gke.6 deaktivieren

Wenn Sie diese Funktion nicht für Ihre vorhandenen Nutzercluster aktivieren möchten, z. B. wenn nicht genügend Hosts für die Funktion vorhanden sind, führen Sie die folgenden Schritte aus, bevor Sie Ihre Nutzercluster aktualisieren:

  1. Öffnen Sie die vorhandene GKE On-Prem-Konfigurationsdatei.
  2. Fügen Sie unter der Spezifikation usercluster das Feld antiaffinitygroups hinzu, wie in der Dokumentation antiaffinitygroups beschrieben:
    usercluster:
          ...
          antiaffinitygroups:
            enabled: false
    
  3. Speichern Sie die Datei.
  4. Verwenden Sie die Konfigurationsdatei zur Aktualisierung. Ihre Cluster werden aktualisiert, aber die Funktion ist nicht aktiviert.

Alternatives Upgrade-Szenario

In diesem Thema wird die einfachste Möglichkeit zur Aktualisierung von GKE On-Prem beschrieben. In der Tabelle unten wird ein alternatives Upgrade-Szenario beschrieben. In diesem Szenario aktualisieren Sie nur gkectl und Ihre Cluster, aber nicht die Administrator-Workstation:

Szenario Schritte
Der Release enthält keine Sicherheitsupdates für die Administrator-Workstation.
  1. Laden Sie gkectl herunter.
  2. Laden Sie das Bundle herunter.
  3. Folgen Sie dazu der Anleitung auf dieser Seite.

Fehlerbehebung

Weitere Informationen finden Sie unter Fehlerbehebung.

Neue Knoten erstellt, aber nicht intakt

Symptome

Neue Knoten registrieren sich nicht auf der Steuerungsebene des Nutzerclusters, wenn Sie den manuellen Load-Balancing-Modus verwenden.

Mögliche Ursachen:

Die Ingress-Validierung im Knoten, die den Startvorgang der Knoten blockiert, kann aktiviert sein.

Lösung

Führen Sie Folgendes aus, um die Prüfung zu deaktivieren:

kubectl patch machinedeployment [MACHINE_DEPLOYMENT_NAME] -p '{"spec":{"template":{"spec":{"providerSpec":{"value":{"machineVariables":{"net_validation_ports": null}}}}}}}' --type=merge

Clusterprobleme mit gkectl diagnostizieren

Verwenden Sie gkectl diagnose-Befehle, um Clusterprobleme zu identifizieren und Clusterinformationen an Google zu senden. Siehe Clusterprobleme diagnostizieren.

gkectl-Befehle ausführlich ausführen

-v5

gkectl-Fehler in stderr protokollieren

--alsologtostderr

gkectl-Logs auf der Administrator-Workstation suchen

Auch wenn Sie die Debugging-Flags nicht übergeben, können Sie gkectl-Logs im folgenden Verzeichnis der Administrator-Workstation aufrufen:

/home/ubuntu/.config/syllogi/logs

Cluster-API-Logs im Administrator-Cluster finden

Wenn eine VM nach dem Start der Administrator-Steuerungsebene nicht gestartet wird, versuchen Sie dies durch Untersuchen der Logs der Cluster API-Controller im Administratorcluster zu beheben:

  1. Suchen Sie im Namespace kube-system den Namen des Cluster API-Controller-Pods, wobei [ADMIN_CLUSTER_KUBECONFIG] der Pfad zur kubeconfig-Datei des Administratorclusters ist:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Öffnen Sie die Logs des Pods, wobei [POD_NAME] der Name des Pods ist. Verwenden Sie optional für die Fehlersuche grep oder ein ähnliches Tool:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager