vSphere with Tanzu admite actualizaciones graduales para los clústeres supervisor y los clústeres de servicio Tanzu Kubernetes Grid, así como para la infraestructura que respalda estos clústeres.
Cómo se actualizan los clústeres supervisory los clústeres de servicio Tanzu Kubernetes Grid
vSphere with Tanzu utiliza un modelo de actualización gradual para los clústeres supervisor y los clústeres de servicio Tanzu Kubernetes Grid. El modelo de actualización gradual garantiza un tiempo de inactividad mínimo para las cargas de trabajo del clúster durante el proceso de actualización. Las actualizaciones graduales incluyen la actualización de las versiones de software de Kubernetes, así como de la infraestructura y los servicios que respaldan los clústeres de Kubernetes, como los recursos y las configuraciones de máquinas virtuales, los servicios y los espacios de nombres de vSphere, y los recursos personalizados.
Dependencia entre las actualizaciones de clúster supervisor y las actualizaciones de clústeres de servicio Tanzu Kubernetes Grid
Debe actualizar el clúster supervisor y los clústeres de servicio Tanzu Kubernetes Grid por separado. Sin embargo, tenga en cuenta que existen dependencias entre los dos.
La actualización de un clúster supervisor probablemente active una actualización gradual de los clústeres de servicio Tanzu Kubernetes Grid implementados allí. Consulte Actualizar clúster supervisor mediante una actualización de los espacios de nombres de vSphere.
Es posible que deba actualizar uno o varios clústeres de servicio Tanzu Kubernetes Grid antes de actualizar un clúster supervisor si el clúster de servicio Tanzu Kubernetes Grid no es compatible con la versión de clúster supervisor de destino. Consulte Comprobar la compatibilidad del clúster de Tanzu Kubernetes para actualizar.
Acerca de las actualizaciones de clúster supervisor
Cuando se inicia una actualización de una instancia de clúster supervisor, el sistema crea un nuevo nodo de plano de control y lo une al plano de control existente. El inventario de vSphere muestra cuatro nodos del plano de control durante esta fase de la actualización, ya que el sistema agrega un nuevo nodo actualizado y, a continuación, elimina el nodo antiguo obsoleto. Los objetos se migran a partir de uno de los nodos del plano de control antiguos hacia el nuevo, mientras que el nodo antiguo del plano de control se elimina. Este proceso se repite de a un nodo por vez hasta que se actualizan todos los nodos del plano de control. Una vez actualizado el plano de control, los nodos de trabajo pasan por un tipo de actualización gradual similar. Los nodos de trabajo son los hosts ESXi y cada proceso de Spherelet en cada host ESXi se actualiza de uno en uno.
- Actualice los espacios de nombres de vSphere.
- Actualice todo, incluidas las versiones de VMware y las versiones de Kubernetes.
- Actualice vCenter Server.
- Realice una actualización de los espacios de nombres de vSphere (incluida la actualización de Kubernetes).
Para realizar una actualización de espacios de nombres de vSphere, consulte Actualizar clúster supervisor mediante una actualización de los espacios de nombres de vSphere.
- Compruebe la matriz de interoperabilidad de VMware https://interopmatrix.vmware.com/Interoperability para determinar la compatibilidad de vCenter Server y NSX-T Data Center. La funcionalidad de vSphere with Tanzu se proporciona mediante el software de plano de control de carga de trabajo (WCP) que se envía con vCenter Server.
- Actualice NSX-T Data Center, si es compatible.
- Actualice vCenter Server.
- Actualice vSphere Distributed Switch.
- Actualice los hosts ESXi.
- Compruebe la compatibilidad de los clústeres de servicio Tanzu Kubernetes Grid aprovisionados con la versión del clúster supervisor de destino.
- Actualice los espacios de nombres de vSphere (incluida la versión de Kubernetes de clúster supervisor).
- Actualice los clústeres de servicio Tanzu Kubernetes Grid.
Acerca de las actualizaciones de clústeres de servicio Tanzu Kubernetes Grid
Cuando se actualiza una instancia de clúster supervisor, también se actualizan los componentes de infraestructura que respaldan los clústeres de servicio Tanzu Kubernetes Grid implementados en esa instancia de clúster supervisor, como el servicio Tanzu Kubernetes Grid. Cada actualización de infraestructura puede incluir actualizaciones de los servicios que respaldan servicio Tanzu Kubernetes Grid (CNI, CSI y CPI) y opciones de configuración actualizadas para los nodos de trabajo y el plano de control que se pueden aplicar a los clústeres de servicio Tanzu Kubernetes Grid existentes. Para garantizar que la configuración cumpla con los requisitos de compatibilidad, vSphere with Tanzu realiza comprobaciones previas durante la actualización gradual y aplica la conformidad.
Para realizar una actualización gradual de un clúster de servicio Tanzu Kubernetes Grid, debe actualizar el manifiesto del clúster. Consulte Actualizar clústeres de Tanzu Kubernetes. Sin embargo, tenga en cuenta que, cuando se actualizan los espacios de nombres de vSphere, el sistema propaga de inmediato las configuraciones actualizadas a todos los clústeres de servicio Tanzu Kubernetes Grid. Estas actualizaciones pueden activar automáticamente una actualización gradual de los nodos de trabajo y de los nodos del plano de control de servicio Tanzu Kubernetes Grid.
El proceso de actualización gradual para reemplazar los nodos del clúster es similar a la actualización gradual de pods de una implementación de Kubernetes. Dos controladoras distintas se encargan de realizar una actualización gradual de los clústeres de servicio Tanzu Kubernetes Grid: la controladora de complementos y la controladora de TanzuKubernetesCluster. Dentro de esas dos controladoras hay tres etapas clave de una actualización gradual: la actualización de los complementos, la actualización del plano de control y la actualización de los nodos de trabajo. Estas etapas se producen en orden, con comprobaciones previas que impiden que un paso comience hasta que el paso anterior haya avanzado lo suficiente. Es posible que estos pasos se omitan si se determina que son innecesarios. Por ejemplo, una actualización podría solo afectar a los nodos de trabajo y, por tanto, no necesitaría actualizaciones de los planos de control ni de los complementos.
Durante el proceso de actualización, el sistema agrega un nuevo nodo de clúster y espera a que el nodo se conecte con la versión de Kubernetes de destino. A continuación, el sistema marca el nodo antiguo para su eliminación, pasa al siguiente nodo y repite el proceso. El nodo antiguo no se eliminará hasta que se eliminen todos los pods. Por ejemplo, si un pod se define con PodDisruptionBudgets que impide que un nodo se vacíe completamente, el nodo se acordona, pero no se elimina hasta que dichos pods se puedan expulsar. El sistema actualiza primero todos los nodos del plano de control y, a continuación, los nodos de trabajo. Durante una actualización, el estado del clúster de servicio Tanzu Kubernetes Grid cambia a "Actualizando". Una vez finalizado el proceso de actualización gradual, el estado del clúster de servicio Tanzu Kubernetes Grid cambia a "En ejecución".
Los pods en ejecución en un clúster de servicio Tanzu Kubernetes Grid que no están regidos por una controladora de replicación se eliminarán durante la actualización de la versión de Kubernetes como parte de la purga de nodos de trabajo al actualizar el clúster de servicio Tanzu Kubernetes Grid. Esto sucede si la actualización del clúster se activa de forma manual o de forma automática por una actualización de espacios de nombres de vSphere. Los pods que no están regidos por una controladora de replicación incluyen aquellos pods que no se crean como parte de una especificación de ReplicaSet o de implementación. Para obtener más información, consulte el tema Ciclo de vida del pod: duración del pod en la documentación de Kubernetes.