Wenn Sie Probleme bei der Aktualisierung von Google Distributed Cloud haben, können Ihnen die folgenden Abschnitte helfen, das Problem zu beheben. Weitere Informationen dazu, welche Einstellungen aktualisiert werden können, finden Sie unter Was in Clustern aktualisiert werden kann und was nicht.
Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.Zeitüberschreitung für Update
Das Zeitlimit für die Aktualisierung wird anhand der zu aktualisierenden Ressourcen dynamisch berechnet. Allerdings ist die Berechnung nicht immer genau. Wenn die Aktualisierung das Zeitlimit überschreitet, werden Fehler wie diese 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
Aktualisierung enthält mehrere Änderungen
Mit den Befehlen gkectl update admin
und gkectl update cluster
können nicht mehrere Einstellungen mit 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 folgende Ursachen haben:
- Ein Fehler oder eine Fehlkonfiguration.
- Sie haben zuvor
gkectl upgrade
mit dem Konfigurationsunterschied ausgeführt und erwartet, dass die Änderungen übernommen werden.gkectl upgrade
wendet keine Konfigurationsunterschiede außer dem Versionspuffer an.
- Sie haben zuvor die Konfiguration für eine weitere Featureaktualisierung 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 wie in den folgenden Beispielen an:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Wenn dieses Verhalten auftritt, prüfen Sie die Unterschiede in der Fehlermeldung und führen Sie die folgenden Aktionen aus:
- Wenn die Änderung nicht beabsichtigt ist, bearbeiten Sie die YAML-Konfigurationsdatei und aktualisieren Sie sie nur mit den korrekten, beabsichtigten Änderungen.
- Wenn Sie im vorherigen Beispiel
AdvancedNetworking
nicht deaktivieren wollten, legen Sie in der YAML-KonfigurationsdateiadvancedNetworking: true
fest.
- Wenn Sie im vorherigen Beispiel
- 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 OS Images
-Preflight-Prüfungsfehlern fehlschlagen, ähnlich wie in den folgenden Beispielen:
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
Zu wenig freier Datenspeicher für neue Knotenpools
Wenn Sie neue Knotenpools hinzufügen, schlägt der Befehl gkectl update cluster
möglicherweise mit VSphere Datastore FreeSpace
-Preflight-Prüfungsfehlern fehl, die dem folgenden Beispiel ähneln:
- [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 frei.
- Konfigurieren Sie einen anderen
nodePools[].vsphere.datastore
-Datenspeicher für den Knotenpool.