Actualización de nodos virtuales a una versión más reciente de Kubernetes

Descubra cómo actualizar la versión de Kubernetes que se ejecuta en nodos virtuales en un cluster mejorado creado con Container Engine for Kubernetes.

Al actualizar la versión de Kubernetes de un cluster, Container Engine for Kubernetes actualiza el plano de control y los nodos virtuales de manera coordinada. Container Engine for Kubernetes actualiza los nodos virtuales en su lugar, lo que garantiza que las cargas de trabajo de alta disponibilidad que se ejecutan en el cluster no se interrumpan durante el cambio de versión.

Para reducir el tiempo de inactividad de las aplicaciones, recomendamos configurar varias réplicas de pod en nodos virtuales repartidos entre los dominios de disponibilidad y los dominios de errores. Puede controlar aún más la disponibilidad de las cargas de trabajo configurando presupuestos de interrupción de pod para maximizar la disponibilidad de la carga de trabajo (consulte Especificación de un presupuesto de interrupción para la aplicación en la documentación de Kubernetes).

Cada pod que se ejecuta en un nodo virtual incluye un componente de proxy de kube, que es específico de la versión de Kubernetes que se ejecuta en los nodos de control del cluster. Al actualizar un nodo virtual, Container Engine for Kubernetes expulsa cada pod antes de reprogramarlo en el pool de nodos virtuales con el componente de proxy de kube correcto para la versión de Kubernetes que se ejecuta en los nodos de plano de control actualizados.

Para actualizar los nodos virtuales a una versión más reciente de Kubernetes:

  1. Siga las instrucciones para actualizar la versión de Kubernetes que se ejecuta en los nodos de plano de control del cluster (consulte Actualización de la versión de Kubernetes en nodos de plano de control de un cluster).

    La versión de Kubernetes que se ejecuta en los nodos virtuales de cada pool de nodos virtuales del cluster se actualiza automáticamente.

  2. (Opcional) Utilice la operación de API GetVirtualNodePool para ver el estado de una actualización de pool de nodos virtual como valor de la propiedad lifecycleState.
    El estado de la actualización del pool de nodos virtuales se devuelve como uno de los siguientes:
    • Actualizando: indica que el cluster, los nodos virtuales y los pods del pool de nodos virtuales se están actualizando.
    • Activo: indica que el cluster, los nodos virtuales y todos los pods del pool de nodos virtuales se han actualizado.
  3. (Opcional) Utilice la anotación de pod oci.oraclecloud.com/pod.info.kubernetes_version para ver la versión de kube-proxy que se está ejecutando actualmente en cada pod del cluster. Por ejemplo, introduzca:
    kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{", "}{.metadata.annotations.oci\.oraclecloud\.com\/pod\.info\.kubernetes_version}{"\n"}'