Realización de una actualización de Kubernetes de nodo gestionado in situ mediante la sustitución manual de nodos de un pool de nodos existente

Descubra cómo actualizar la versión de Kubernetes en nodos gestionados en un pool de nodos cambiando las propiedades del pool de nodos existente y, a continuación, sustituyendo manualmente cada nodo gestionado a su vez, mediante Container Engine for Kubernetes (OKE).

Nota

Esta sección solo se aplica a los nodos gestionados. Para obtener información sobre la actualización de nodos autogestionados, consulte Actualización de nodos autogestionados a una versión más reciente de Kubernetes mediante la sustitución de un nodo autogestionado existente.

Para actualizar la versión de Kubernetes que se ejecuta en los nodos gestionados de un pool de nodos, especifique una versión de Kubernetes más reciente para el pool de nodos existente.

Suprima cada nodo gestionado a su vez, seleccionando las opciones de cableado y drenaje adecuadas para evitar que se inicien nuevos pods y suprimir los pods existentes. Inicia un nuevo nodo gestionado para sustituir cada nodo gestionado que suprima. Cuando se inician nuevos nodos gestionados en el pool de nodos existente, ejecutan la versión de Kubernetes más reciente especificada.

Uso de la consola

Para realizar una actualización "in situ" de un pool de nodos en un cluster, especifique una versión de Kubernetes más reciente para el pool de nodos existente:

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Contenedores y artefactos, haga clic en Clusters de Kubernetes (OKE).
  2. Seleccione un compartimento en el que tenga permiso para trabajar.
  3. En la página Lista de clusters, haga clic en el nombre del cluster en el que desea cambiar la versión de Kubernetes que se ejecuta en los nodos gestionados.
  4. En la página Cluster, muestre el separador Pools de nodos y haga clic en el nombre del pool de nodos en el que desea actualizar la versión de Kubernetes que se ejecuta en los nodos gestionados.

  5. En la página Grupo de nodos, haga clic en Editar y, en el campo Versión, especifique la versión de Kubernetes necesaria para los nodos gestionados.

    La versión de Kubernetes que especifique debe ser compatible con la versión que se está ejecutando en los nodos de plano de control.

  6. Haga clic en Guardar cambios para guardar el cambio.

    Ahora tiene que suprimir los nodos gestionados existentes para que se inicien nuevos nodos gestionados, que ejecutan la versión de Kubernetes especificada.

    Recomendado: aproveche los presupuestos de interrupción de pod según corresponda en su aplicación para garantizar que haya un número suficiente de pods de replicación en ejecución durante la operación de supresión. Para obtener más información, consulte Especificación de un presupuesto de interrupción para la aplicación en la documentación de Kubernetes.

  7. Para el primer nodo gestionado del pool de nodos:

    1. En la página Pool de nodos, muestre el separador Nodos y seleccione Suprimir nodo en el menú Acciones junto al nodo que desea suprimir.
    2. Acepte los valores por defecto de las opciones avanzadas o haga clic en Mostrar opciones avanzadas y especifique cuándo y cómo conectar y drenar los nodos gestionados antes de terminarlos:

      • Período de gracia de expulsión (minutos): período de tiempo que permite conectar y drenar los nodos gestionados antes de terminarlos. Acepte el valor por defecto (60 minutos) o especifique una alternativa. Por ejemplo, puede que desee permitir 30 minutos para conectar los nodos gestionados y drenarlos de sus cargas de trabajo. Para terminar los nodos gestionados inmediatamente, sin conectarlos ni drenarlos, especifique 0 minutos.
      • Forzar finalización después del período de gracia: indica si se deben terminar los nodos gestionados al final del período de gracia de expulsión, incluso si no se han conectado y drenado correctamente. Por defecto, esta opción no está seleccionada.

        Seleccione esta opción si siempre desea que los nodos gestionados terminen al final del período de gracia de desalojo, incluso si no se han conectado y drenado correctamente.

        Anule la selección de esta opción si no desea que los nodos gestionados que no se hayan conectado y drenado correctamente terminen al final del período de gracia de desalojo. Los pools de nodos que contienen nodos gestionados que no se pueden terminar dentro del período de gracia de expulsión tienen el estado Se necesita atención. El estado de la solicitud de trabajo que inició la operación de terminación se establece en Con fallos y la operación de terminación se cancela. Para obtener más información, consulte Monitoring Clusters.

      • Disminuir tamaño de pool de nodos: no seleccione esta opción para que se inicie un nuevo nodo de trabajador (en lugar del pool de nodos que se está reduciendo).

      Para obtener más información, consulte Notas sobre cableado y drenado de nodos gestionados antes de la terminación.

    3. Haga clic en Suprimir para suprimir el nodo gestionado.

      El nodo gestionado se suprime y se inicia un nuevo nodo gestionado que ejecuta la versión de Kubernetes especificada.

  8. Repita el paso anterior para cada nodo gestionado restante en el pool de nodos hasta que todos los nodos gestionados del pool ejecuten la versión de Kubernetes especificada.

Uso de la CLI

Para obtener información sobre el uso de la CLI, consulte Interfaz de línea de comandos (CLI). Para obtener una lista completa de los indicadores y las opciones disponibles para los comandos de la CLI, consulte Referencia de la línea de comandos.

Para realizar una actualización de Kubernetes de nodo gestionado "in situ" mediante la terminación y sustitución manuales de nodos

En primer lugar, actualice la propiedad de versión de Kubernetes del nodo de trabajador del pool de nodos y especifique el OCID de la imagen correspondiente:

oci ce node-pool update --node-pool-id <node-pool-ocid> --kubernetes-version <version> --node-image-id <image-ocid>

A continuación, suprima a su vez cada nodo gestionado del pool de nodos y especifique que desea iniciar un nuevo nodo gestionado para sustituir el nodo gestionado que ha suprimido

oci ce node-pool delete-node --node-pool-id <node-pool-ocid> --node-id <node-ocid> --is-decrement-size false