En este tema se explica cómo actualizar los clústeres de carga de trabajo de Tanzu Kubernetes Grid (TKG). Para TKG con un clúster de administración independiente, primero debe actualizar el clúster de administración que administra los clústeres de carga de trabajo.
ImportanteLos clústeres de carga de trabajo y clústeres de administración independientes utilizan certificados de cliente para autenticar clientes. Estos certificados son válidos durante un año. Para renovarlos, actualice los clústeres al menos una vez al año.
El proceso de actualización actualiza la versión de Kubernetes en todos los nodos de trabajo y plano de control de los clústeres de carga de trabajo.
Para ver una lista interactiva de clústeres de administración disponibles y seleccionar el clúster de administración que administra los clústeres que desea actualizar, ejecute el comando tanzu login
:
tanzu login
Para enumerar los clústeres de carga de trabajo, ejecute:
tanzu cluster list --include-management-cluster -A
El comando tanzu cluster list
con las opciones --include-management-cluster -A
muestra la versión de Kubernetes que se ejecuta en el clúster de administración y todos los clústeres que administra. En este ejemplo, puede ver que el clúster de administración ya se actualizó a la versión 1.24.10, pero los clústeres de carga de trabajo ejecutan versiones anteriores de Kubernetes.
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLAN TKR
k8s-1-22-13-cluster default running 1/1 1/1 v1.22.13+vmware.1 <none> dev v1.22.13---vmware.1-tkg.1
k8s-1-23-10-cluster default running 1/1 1/1 v1.23.10+vmware.1 <none> dev v1.23.10---vmware.1-tkg.1
mgmt-cluster tkg-system running 1/1 1/1 v1.24.10+vmware.1 management dev v1.24.10---vmware.1-tkg.1
Para descubrir qué versiones de Kubernetes están disponibles mediante un clúster de administración, ejecute el comando tanzu kubernetes-release get
:
tanzu kubernetes-release get
El resultado enumera todas las versiones de Kubernetes que se pueden utilizar para implementar clústeres, con las siguientes notas:
COMPATIBLE
: El clúster de administración actual puede implementar clústeres de carga de trabajo con esta versión de Tanzu Kubernetes (tkr
).UPDATES AVAILABLE
: Este tkr
no es el más reciente en su línea de versión de Kubernetes. Cualquier clúster de carga de trabajo que ejecute esta versión de tkr
se puede actualizar a versiones más recientes.Por ejemplo:
NAME VERSION COMPATIBLE ACTIVE UPDATES AVAILABLE
v1.22.17---vmware.1-tkg.1 v1.22.17+vmware.1-tkg.1 True True
v1.23.16---vmware.1-tkg.1 v1.23.16+vmware.1-tkg.1 True True
v1.24.10---vmware.1-tkg.1 v1.24.10+vmware.1-tkg.1 True True
Para detectar las versiones más recientes de tkr
a las que puede actualizar un clúster de carga de trabajo que ejecuta una versión anterior de tkr
, ejecute el comando tanzu kubernetes-release available-upgrades get
especificando la versión actual de tkr
:
tanzu kubernetes-release available-upgrades get v1.23.10---vmware.1-tkg.1
Este comando enumera todas las versiones de Kubernetes disponibles a las que se pueden actualizar los clústeres que ejecutan la versión especificada.
También puede detectar las versiones de tkr
que están disponibles para un clúster de carga de trabajo específico indicando el nombre del clúster en el comando tanzu cluster available-upgrades get
:
tanzu cluster available-upgrades get k8s-1-23-10-cluster
Este comando enumera todas las versiones de Kubernetes que son compatibles con el clúster especificado.
No puede omitir las versiones secundarias al actualizar la versión de tkr
. Por ejemplo, no puede actualizar un clúster directamente de la v1.22.x a la v1.24.x. Debe actualizar un clúster de la v1.22.x a la v1.23.x antes de actualizar el clúster a la v1.24.x.
Si el clúster se ejecuta en Azure, establezca la variable de entorno AZURE_CLIENT_SECRET
antes de actualizar el clúster:
export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
Ejecute el comando tanzu cluster upgrade CLUSTER-NAME
e introduzca y
para confirmar. Para omitir el paso de confirmación, especifique la opción --yes
.
Para actualizar el clúster a la versión predeterminada de Kubernetes para esta versión de Tanzu Kubernetes Grid, ejecute el comando tanzu cluster upgrade
sin opciones. En esta versión, la versión predeterminada es v1.24.10
. Por ejemplo:
tanzu cluster upgrade k8s-1-23-10-cluster
Si el clúster no se está ejecutando en el espacio de nombres default
, especifique la opción --namespace
:
tanzu cluster upgrade CLUSTER-NAME --namespace NAMESPACE-NAME
Si se agota el tiempo de espera de la actualización antes de que se complete, vuelva a ejecutar tanzu cluster upgrade
y especifique la opción --timeout
con un valor superior al valor predeterminado de 30 minutos:
tanzu cluster upgrade CLUSTER-NAME --timeout 45m0s
ImportanteLas operaciones en Azure a veces tardan más que en otras plataformas. Si va a actualizar clústeres en Azure, establezca de forma rutinaria la opción
--timeout
para evitar errores.
Si varias imágenes base de máquina virtual en su cuenta de IaaS tienen la misma versión de Kubernetes a la que va a actualizar, utilice la opción --os-name
para especificar el sistema operativo que desea. Consulte Seleccionar un sistema operativo durante la actualización del clúster para obtener más información.
Por ejemplo, en vSphere, si cargó plantillas de OVA de Photon y Ubuntu con Kubernetes v1.23.16, especifique --os-name ubuntu
para actualizar el clúster de carga de trabajo para que se ejecute en Ubuntu.
tanzu cluster upgrade CLUSTER-NAME --os-name ubuntu
Puesto que no se pueden omitir versiones secundarias de tkr
, se produce un error en el comando de actualización si se intenta actualizar un clúster que tiene más de una versión secundaria detrás de la versión predeterminada. Por ejemplo, no puede actualizar directamente de la v1.22.x a la v1.24.x. Para actualizar un clúster a una versión de Kubernetes que no sea la versión predeterminada para esta versión de Tanzu Kubernetes Grid, especifique la opción --tkr
con el NAME
de la versión seleccionada, tal como se indica en tanzu kubernetes-release get
anteriormente. Por ejemplo, para actualizar el clústerk8s-1-22-13-cluster
de v1.22.13 a v1.23.16.
tanzu cluster upgrade k8s-1-22-13-cluster --tkr v1.23.16---vmware.1-tkg.1
Cuando finalice la actualización, ejecute el comando tanzu cluster list
para comprobar que se actualizó el clúster de carga de trabajo:
tanzu cluster list --include-management-cluster -A
Vuelva a generar el kubeconfig
de administrador:
tanzu cluster kubeconfig get CLUSTER-NAME --admin
Donde CLUSTER-NAME
es el nombre del clúster de carga de trabajo.
ImportanteSi no renueva el
kubeconfig
después de actualizar, no podrá acceder al clúster una vez que caduque.
Si utiliza un proveedor de identidad ldap u OIDC, confirme que puede autenticarse en el clúster con kubectl
. Por ejemplo:
kubectl get pods -A --kubeconfig my-cluster-credentials
Actualice todos los paquetes administrados por la CLI, como Contour, Fluent Bit o Prometheus, que se ejecutan en los clústeres de carga de trabajo. Para obtener más información sobre cómo actualizar paquetes administrados por CLI, consulte Actualizar un paquete.
Ahora puede seguir usando la CLI de Tanzu para administrar sus clústeres. Para obtener más información, consulte Crear y administrar clústeres de carga de trabajo de TKG 2.1 con CLI de Tanzu.