Actualice un clúster de Tanzu Kubernetes mediante la actualización de la versión de versión de Tanzu Kubernetes.

Puede iniciar una actualización gradual de un clúster de Tanzu Kubernetes mediante la actualización de la versión de versión de Tanzu Kubernetes. La forma de hacerlo varía según la versión de la API de servicio Tanzu Kubernetes Grid que esté utilizando.
Versión de API de TKGS Método de actualización de la versión
API v1alpha2 Actualice la cadena TKR NAME en las propiedades spec.topology.controlPlane.tkr.refernece.name y spec.topology.nodePools[*].tkr.reference.name del manifiesto del clúster. Consulte Actualizar una versión de Tanzu Kubernetes después de convertir la especificación del clúster a la API v1alpha2 de TKGS.
API v1alpha1 Actualice la versión de DISTRIBUCIÓN en las propiedades spec.distribution.version y spec.distribution.fullVersion del manifiesto del clúster. Ver a continuación

Requisitos previos

Verifique la finalización de los requisitos previos para actualizar los clústeres de Tanzu Kubernetes. Consulte Actualizar clústeres de Tanzu Kubernetes.

Esta tarea utiliza el comando kubectl edit tanzukubernetescluster/CLUSTER-NAME para actualizar el manifiesto del clúster. El comando kubectl edit 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. Consulte Especificar un editor de texto predeterminado para Kubectl.

Procedimiento

  1. Realice la autenticación con clúster supervisor. Consulte Conectarse al clúster supervisor como usuario vCenter Single Sign-On.
    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 Tanzu Kubernetes de destino.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Obtenga la versión y el clúster de Tanzu Kubernetes de destino.
    kubectl get tanzukubernetescluster
    Por ejemplo, el resultado con la API v1alpha2 de TKGS:
    kubectl get tanzukubernetescluster
    NAMESPACE        NAME            CONTROL PLANE   WORKER   TKR NAME                             AGE    READY   TKR COMPATIBLE   UPDATES AVAILABLE
    tkgs-cluster-1   test-cluster    3               3        v1.21.2---vmware.1-tkg.1.ee25d55     38h    True    True             [1.21.2+vmware.1-tkg.1.ee25d55]
    Por ejemplo, el resultado con la API v1alpha1 de TKGS :
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.19.16+vmware.1-tkg.1.df910e2  19h   running
  4. Enumere las versiones disponibles de Tanzu Kubernetes.
    kubectl get tanzukubernetesreleases
  5. Ejecute el siguiente comando para editar el manifiesto del clúster.
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  6. Edite el manifiesto actualizando versión de Tanzu Kubernetes. La forma de hacerlo varía según la versión de la API TKGS que esté utilizando.
    Si utiliza la API v1alpha1 de TKGS, actualice el manifiesto desde, por ejemplo:
    spec:
      distribution:
        fullVersion: v1.19.16+vmware.1-tkg.1.df910e2
        version: v1.19.16
    Para, por ejemplo:
    spec:
      distribution:
        fullVersion: null
        version: v1.20.12
    Nota: Si utiliza la API v1alpha1 de TKGS, puede especificar la versión completa o utilizar un acceso directo a la versión, como version: v1.20.12, que se resuelve en la imagen más reciente que coincide con esa versión de revisión, o version: v1.20, que se resuelve. a la versión de revisión coincidente más reciente. La versión resuelta se muestra como fullVersion en el manifiesto del clúster. Para realizar una actualización de versión mediante un acceso directo, debe anular la configuración de fullVersion para evitar una posible falta de coincidencia de versiones durante la detección.
  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 clúster supervisor aprovisiona el nuevo nodo de trabajo.
  8. Compruebe que kubectl notifique el correcto registro de los cambios en el manifiesto.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-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 Especificar un editor de texto predeterminado 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.20.12+vmware.1-tkg.1.b9a42f3  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.20.12+vmware.1-tkg.1.b9a42f3   22h   running