Si se produce un error en la actualización de un clúster de Tanzu Kubernetes, puede reiniciar el trabajo de actualización y volver a intentar la actualización.

Problema

La actualización de un clúster de Tanzu Kubernetes falla y, como consecuencia, el estado del clúster es upgradefailed.

Causa

Se pueden producir errores en la actualización de un clúster por diferentes motivos, uno de los cuales es 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 clúster supervisor como administrador. Consulte Conectarse al clúster supervisor como usuario vCenter Single Sign-On.
  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 cree 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