Actualiza los clústeres

Cuando instalas una versión nueva de bmctl, puedes actualizar los clústeres existentes que se crearon con una versión anterior. La actualización de un clúster a la versión más reciente de los clústeres de Anthos alojados en Bare Metal agrega funciones y correcciones agregadas a tu clúster. También garantiza que tu clúster permanezca compatible. Puedes actualizar los clústeres de administrador, híbrido, independiente o de usuario con el comando de bmctl upgrade cluster.

Consideraciones sobre la actualización

En las siguientes secciones, se describen las reglas y las prácticas recomendadas que debes tener en cuenta antes de actualizar un clúster.

Funciones de vista previa

Las funciones de vista previa están sujetas a cambios y se proporcionan solo con fines de prueba y evaluación. No uses funciones de vista previa en tus clústeres de producción. No garantizamos que los clústeres que usan características de vista previa se puedan actualizar. En algunos casos, bloqueamos de forma explícita las actualizaciones para los clústeres que usan las funciones de vista previa.

Para obtener información sobre los cambios rotundos relacionados con las actualizaciones, consulta las notas de la versión.

SELinux

Si deseas habilitar SELinux para proteger tus contenedores, debes asegurarte de que SELinux esté habilitado en el modo Enforced en todas tus máquinas anfitrión. A partir de la versión 1.9.0 o posterior de los clústeres de Anthos en equipos físicos, puedes habilitar o inhabilitar SELinux antes o después de crear o actualizar clústeres. SELinux está habilitado de forma predeterminada en Red Hat Enterprise Linux (RHEL) y CentOS. Si SELinux está inhabilitado en tus máquinas anfitrión o no estás seguro, consulta Protege tus contenedores con SELinux a fin de obtener instrucciones para habilitarlo.

Los clústeres de Anthos en equipos físicos son compatibles con SELinux en sistemas RHEL y CentOS.

Reglas de versión para actualizaciones

Cuando descargas una versión nueva de bmctl y la instalas, puedes actualizar los clústeres de administrador, híbridos, independientes y de usuario creados o actualizados con una versión anterior de bmctl. Los clústeres no se pueden cambiar a una versión inferior.

Solo puedes actualizar un clúster a una versión que coincida con la versión de bmctl que usas. Es decir, si usas la versión 1.13.4 de bmctl, solo puedes actualizar un clúster a la versión 1.13.4.

Actualizaciones de versiones de parches

Para una versión secundaria determinada, puedes actualizar a cualquier versión de parche superior. Es decir, puedes actualizar un clúster de la versión 1.13.X a la versión 1.13.Y siempre que Y sea mayor que X. Por ejemplo, puedes actualizar de 1.12.0 a 1.12.1 y actualizar de 1.12.1 a 1.12.3. Te recomendamos actualizar a la versión de parche más reciente siempre que sea posible para garantizar que los clústeres tengan las correcciones de seguridad más recientes.

Actualizaciones de versiones secundarias

Puedes actualizar los clústeres de una versión secundaria a la siguiente, sin importar la versión del parche. Es decir, puedes actualizar de 1.N.X a 1.N+1.Y, donde 1.N.X es la versión de tu clúster y N+1 es la siguiente versión secundaria disponible. Las versiones del parche, X y Y, no afectan la lógica de actualización en este caso. Por ejemplo, puedes actualizar de 1.12.3 a 1.13.4.

No puedes omitir versiones secundarias cuando actualizas clústeres. Si intentas actualizar a una versión secundaria que es dos o más versiones secundarias posteriores a la versión del clúster, bmctl emite un error. Por ejemplo, no puedes actualizar un clúster de versión 1.11.0 a la versión 1.13.0.

Un clúster de administrador puede administrar clústeres de usuario que se encuentran en la misma versión secundaria o en una anterior. Los clústeres de usuario administrados no pueden tener una versión secundaria menor que el clúster de administrador, por lo que, antes de actualizar un clúster de administrador a una versión secundaria nueva, asegúrate de que todos los clústeres de usuario administrados usen la misma versión secundaria que el clúster de administrador.

En los ejemplos de las siguientes instrucciones de actualización, se muestra el proceso de actualización de la versión 1.12.2 a los clústeres de Anthos en el equipo físico 1.13.4.

Actualizaciones locales para clústeres autoadministrados

A partir de los clústeres de Anthos en la versión 1.13.1 de Bare Metal, puedes realizar actualizaciones locales en clústeres independientes, de administrador e híbridos. Una actualización en un solo lugar elimina la necesidad de un clúster de arranque, lo que simplifica el proceso y reduce los requisitos de recursos para una actualización. Antes de que puedas realizar una actualización en un solo lugar en tu clúster autoadministrado, debe estar en la versión 1.13.0 o superior.

Para realizar una actualización en un solo lugar, puedes usar bmctl o kubectl:

