Se a atualização de um cluster Tanzu Kubernetes falhar, você poderá reiniciar o trabalho de atualização e tentar atualizar novamente.

Problema

A atualização de um cluster Tanzu Kubernetes falha e resulta no status do cluster de upgradefailed.

Causa

Pode haver vários motivos para uma atualização de cluster com falha, 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

  1. Faça login no Supervisor Cluster como administrador. Consulte o Conecte-se ao Supervisor Cluster como um usuário do vCenter Single Sign-On.
  2. 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}"
  3. Execute kubectl proxy para que curl possa ser usado para emitir solicitações.
    kubectl proxy &
    
    Você deve ver Starting to serve on 127.0.0.1:8001.
    Observação: Não é possível usar o kubectl para corrigir ou atualizar o .status de um recurso.
  4. Usando o curl, emita o seguinte comando de patch para gerar 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}
  5. Usando o curl, emita o seguinte comando de patch para limpar o .status.conditions para que o controlador de trabalho crie 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