Reversión de nodos gestionados a una versión anterior de Kubernetes

Descubra cómo realizar un rollback de la versión de Kubernetes que se ejecuta en nodos gestionados en un pool de nodos existente mediante Kubernetes Engine (OKE).

Nota

Esta sección sólo se aplica a los nodos gestionados. Puede realizar un rollback de los nodos gestionados tanto en clusters mejorados como en clusters básicos.

No puede utilizar este procedimiento para realizar un rollback de la versión de Kubernetes que se ejecuta en nodos de plano de control o nodos virtuales.

Puede realizar un rollback de la versión de Kubernetes que se ejecuta en nodos gestionados en un pool de nodos especificando una versión de Kubernetes disponible anteriormente para el pool de nodos existente y, a continuación, sustituyendo los nodos gestionados existentes.

La versión de Kubernetes que especifique debe estar disponible para el pool de nodos gestionado y ser compatible con la versión que se está ejecutando en los nodos del plano de control. Las versiones de Kubernetes disponibles para un pool de nodos gestionado pueden variar según el arrendamiento. Para ver las versiones disponibles, consulte la lista Version (Versión) al editar el pool de nodos en la consola, utilice el comando oci ce node-pool-options get o utilice la operación GetNodePoolOptions.

Importante

El cambio de la versión de Kubernetes configurada para un pool de nodos gestionado no cambia la versión de Kubernetes que se ejecuta en los nodos gestionados existentes. Para completar el rollback, sustituya los nodos gestionados existentes.

Si utiliza el ciclo de nodos, sincronice todo el pool de nodos gestionado. Al sincronizar un nodo gestionado individual, no se cambia la versión de Kubernetes que se ejecuta en el nodo.

Para obtener más información sobre la selección y compatibilidad de versiones de Kubernetes, consulte Versiones de Kubernetes y Kubernetes Engine (OKE).

Uso de la consola

Para realizar un rollback de los nodos gestionados en un cluster mejorado

En un cluster mejorado, puede realizar un rollback de los nodos gestionados especificando una versión de Kubernetes disponible anterior para el pool de nodos existente y, a continuación, sincronizar todos los nodos del pool de nodos. Puede sincronizar los nodos sustituyendo sus volúmenes de inicio o terminando y reemplazando los nodos.

  1. En la página de lista Clusters, seleccione el nombre del cluster en el que desea realizar un rollback de la versión de Kubernetes que se ejecuta en los nodos gestionados. Si necesita ayuda para buscar la página de lista o el cluster, consulte Listing Clusters.
  2. Seleccione el separador Pools de nodos y seleccione el nombre del pool de nodos en el que desea realizar un rollback de la versión de Kubernetes que se ejecuta en los nodos gestionados.

  3. En la página de detalles del pool de nodos, seleccione Editar en el menú Acciones.

  4. En el campo Versión del cuadro de diálogo Editar pool de nodos, seleccione la versión de Kubernetes anterior 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.

    Tenga en cuenta que la lista de versiones de Kubernetes incluye versiones de vista previa proporcionadas solo con fines de validación y prueba de acceso anticipado. Estas versiones de vista previa tienen ".0" como número de versión del parche (por ejemplo, 1.34.0). Las versiones de previsualización no están pensadas para cargas de trabajo de producción y pueden contener problemas sin soluciones alternativas conocidas. No recomendamos utilizar versiones de previsualización para las cargas de trabajo de producción.

  5. Seleccione Actualizar para guardar el cambio.

    Ahora sincroniza todos los nodos del pool de nodos para aplicar la versión de Kubernetes especificada.

  6. En el menú Acciones, seleccione Nodos de ciclo.

    Recomendado: aproveche la generación de presupuestos de interrupción de pod según corresponda para su aplicación con el final de garantizar que haya un número suficiente para pods de réplicas en ejecución durante la operació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. En el cuadro de diálogo Nodos de ciclo, seleccione una de las siguientes opciones de la lista Opciones de ciclo:

    • Sustituir volumen de inicio: especifique el número máximo o el porcentaje de nodos que pueden no estar disponibles durante la operación y, a continuación, seleccione Nodos de ciclo.

    • Sustituir nodos: especifique el número o el porcentaje máximo de nodos adicionales y nodos no disponibles que se permitirán durante la operación y, a continuación, seleccione Nodos de ciclo.

    Nota

    No sincronice un nodo gestionado individual para aplicar el rollback. Al sincronizar un nodo gestionado individual, no se cambia la versión de Kubernetes que se ejecuta en el nodo.
  8. Supervise el progreso de la operación mediante la visualización del estado de la solicitud de trabajo asociada en el separador Solicitudes de trabajo (consulte Obtención de detalles de una solicitud de trabajo).

Para realizar un rollback de los nodos gestionados en un cluster básico

