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

  1. Inicie sesión en Supervisor como administrador.
  2. 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}"
  3. Ejecute kubectl proxy de modo que curl se pueda utilizar para enviar solicitudes.
    kubectl proxy &
    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.
  4. 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}
  5. 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