Se l'aggiornamento di un cluster di Tanzu Kubernetes non riesce, è possibile riavviare il processo e riprovare l'aggiornamento.
Problema
L'aggiornamento di un cluster di Tanzu Kubernetes non riesce e comporta lo stato upgradefailed
del cluster.
Causa
Un aggiornamento del cluster non riuscito può essere determinato da una serie di motivi, come ad esempio uno storage insufficiente. Per riavviare un processo di aggiornamento non riuscito e riprovare l'aggiornamento del cluster, completare la procedura seguente.
Soluzione
- Accedere a Cluster supervisore come amministratore. Vedere Connessione al Cluster supervisore come utente vCenter Single Sign-On.
- Cercare
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}"
- Eseguire
kubectl proxy
in modo che sia possibile utilizzare curl
per craere richieste.
Dovrebbero comparire
Starting to serve on 127.0.0.1:8001
.
Nota: Non è possibile utilizzare
kubectl
per eseguire il patch o aggiornare lo
.status
di una risorsa.
- Utilizzando
curl
eseguire il seguente comando di patch per generare .spec.backoffLimit
.
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}
- Utilizzando
curl
eseguire il comando di patch seguente per cancellare .status.conditions
in modo che il controller Processo crei nuovi pod.
$ 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