Se l'aggiornamento di un cluster TKG non riesce, è possibile riavviare il processo di aggiornamento e riprovare.
Problema
L'aggiornamento di un cluster TKG non riesce e comporta lo stato upgradefailed
del cluster.
Causa
Il mancato aggiornamento del cluster può dipendere 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 Supervisore come amministratore.
- 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 seguente comando di patch per cancellare .status.conditions
in modo che il controller Processo possa creare 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