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

O Tanzu Kubernetes Grid Service oferece suporte à atualização de um cluster alterando o StorageClass para os pools de nós, ou seja, alterando a propriedade .spec.topology.controlPlane.storageClass ou a propriedade .spec.topology.workers.storageClass. Consulte o Sobre Tanzu Kubernetes atualizações de cluster.

Pré-requisitos

Essa tarefa usa o comando kubectl edit tanzukubernetescluster/CLUSTER-NAME para atualizar o manifesto do cluster. O comando kubectl edit 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. Consulte o Especificar um editor de texto padrão para o Kubectl.

Procedimento

  1. Autentique-se com o Supervisor Cluster. Consulte o Conecte-se ao Supervisor Cluster como um usuário do vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Alterne o contexto para o vSphere Namespace onde o cluster Tanzu Kubernetes de destino está 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.
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  5. Edite o manifesto alterando o valor de storageClass.
    Por exemplo, altere o manifesto do cluster da classe silver-storage-class para o plano de controle e os nós de trabalho:
    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 de trabalho:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: gold-storage-class
        workers:
          ...      
          storageClass: gold-storage-class
  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 Service provisiona as novas VMs de nó e desacelera as antigas.
  7. Verifique se o kubectl informa 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 o kubectl não relatar que o manifesto do cluster foi editado com êxito, verifique se você configurou corretamente seu editor de texto padrão usando a variável de ambiente KUBE_EDITOR. Consulte o Especificar um editor de texto padrão para o Kubectl.
  8. Verifique se o cluster está sendo atualizado.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   21h   updating
  9. Verifique se o cluster está atualizado.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   22h   running