Si se produce un error en la actualización de un clúster de TKG, puede reiniciar el trabajo de actualización y volver a intentarlo.
Problema
Se produce un error en la actualización de un clúster de TKG y, como consecuencia, el estado del clúster es upgradefailed
.
Causa
Se pueden producir errores en la actualización de un clúster por varios motivos, uno de los cuales puede ser un almacenamiento insuficiente. Para reiniciar un trabajo de actualización con errores y volver a intentar la actualización del clúster, complete el siguiente procedimiento.
Solución
- Inicie sesión en Supervisor como administrador.
- Busque
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}"
- Ejecute
kubectl proxy
de modo que curl
se pueda utilizar para enviar solicitudes.
Debería ver
Starting to serve on 127.0.0.1:8001
.
Nota: No puede utilizar
kubectl
para revisar o actualizar el
.status
de un recurso.
- Con
curl
, emita el siguiente comando de revisión para aumentar el valor de .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}
- Con
curl
, emita el siguiente comando de revisión para borrar .status.conditions
de modo que la controladora de trabajo pueda crear nuevos 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