Você pode atualizar um cluster de carga de trabalho alterando a classe de armazenamento usada pelos nós do cluster.

Você pode iniciar uma atualização sem interrupção de um cluster TKG 2 alterando o valor do parâmetro storageClass na especificação do cluster.

Pré-requisitos

Esta tarefa requer o uso do comando de edição kubectl. Esse comando abre o manifesto do cluster no editor de texto definido pela variável de ambiente KUBE_EDITOR ou EDITOR. Quando você salva o arquivo, o cluster é atualizado com as alterações. Para configurar um editor para o kubectl, consulte Configurar um editor de texto para Kubectl.

Procedimento

  1. Autentique com o Supervisor.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Alterne o contexto para o vSphere Namespace em que o cluster de carga de trabalho de destino é provisionado.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Para determinar as classes de armazenamento disponíveis e decidir qual usar, execute o seguinte comando.
    kubectl describe tanzukubernetescluster CLUSTER-NAME
  4. Execute o seguinte comando para editar o manifesto do cluster.
    cluster v1alpha3:
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    cluster v1beta1:
    kubectl edit cluster/CLUSTER-NAME
  5. Edite o manifesto alterando o valor storageClass.
    Por exemplo, para um cluster v1alpaha3, altere o manifesto do cluster da classe silver-storage-class para o plano de controle e os nós do trabalhador:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: silver-storage-class
        workers:
          ...      
          storageClass: silver-storage-class
    Para a classe gold-storage-class para o plano de controle e os nós do trabalhador:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: gold-storage-class
        workers:
          ...      
          storageClass: gold-storage-class
    Da mesma forma, se você tiver provisionado um cluster v1beta1, atualize o valor variables.storageclass na especificação do cluster com o nome da classe de armazenamento.
  6. Salve as alterações feitas no arquivo de manifesto.
    Quando você salva o arquivo, o kubectl aplica as alterações ao cluster. Em segundo plano, o Tanzu Kubernetes Grid provisiona as novas VMs de nó e desativa as antigas.
  7. Verifique se o kubectl relata que as edições do manifesto foram registradas com êxito.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    Observação: Se você receber um erro ou se o kubectl não relatar que o manifesto do cluster foi editado com êxito, verifique se você configurou corretamente o editor de texto padrão usando a variável de ambiente KUBE_EDITOR. Consulte Configurar um editor de texto para Kubectl.
  8. Verifique se o cluster está atualizado.
    cluster v1alpha3:
    kubectl get tanzukubernetescluster
    cluster v1beta1:
    kubectl get cluster