Actualización de un clúster de Azure Kubernetes Service (AKS)
Se aplica a: Azure Local, versión 23H2
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. Una actualización implica un traslado a una versión más reciente de Kubernetes, la aplicación de actualizaciones de versión del sistema operativo (aplicación de revisiones) o ambas. AKS Arc admite la actualización de nodos (o aplicación de revisiones) en un clúster de cargas de trabajo con las actualizaciones más recientes del sistema operativo y el entorno de ejecución.
Todas las actualizaciones se ejecutan de forma continua y gradual para garantizar la disponibilidad ininterrumpida de las cargas 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.
Antes de empezar
Si usa la CLI de Azure, en este artículo se requiere la versión 2.34.1 o posterior de la CLI de Azure. Ejecute az --version
para encontrar la versión. Si necesita instalar o actualizar la CLI, consulte Instalación de la CLI de Azure.
Comprobación de las actualizaciones disponibles
Compruebe qué versiones de Kubernetes están disponibles para el clúster mediante el comando siguiente:
az aksarc get-upgrades --resource-group myResourceGroup --name myAKSCluster
En la salida de ejemplo siguiente se muestra la versión actual como 1.24.11 y se enumeran las versiones disponibles en upgrades
:
{
"agentPoolProfiles": [
{
"kubernetesVersion": "1.24.11",
"upgrades": [
{
"kubernetesVersion": "1.25.7"
}
]
}
],
"controlPlaneProfile": {
"kubernetesVersion": "1.24.11",
"name": "aksarc-testupgrade",
"osType": "Linux",
"upgrades": [
{
"kubernetesVersion": "1.25.7"
}
]
},
...
"provisioningState": "Succeeded",
...
}
Actualización de la versión de Kubernetes
Al actualizar un clúster de AKS compatible, no se pueden omitir las versiones secundarias de Kubernetes. Debe hacer las actualizaciones secuencialmente con arreglo al número de versión principal. Por ejemplo, se permiten las actualizaciones de 1.24.x a 1.25.x o 1.25.x a 1.26.x . No se permite 1.24.x a 1.26.x .
Nota:
Si no se especifica ninguna revisión, el clúster se actualiza automáticamente a la revisión de disponibilidad general más reciente de la versión secundaria especificada. Por ejemplo, si se establece --kubernetes-version
en 1.25 , el clúster se actualiza a 1.25.7.
Puede actualizar el clúster mediante el siguiente comando:
az aksarc upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version <KUBERNETES_VERSION>
Confirme que la actualización se realizó correctamente mediante el show
comando :
az aksarc show --resource-group myResourceGroup --name myAKSCluster
En la salida de ejemplo siguiente se muestra que el clúster ahora ejecuta la versión 1.25.7:
{
"extendedLocation": {
"name":
"/subscriptions/<subscription>/resourcegroups/<resource group>/providers/microsoft.extendedlocation/customlocations/<custom
location>",
"type": "CustomLocation"
},
"id": "/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.Kubernetes/connectedClusters/aksarc-testupgrade/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default",
"name": "default",
"properties": {
"agentPoolProfiles": [
{
}
],
"controlPlane": {
"availabilityZones": null,
"controlPlaneEndpoint": {
"hostIp": null,
"port": null
},
"count": 1,
"linuxProfile": {
"ssh": {
"publicKeys": null
}
},
"name": null,
"nodeImageVersion": null,
"osSku": "CBLMariner",
"osType": "Linux",
"vmSize": "Standard_A4_v2"
},
"kubernetesVersion": "1.25.7",
...
"provisioningState": "Succeeded",
...
},
....
"type": "microsoft.hybridcontainerservice/provisionedclusterinstances"
}
Importante
Cuando se realiza una actualización desde una versión no admitida que omite dos o más versiones secundarias, la actualización no puede garantizar la funcionalidad adecuada. Si la versión no está actualizada, se recomienda volver a crear el clúster en su lugar.
Durante una operación de actualización, los provisioningState
indicadores y currentState
muestran un mensaje de actualización para reflejar el proceso en curso. Sin embargo, si la operación agota el tiempo de espera, provisioningState
muestra Error, mientras currentState
continúa mostrando la actualización a medida que la actualización continúa en segundo plano. No se requiere ninguna acción; la actualización continúa hasta que se completa.
Actualización de la versión del sistema operativo (SO)
La actualización de nodos de trabajo a una versión más reciente de la imagen de nodo sin cambiar la versión de Kubernetes solo funciona si la nueva imagen no requiere otra versión de Kubernetes. Actualmente, AKS Arc no admite actualizaciones solo de imagen de nodo en todas las versiones de Kubernetes compatibles. Si necesita actualizar la imagen de nodo, debe actualizar el clúster a la versión más reciente de Kubernetes para asegurarse de que se incorporan todas las actualizaciones de imágenes de nodo.
Importante
Al intentar usar la node-image-only
marca, recibirá un mensaje que indica que esta característica aún no se admite.