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 forma 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 la actualización.

Para reducir el tiempo de inactividad de las aplicaciones, recomendamos configurar varias réplicas de pod en nodos virtuales distribuidos en dominios de disponibilidad y 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 kube-proxy, 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 volver a programarlo en el pool de nodos virtuales con el componente kube-proxy correcto para la versión de Kubernetes que se ejecuta en los nodos de plano de control actualizados.

Para actualizar 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 nodos virtuales en 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 virtuales 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"}'