bmctl

El proceso de actualización es idéntico al proceso de actualización estándar, excepto para el comando bmctl upgrade cluster.

  • Para iniciar la actualización en un solo lugar, usa la marca --use-bootstrap=false con el siguiente comando de actualización:

    bmctl upgrade cluster -c CLUSTER_NAME --use-bootstrap=false \
        --kubeconfig ADMIN_KUBECONFIG
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster que se actualizará
    • ADMIN_KUBECONFIG: la ruta al archivo kubeconfig del clúster de administrador.

Al igual que con el proceso de actualización estándar, las verificaciones de solicitudes preliminares se ejecutan como parte de la actualización del clúster para validar el estado del nodo. Si las comprobaciones previas fallan, la actualización del clúster se detiene. Para solucionar cualquier error, examina el clúster y los registros relacionados, ya que no se crea ningún clúster de arranque.

kubectl

Para actualizar un clúster autoadministrado con kubectl, sigue estos pasos:

  1. Edita el archivo de configuración del clúster para establecer anthosBareMetalVersion en la versión de destino de la actualización.

  2. Para iniciar la actualización, ejecuta el siguiente comando:

    kubectl apply -f CLUSTER_CONFIG_PATH
    

    Reemplaza CLUSTER_CONFIG_PATH por la ruta de acceso al archivo kubeconfig del clúster.

Al igual que con el proceso de actualización estándar, las verificaciones previas se ejecutan como parte de la actualización del clúster para validar el estado de los nodos. Si las comprobaciones previas fallan, la actualización del clúster se detiene. Para solucionar cualquier error, examina el clúster y los registros relacionados, ya que no se crea ningún clúster de arranque.

Densidad del Pod

Los clústeres de Anthos en equipos físicos admiten la configuración de hasta 250 Pods por nodo como máximo con nodeConfig.PodDensity.MaxPodsPerNode. Solo puedes configurar la densidad del pod durante la creación del clúster. No puedes actualizar la configuración de la densidad del pod para los clústeres existentes.

Problemas conocidos

Para obtener información sobre posibles problemas relacionados con las actualizaciones de clústeres, consulta Actualiza los clústeres de Anthos en equipos físicos en la página Problemas conocidos.

Actualiza clústeres de administrador, independiente, híbrido o de usuario

Cuando descargas e instalas una versión nueva de bmctl, puedes actualizar tus clústeres de administrador, híbridos, independientes y de usuario creados con una versión anterior. Para una versión determinada de bmctl, un clúster solo se puede actualizar a la misma versión.

Primero, descarga el bmctl más reciente, luego modifica los archivos de configuración del clúster apropiados y, luego, emite el comando bmctl upgrade cluster para completar la actualización.

  1. Descarga el bmctl más reciente del bucket de Cloud Storage y usa chmod para otorgar a bmctl permisos de ejecución a todos los usuarios:

    gsutil cp gs://anthos-baremetal-release/bmctl/1.13.4/linux-amd64/bmctl bmctl
    chmod a+x bmctl
    
  2. Modifica el archivo de configuración del clúster para cambiar la versión del clúster de clústeres de Anthos en equipos físicos de 1.12.2 a 1.13.4 A continuación, se muestra un ejemplo de una configuración de clúster de administrador:

    ---
    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: cluster1
      namespace: cluster-cluster1
    spec:
      # Cluster type. This can be:
      #   1) admin:  to create an admin cluster. This can later be used to create user clusters.
      #   2) user:   to create a user cluster. Requires an existing admin cluster.
      #   3) hybrid: to create a hybrid cluster that runs admin cluster components and user workloads.
      #   4) standalone: to create a cluster that manages itself, runs user workloads, but does not manage other clusters.
      type: admin
      # Anthos cluster version.
      # Change the following line from 1.12.2 to 1.13.4, shown below
      anthosBareMetalVersion: 1.13.4
    
  3. Cuando actualizas clústeres a 1.13.4, debes registrar los clústeres con Connect en la flota de tu proyecto, si aún no se registran.

    1. Crea cuentas de servicio de forma manual y recupera los archivos de claves JSON como se describe en Configura cuentas de servicio para usar con Connect en la página Habilitar servicios de Google y cuentas de servicio.
    2. Haz referencia a las claves JSON descargadas en los campos gkeConnectAgentServiceAccountKeyPath y gkeConnectRegisterServiceAccountKeyPath asociados del archivo de configuración del clúster.
  4. Usa el comando de bmctl upgrade cluster para completar la actualización:

    bmctl upgrade cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster que se actualizará
    • ADMIN_KUBECONFIG la ruta al archivo kubeconfig del clúster de administrador

    Las verificaciones previas se ejecutan como parte de la actualización del clúster para validar el estado de los clústeres y los nodos. La actualización del clúster no continúa si las verificaciones previas fallan.