Esta tarea se describe cómo actualizar la versión de versión de Tanzu Kubernetes para un clúster de TKG mediante la edición del manifiesto del clúster de TKG.

Para iniciar una actualización gradual de un clúster de TKGS, actualice la versión de la versión de Tanzu Kubernetes mediante el comando kubectl edit.
Nota: No se puede utilizar el comando kubectl apply para actualizar la versión de TKR de un clúster implementado.

Requisitos previos

Esta tarea requiere el uso del comando de edición kubectl. Este comando abre el manifiesto del clúster en el editor de texto definido por las variables de entorno KUBE_EDITOR o EDITOR. Al guardar el archivo, el clúster se actualiza con los cambios. Si desea configurar un editor para kubectl de modo que pueda ejecutar el comando kubectl edit, consulte Configurar un editor de texto para Kubectl.

Procedimiento

  1. Realice la autenticación con Supervisor.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Cambie el contexto al espacio de nombres de vSphere donde se aprovisiona el clúster de carga de trabajo de destino.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Obtenga la versión y el clúster de TKG de destino.
    Clúster v1alpha3:
    kubectl get tanzukubernetescluster
    Clúster v1beta1:
    kubectl get cluster
  4. Enumere las versiones disponibles de Tanzu Kubernetes.
    kubectl get tanzukubernetesreleases
  5. Ejecute el siguiente comando para editar el manifiesto del clúster.
    Clúster v1alpha3:
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    Clúster v1beta1:
    kubectl edit cluster/CLUSTER-NAME
  6. Edite el manifiesto mediante la actualización de la cadena de versión de Tanzu Kubernetes.
    Por ejemplo, para un clúster v1alpaha3, cambie de TKR v1.25.7:
    topology:
      controlPlane:
       replicas: 1
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.25.7---vmware.3-fips.1-tkg.1
       vmClass: guaranteed-large
      nodePools:
      - name: worker-tkg-pool01
       replicas: 3
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.25.7---vmware.3-fips.1-tkg.1
       vmClass: guaranteed-large
       volumes:
       - capacity:
         storage: 128Gi
        mountPath: /var/lib/containerd
        name: containerd
    A TKR v1.26.5:
    topology:
      controlPlane:
       replicas: 1
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.26.5---vmware.2-fips.1-tkg.1
       vmClass: guaranteed-large
      nodePools:
      - name: worker-tkg-pool01
       replicas: 3
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.26.5---vmware.2-fips.1-tkg.1
       vmClass: guaranteed-large
       volumes:
       - capacity:
         storage: 128Gi
        mountPath: /var/lib/containerd
        name: containerd
    Nota: Los nodos de plano de control y trabajo deben tener la misma versión de TKR. Puede actualizar todas las instancias de TKr o actualizar la versión del plano de control y eliminar el nombre de TKR de los nodos de trabajo.
    Por ejemplo, para un clúster v1beta1, cambie de TKR v1.25.7:
    apiVersion: cluster.x-k8s.io/v1beta1
      ...
      topology:
        class: tanzukubernetescluster
        version: v1.25.7---vmware.3-fips.1-tkg.1
        controlPlane:
          replicas: 3
        workers:
          ...
        variables:
          ...
     
    A TKR v1.26.5:
    apiVersion: cluster.x-k8s.io/v1beta1
      ...
      topology:
        class: tanzukubernetescluster
        version: v1.26.5---vmware.2-fips.1-tkg.1
        controlPlane:
          replicas: 3
        workers:
          ...
        variables:
          ...
  7. Guarde los cambios que hizo en el archivo de manifiesto.
    Cuando guarde el archivo, kubectl aplicará los cambios al clúster. En segundo plano, el servicio de máquina virtual en el supervisor aprovisiona el nuevo nodo de trabajo.
  8. Compruebe que kubectl notifique el correcto registro de los cambios en el manifiesto.
    kubectl edit tanzukubernetescluster/tkg-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkg-cluster-1 edited
    Nota: Si recibe un error, o kubectl no informa de que el manifiesto del clúster se editó correctamente, asegúrese de haber configurado bien el editor de texto predeterminado con la variable de entorno KUBE_EDITOR. Consulte Configurar un editor de texto para Kubectl.
  9. Compruebe que el clúster se esté actualizando.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.26.5---vmware.2-fips.1-tkg.1  21h   updating
  10. Compruebe que el clúster se haya actualizado.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.26.5---vmware.2-fips.1-tkg.1   22h   running