Compartir a través de


Tutorial: Actualización de Kubernetes en AKS habilitado por Azure Arc

Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server

Como parte de la administración del ciclo de vida de la aplicación y del clúster, es posible que quiera actualizar a la versión más reciente disponible de Kubernetes cuando use AKS habilitado por Azure Arc.

En este tutorial, la parte siete de siete, se describe cómo actualizar un clúster de Kubernetes. Aprenderá a:

  • Identificación de las versiones de Kubernetes actuales y disponibles
  • Actualización de la versión de Kubernetes de los nodos de Kubernetes
  • Actualización de la versión del sistema operativo de los nodos de Kubernetes
  • Actualización de un clúster de Kubernetes a la versión más reciente
  • Validación de una actualización correcta
  • Eliminación de un clúster de Kubernetes

¿Cuáles son las opciones de actualización disponibles?

Hay varios tipos de actualizaciones, que pueden producirse de forma independiente entre sí y en determinadas combinaciones admitidas:

  • Actualice el host de AKS a la versión más reciente.
  • Actualice un clúster de cargas de trabajo de AKS a una nueva versión de Kubernetes.
  • Actualice los hosts de contenedor de AKS a una versión más reciente del sistema operativo.
  • Actualización combinada del sistema operativo y la versión de Kubernetes.

Todas las actualizaciones se realizan en un flujo gradual para evitar interrupciones en la disponibilidad de la carga de trabajo. Cuando se incorpora en el clúster un nuevo nodo de trabajo de Kubernetes con la compilación más reciente, los recursos se mueven del nodo anterior al nuevo. Una vez completado correctamente, el nodo anterior se retira y se quita del clúster.

En los ejemplos de este tutorial, se supone que el clúster de cargas de trabajo, mycluster, tiene actualmente la versión 1.18.8 de Kubernetes y usa una versión del sistema operativo de más de 30 días de antigüedad.

Antes de empezar

En tutoriales anteriores, ha aprendido a empaquetar una aplicación en una imagen de contenedor, cargarla en Azure Container Registry y crear un clúster de Kubernetes. A continuación, implementó la aplicación en el clúster. Si no ha finalizado estos pasos, comience con el Tutorial 1: Creación de imágenes de contenedor.

Actualización de la versión de Kubernetes de un clúster de carga de trabajo

Debe actualizar primero los módulos de PowerShell y el host de AKS antes de actualizar la versión de Kubernetes.

Importante

La actualización de un clúster de cargas de trabajo a una versión más reciente de Kubernetes solo funciona si la versión de Kubernetes de destino es compatible con la versión actual del sistema operativo. Use el comando Get-AksHciUpdates para comprobar las combinaciones admitidas de versión del sistema operativo y de Kubernetes.

Para actualizar la versión de Kubernetes, utilice los pasos siguientes:

  1. Para obtener la versión actual del clúster de cargas de trabajo, ejecute el siguiente comando:

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. Para obtener las versiones de Kubernetes disponibles, ejecute el siguiente comando:

    Get-AksHciKubernetesVersion
    
    OrchestratorType OrchestratorVersion OS      IsPreview
    ---------------- ------------------- --      ---------
    Kubernetes       v1.19.9             Linux       False
    Kubernetes       v1.19.11            Linux       False
    Kubernetes       v1.20.5             Linux       False
    Kubernetes       v1.20.7             Linux       False
    Kubernetes       v1.21.1             Linux       False
    Kubernetes       v1.19.9             Windows     False
    Kubernetes       v1.19.11            Windows     False
    Kubernetes       v1.20.5             Windows     False
    Kubernetes       v1.20.7             Windows     False
    Kubernetes       v1.21.1             Windows     False
    

    La salida muestra las versiones y los sistemas operativos de Kubernetes en los que está disponible la versión. Puede ver que hay más versiones de actualización disponibles. Sin embargo, al actualizar clústeres, no se pueden omitir las versiones. Por ejemplo, se permite v1.18.xx --> v1.19.xx, pero no se permite v1.18.xx --> v1.20.xx.

  3. Inicio de la actualización de la versión de Kubernetes

    Para actualizar la versión de Kubernetes, ejecute el siguiente comando:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    Nota:

    Este comando solo actualiza los nodos del clúster existentes en el clúster de cargas de trabajo mycluster a la nueva versión de Kubernetes.

Actualizar solo la versión del sistema operativo

Importante

Puede actualizar un clúster de cargas de trabajo a una versión más reciente del sistema operativo sin cambiar la versión de Kubernetes, pero esto solo funciona si la nueva versión del sistema operativo no requiere una versión de Kubernetes diferente.

Siga los pasos del ejemplo siguiente para actualizar la versión del sistema operativo:

  1. Para obtener las actualizaciones disponibles del clúster de cargas de trabajo, ejecute el siguiente comando:

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                operatingsystemversion
    -------                             -----------------                ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9  @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5  @{mariner=April 2021; windows=April 2021}
    
  2. Para iniciar la actualización de la versión del sistema operativo, ejecute el siguiente comando:

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

Actualización del sistema operativo y la versión de Kubernetes

Importante

Se permite actualizar un clúster de cargas de trabajo a una versión más reciente del sistema operativo y de Kubernetes.

En el ejemplo siguiente se supone que hay una nueva versión de Kubernetes disponible y que el número de versión actual es v1.20.7.

  1. Para obtener todas las actualizaciones disponibles del clúster de cargas de trabajo, ejecute el siguiente comando:

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                  operatingsystemversion
    -------                             -----------------                  ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9    @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5    @{mariner=April 2021; windows=April 2021}
    
  2. Para iniciar la actualización del clúster de cargas de trabajo, ejecute el siguiente comando:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

Validación de una actualización

Confirme que la actualización se haya realizado correctamente mediante el comando Get-AksHciCluster, tal y como se muestra a continuación:

Get-AksHciCluster -name mycluster

La salida del ejemplo siguiente muestra que el clúster ejecuta la versión 1.21.1 de Kubernetes:

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Eliminación del clúster

Como este tutorial es la última parte de la serie, es posible que desee eliminar el clúster. Use el comando Remove-AksHciCluster para quitar el grupo de recursos, el servicio de contenedor y todos los recursos relacionados:

Remove-AksHciCluster -name mycluster

Pasos siguientes

En este tutorial, ha actualizado Kubernetes en un clúster de Kubernetes en AKS habilitado por Arc. Ha aprendido a:

  • Identificación de las versiones de Kubernetes actuales y disponibles
  • Actualización de la versión de Kubernetes de los nodos de Kubernetes
  • Actualización de la versión del sistema operativo de los nodos de Kubernetes
  • Actualización de un clúster de Kubernetes a la versión más reciente
  • Validación de una actualización correcta

Para más información sobre AKS habilitado por Azure Arc, consulte la introducción a AKS y las cargas de trabajo y clústeres.