El ciclo de nodos no está disponible en los clusters básicos. Para realizar un rollback de los nodos gestionados en un cluster básico, especifique la versión anterior de Kubernetes para el pool de nodos existente y, a continuación, suprima y sustituya manualmente cada nodo gestionado existente a su vez.

  1. En la página de lista Clusters, seleccione el nombre del cluster en el que desea realizar un rollback de la versión de Kubernetes que se ejecuta en los nodos gestionados. Si necesita ayuda para buscar la página de lista o el cluster, consulte Listing Clusters.
  2. Seleccione el separador Pools de nodos y seleccione el nombre del pool de nodos en el que desea realizar un rollback de la versión de Kubernetes que se ejecuta en los nodos gestionados.

  3. En la página de detalles del pool de nodos, seleccione Editar en el menú Acciones.

  4. En el campo Versión del cuadro de diálogo Editar pool de nodos, seleccione la versión de Kubernetes anterior 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.

    Tenga en cuenta que la lista de versiones de Kubernetes incluye versiones de vista previa proporcionadas solo con fines de validación y prueba de acceso anticipado. Estas versiones de vista previa tienen ".0" como número de versión del parche (por ejemplo, 1.34.0). Las versiones de previsualización no están pensadas para cargas de trabajo de producción y pueden contener problemas sin soluciones alternativas conocidas. No recomendamos utilizar versiones de previsualización para las cargas de trabajo de producción.

  5. Seleccione Actualizar para guardar el cambio.

    Ahora tiene que suprimir los nodos gestionados existentes para que se inicien los nuevos nodos gestionados y se ejecute la versión de Kubernetes que ha especificado.

  6. Para el primer nodo gestionado del Pool de nodos:

    1. En la página de detalles del pool de nodos, seleccione el separador Nodos y, a continuación, seleccione Suprimir nodo en el menú Acciones junto al nodo que desea suprimir.
    2. Especifique cuándo y cómo acordonar y drenar el nodo gestionado antes de finalizarlo. No seleccione Reducir tamaño del pool de nodos, para que se inicie un nuevo nodo gestionado en lugar del pool de nodos que se está reduciendo verticalmente.
    3. Seleccione 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.

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

Uso de la interfaz de línea de comandos

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 obtener las versiones de Kubernetes disponibles para un pool de nodos gestionado

Utilice el comando oci ce node-pool-options get --node-pool-option-id all para obtener las versiones de Kubernetes disponibles para el pool de nodos gestionado.

Para realizar un rollback de los nodos gestionados en un cluster mejorado mediante la sustitución de volúmenes de inicio

Utilice el comando oci ce node-pool update para especificar una versión anterior de Kubernetes para el pool de nodos y sincronizar todos los nodos para sustituir sus volúmenes de inicio.

oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"BOOT_VOLUME_REPLACE\"],\"maximumUnavailable\":<value>}" --kubernetes-version <k8s-version>

Supervise el progreso de la operación mediante la visualización del estado de la solicitud de trabajo asociada:

oci ce work-request list --compartment-id <compartment-ocid> --resource-id <node-pool-ocid>
oci ce work-request get --work-request-id <work-request-ocid>

Realizar un rollback de los nodos gestionados en un cluster mejorado mediante la terminación y sustitución de nodos

Utilice el comando oci ce node-pool update para especificar una versión anterior de Kubernetes para el pool de nodos y para sincronizar todos los nodos para terminarlos y sustituirlos. Especifique el OCID de una imagen que corresponda a la versión de Kubernetes.

oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"INSTANCE_REPLACE\"],\"maximumUnavailable\":<value>,\"maximumSurge\":<value>}" --kubernetes-version <k8s-version> --node-source-details "{\"imageId\":\"<image-ocid>\",\"sourceType\":\"IMAGE\"}"

Supervise el progreso de la operación mediante la visualización del estado de la solicitud de trabajo asociada:

oci ce work-request list --compartment-id <compartment-ocid> --resource-id <node-pool-ocid>
oci ce work-request get --work-request-id <work-request-ocid>

Realizar un rollback de los nodos gestionados en un cluster básico suprimiendo y sustituyendo manualmente los nodos

En primer lugar, utilice el comando oci ce node-pool update para especificar la versión anterior de Kubernetes para el pool de nodos y el OCID de la imagen correspondiente:

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

A continuación, suprima 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

Uso de la API

Para obtener más información sobre el uso de la API y la firma de solicitudes, consulte la documentación de la API de REST y Credenciales de seguridad. Para obtener información sobre los SDK, consulte Los SDK y la CLI.

Utilice la operación GetNodePoolOptions para obtener las versiones de Kubernetes disponibles para un pool de nodos gestionado.

Utilice la operación UpdateNodePool para especificar una versión de Kubernetes anterior para el pool de nodos existente. Para un cluster mejorado, también puede especificar detalles de sincronización de nodos en la misma operación para reemplazar volúmenes de inicio o para terminar y reemplazar nodos.