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:
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
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.
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:
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}
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.
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}
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.