Wenn das Update eines Tanzu Kubernetes-Clusters fehlschlägt, können Sie den Aktualisierungsauftrag neu starten und die Aktualisierung erneut versuchen.
Problem
Das Aktualisieren eines Tanzu Kubernetes-Clusters schlägt fehl, was zum Clusterstatus upgradefailed
führt.
Ursache
Es kann verschiedene Gründe für eine fehlgeschlagene Clusteraktualisierung geben, z. B. nicht genügend Speicher. Führen Sie den folgenden Vorgang aus, um einen fehlgeschlagenen Aktualisierungsauftrag neu zu starten und die Aktualisierung erneut durchzuführen.
Lösung
- Melden Sie sich beim Supervisor-Cluster als Administrator an. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
- Suchen Sie den
update_job_name
.
kubectl get jobs -n vmware-system-tkg -l "run.tanzu.vmware.com/cluster-namespace=${cluster_namespace},cluster.x-k8s.io/cluster-name=${cluster_name}"
- Führen Sie den
kubectl proxy
aus, damit curl
für die Ausstellung von Anforderungen verwendet werden kann.
Sie sollten
Starting to serve on 127.0.0.1:8001
sehen.
Hinweis: Sie können
kubectl
nicht verwenden, um den
.status
einer Ressource zu patchen oder zu aktualisieren.
- Verwenden Sie
curl
mit dem folgenden Patch, um das .spec.backoffLimit
zu erhöhen.
curl -H "Accept: application/json" -H "Content-Type: application/json-patch+json"
--request PATCH --data '[{"op": "replace", "path": "/spec/backoffLimit", "value": 8}]'
http://127.0.0.1:8001/apis/batch/v1/namespaces/vmware-system-tkg/jobs/${update_job_name}
- Verwenden Sie
curl
mit dem folgenden Patch, um die .status.conditions
zu löschen, sodass die Auftragssteuerung neue Pods generiert.
$ curl -H "Accept: application/json" -H "Content-Type: application/json-patch+json"
--request PATCH --data '[{"op": "remove", "path": "/status/conditions"}]'
http://127.0.0.1:8001/apis/batch/v1/namespaces/vmware-system-tkg/jobs/${update_job_name}/status