Se a atualização de um cluster TKG falhar, você poderá reiniciar o trabalho de atualização e tentar atualizar novamente.
Problema
A atualização de um cluster TKG falha e resulta no status do cluster de upgradefailed
.
Causa
Pode haver vários motivos para uma falha na atualização do cluster, como armazenamento insuficiente. Para reiniciar um trabalho de atualização com falha e tentar atualizar o cluster novamente, conclua o procedimento a seguir.
Solução
- Faça login no Supervisor como administrador.
- Procure o
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}"
- Execute
kubectl proxy
para que curl
possa ser usado para emitir solicitações.
Você deverá ver
Starting to serve on 127.0.0.1:8001
.
Observação: Você não pode usar
kubectl
para corrigir ou atualizar o
.status
de um recurso.
- Usando
curl
, emita o seguinte comando de patch para acionar o .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}
- Usando
curl
, emita o seguinte comando patch para limpar o .status.conditions
para que o controlador de trabalho possa criar novos pods.
$ 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