Updateprobleme für Google Distributed Cloud beheben

Wenn Sie Probleme beim Aktualisieren von Google Distributed Cloud haben, können Ihnen die folgenden Abschnitte bei der Fehlerbehebung helfen. Weitere Informationen zu den Einstellungen, die aktualisiert werden können, finden Sie unter Was kann in Clustern aktualisiert werden und was nicht.

Zeitüberschreitung bei der Aktualisierung

Die Zeitüberschreitung bei der Aktualisierung wird dynamisch anhand der zu aktualisierenden Ressourcen berechnet. Die Berechnung ist jedoch nicht immer genau. Wenn die Zeitüberschreitung bei der Aktualisierung auftritt, werden Fehler ähnlich den folgenden angezeigt:

  • Im Nutzercluster:

    Failed to update the cluster:...timed out waiting for the condition...
    
  • Im Administratorcluster:

    Failed to update the admin cluster:...timed out waiting for the condition...
    

Diese Art von Zeitüberschreitungsfehler kann ignoriert werden. Sie können den Update-Befehl aber noch einmal ausführen. Wenn Sie den Befehl wiederholen und es mit demselben Fehler noch einmal zu einer Zeitüberschreitung kommt, wenden Sie sich an Cloud Customer Care

Update enthält mehrere Änderungen

Mit den Befehlen gkectl update admin und gkectl update cluster können nicht mehrere Einstellungen in einem Befehl aktualisiert werden. Wenn die Konfiguration einen Unterschied bei der Änderung mehrerer Einstellungen enthält, wird ein Fehler wie im folgenden Beispiel zurückgegeben:

Update summary for cluster X:
    antiAffinityGroups: enabled to be set to true from false          &config.AAGSpec{
        -   Enabled: false,
        +   Enabled: true,
          }
    user master cpu to be set to 5 from 4          config.NodePoolProps{
            Role:        "master",
            MachineType: "standard-master",
        -   CPUs:        4,
        +   CPUs:        5,
            MemoryMB:    8192,
            Replicas:    3,
            ... // 2 identical fields
            Labels:         nil,
            NodeTaints:     nil,
        -   Vsphere:        nil,
        &config.NodePoolVsphereSpec{Datastore: "lifecycle-workloads1-datastore1"},
        +   Vsphere:        nil,
            BootDiskSizeGB: nil,
            OSImageType:    "",
            ... // 5 identical fields
          }

Exit with error:
Failed to update the cluster: the update contains multiple changes. Please
update only one feature at a time

Dieser Fehler kann verschiedene Ursachen haben, darunter:

  • Ein Fehler oder eine Fehlkonfiguration.
  • Sie haben gkectl upgrade zuvor mit dem Konfigurationsunterschied ausgeführt und erwartet, dass die Änderungen angewendet werden.
    • Mit gkectl upgrade werden keine Konfigurationsunterschiede außer der Versionserhöhung angewendet.
  • Sie haben die Konfiguration zuvor für ein anderes Feature-Update bearbeitet, aber vergessen, den Befehl gkectl update auszuführen.

Wenn dieses Verhalten auftritt, prüfen Sie den Unterschied in der Fehlermeldung und aktualisieren Sie die erforderlichen Einstellungen nacheinander mit mehreren gkectl update-Befehlen. Um Änderungen besser zu erkennen, können Sie mit gkectl get-config Konfigurationsdateien aus einem Cluster generieren und den vorhandenen Status und die Konfiguration anzeigen lassen.

Nicht unterstützte Änderungen

Die Befehle gkectl update cluster und gkectl update admin ignorieren nicht unterstützte Änderungen und zeigen Fehlermeldungen ähnlich den folgenden Beispielen an:

detected unsupported changes: (-current +desired)
    ...
-   AdvancedNetworking:       &true,
+   AdvancedNetworking:       &false,
    ...
, which will be ignored

Wenn dieses Verhalten auftritt, prüfen Sie den Unterschied in der Fehlermeldung und führen Sie die folgenden Aktionen aus:

  • Wenn die Änderung unbeabsichtigt ist, bearbeiten Sie die YAML-Datei der Konfiguration und aktualisieren Sie sie nur mit den richtigen, beabsichtigten Änderungen.
    • Wenn Sie im vorherigen Beispiel AdvancedNetworking nicht deaktivieren wollten, legen Sie in der YAML-Datei der Konfiguration advancedNetworking: true fest.
  • Wenn die Änderung beabsichtigt ist, weist der Fehler darauf hin, dass die Änderung nicht unterstützt wird. Führen Sie eine der folgenden Aktionen aus:
    • Erstellen Sie den Cluster gegebenenfalls neu.
    • Wenden Sie sich an Google-Support

Betriebssystem-Image ist nicht vorhanden

Die Befehle gkectl update cluster und gkectl update admin können mit Fehlern bei der Vorabprüfung von OS Images ähnlich den folgenden Beispielen fehlschlagen:

  • Im Nutzercluster:

    - Validation Category: OS Images
        - [FAILURE] User cluster OS images exist: os images  [xxxx] don't exist,
        please run `gkectl prepare` to upload os images.
    
  • Im Administratorcluster:

    - Validation Category: OS Images
        - [FAILURE] Admin cluster OS images exist: os images [xxxx] don't exist,
        please run `gkectl prepare` to upload os images.
    

Diese Fehler können auftreten, wenn das Betriebssystem-Image unerwartet aus Ihrer vCenter-Umgebung, z. B. durch einen regelmäßigen Bereinigungsjob entfernt wurde.

Führen Sie den Befehl gkectl prepare aus, um die importierten Betriebssystem-Images noch einmal zu importieren:

gkectl prepare \
    --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --skip-upload-container-images

Nicht genügend freier Speicherplatz im Datenspeicher für neue Knotenpools

Wenn Sie neue Knotenpools hinzufügen, kann der Befehl gkectl update cluster mit Fehlern bei der Vorabprüfung von VSphere Datastore FreeSpace ähnlich dem folgenden Beispiel fehlschlagen:

  - [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
  FreeSpace, requires at least xxx  GB

Dieser Fehler weist darauf hin, dass im Datenspeicher nicht genügend Speicherplatz vorhanden ist, um die neuen Knotenpools auszuführen. Mit einer der folgenden Optionen können Sie mehr Platz zur Verfügung stellen, damit der Vorgang erfolgreich ist:

  • Geben Sie Speicherplatz im Datenspeicher kostenlos.
  • Konfigurieren Sie einen anderen nodePools[].vsphere.datastore-Datenspeicher für den Knotenpool.

Nächste Schritte

Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.

Unter Support erhalten finden Sie weitere Informationen zu Supportressourcen, darunter: