Sie können Probleme diagnostizieren und beheben, die während Clusterupdates in Google Distributed Cloud auftreten, z. B. Zeitüberschreitungen bei Vorgängen, abgelehnte oder ignorierte Konfigurationsänderungen und Fehler bei Preflight-Prüfungen. Weitere Informationen dazu, welche Einstellungen Sie aktualisieren können, finden Sie unter Was kann in Clustern aktualisiert werden und was nicht?.
Zeitüberschreitung bei Aktualisierung
Das Zeitlimit für die Aktualisierung wird dynamisch anhand der zu aktualisierenden Ressourcen berechnet. Die Berechnung ist jedoch nicht immer genau. Wenn das Zeitlimit für die Aktualisierung überschritten wird, werden Fehler wie die 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 Sie nicht mehrere Einstellungen in einem Befehl aktualisieren. Wenn in Ihrer Konfigurationsdatei mehr als eine Einstellung geändert wird, gibt der Befehl einen Fehler wie im folgenden Beispiel zurück:
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 upgradezuvor mit dem Konfigurationsunterschied ausgeführt und erwartet, dass die Änderungen angewendet werden.gkectl upgradewendet keine Konfigurationsunterschiede an, außer der Versionserhöhung.
- Sie haben die Konfiguration für ein anderes Feature-Update zuvor bearbeitet, aber vergessen, den Befehl
gkectl updateauszuführen.
Wenn dieser Fehler 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 die folgenden Beispiele an:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Wenn dieser Fehler 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-Konfigurationsdatei und aktualisieren Sie sie nur mit den richtigen, beabsichtigten Änderungen.
- Wenn Sie im vorherigen Beispiel
AdvancedNetworkingnicht deaktivieren wollten, legen SieadvancedNetworking: truein der YAML-Konfigurationsdatei 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 Cloud Customer Care.
Betriebssystem-Image ist nicht vorhanden
Die Befehle gkectl update cluster und gkectl update admin können mit OS Images-Preflight-Prüfungsfehlern fehlschlagen, die den folgenden Beispielen ähneln:
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 folgenden gkectl prepare-Befehl aus, um die 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, schlägt der Befehl gkectl update cluster möglicherweise mit VSphere Datastore FreeSpace-Preflight-Prüfungsfehlern wie im folgenden Beispiel fehl:
- [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 für die neuen Knotenpools vorhanden ist. Damit genügend Speicherplatz für das Update vorhanden ist, haben Sie folgende Möglichkeiten:
- Speicherplatz im Datenspeicher freigeben.
- 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.
Weitere Informationen zu Supportressourcen finden Sie unter Support erhalten. Dazu gehören:
- Anforderungen für das Erstellen einer Supportanfrage.
- Tools zur Fehlerbehebung, z. B. Logs und Messwerte.
- Unterstützte Komponenten, Versionen und Funktionen von Google Distributed Cloud für VMware (nur Software).