Actualización de imágenes de nodos de Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS) proporciona regularmente nuevas imágenes de nodo, por lo que resulta conveniente actualizar las imágenes de nodo con frecuencia para usar las características más recientes de AKS. Las imágenes de nodo de Linux se actualizan semanalmente, mientras que las de Windows se actualizan mensualmente. Los anuncios de actualización de imágenes se incluyen en las notas de la versión de AKS y pueden tardar hasta una semana en implementarse en todas las regiones. También puede realizar actualizaciones de imágenes de nodo automáticamente y programarlas mediante el mantenimiento planeado. Para más información, vea Actualización automática de imágenes de nodo.
En este artículo se muestra cómo actualizar las imágenes de nodo de un clúster de AKS y cómo actualizar las imágenes de grupo de nodos sin actualizar la versión de Kubernetes. Para obtener información sobre la actualización de la versión del clúster de Kubernetes, vea Actualización de un clúster de AKS.
Nota
El clúster de AKS debe usar conjuntos de escalado de máquinas virtuales para los nodos.
No es posible cambiar a una versión anterior de imagen de nodo (por ejemplo , AKSUbuntu-2204 a AKSUbuntu-1804 o AKSUbuntu-2204-202308.01.0 a AKSUbuntu-2204-202307.27.0).
Comprobar las actualizaciones de imágenes de nodo disponibles
Compruebe si hay actualizaciones de imágenes de nodo disponibles mediante el comando
az aks nodepool get-upgrades
.az aks nodepool get-upgrades \ --nodepool-name <node-pool-name> \ --cluster-name <cluster-name> \ --resource-group <resource-group>
En la salida, busque y anote el valor
latestNodeImageVersion
. Este valor es la versión más reciente de la imagen de nodo disponible para el grupo de nodos.Compruebe la versión actual de su imagen de nodo para compararla con la última versión mediante el comando
az aks nodepool show
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --query nodeImageVersion
Si el valor
nodeImageVersion
es diferente delatestNodeImageVersion
, puede actualizar la imagen del nodo.
Actualización de todas las imágenes de nodos de todos los grupos de nodos
Actualice todas las imágenes de nodo de todos los grupos de nodos del clúster mediante el comando
az aks upgrade
con la marca--node-image-only
.az aks upgrade \ --resource-group <resource-group> \ --name <cluster-name> \ --node-image-only
Puede comprobar el estado de las imágenes de nodo mediante el comando
kubectl get nodes
.Nota:
Este comando puede diferir ligeramente en función del shell que use. Para obtener más información sobre los entornos de Windows o PowerShell consulte la documentación de JSONPath de Kubernetes.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Una vez completada la actualización, use el comando
az aks show
para obtener los detalles actualizados del grupo de nodos. La imagen del nodo actual se muestra en la propiedadnodeImageVersion
.az aks show \ --resource-group <resource-group> \ --name <cluster-name>
Actualización de un grupo de nodos específico
Actualice la imagen del sistema operativo de un grupo de nodos sin realizar una actualización del clúster de Kubernetes, utilizando el comando
az aks nodepool upgrade
con la marca--node-image-only
.az aks nodepool upgrade \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --node-image-only
Puede comprobar el estado de las imágenes de nodo con el comando
kubectl get nodes
.Nota
Este comando puede diferir ligeramente en función del shell que use. Para obtener más información sobre los entornos de Windows o PowerShell consulte la documentación de JSONPath de Kubernetes.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Una vez completada la actualización, use el comando
az aks nodepool show
para obtener los detalles actualizados del grupo de nodos. La imagen del nodo actual se muestra en la propiedadnodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
Actualización de imágenes de nodo con sobrecarga de nodos
Para acelerar el proceso de actualización de la imagen de nodo, puede actualizar las imágenes de nodo mediante un valor de sobrecarga de nodo personalizable. De forma predeterminada, AKS usa un nodo adicional para configurar las actualizaciones.
Actualice las imágenes de nodo con el aumento de nodos mediante el comando
az aks nodepool update
con la marca--max-surge
para configurar el número de nodos usados para las actualizaciones.Nota:
Para obtener más información sobre las ventajas e inconvenientes de varias configuraciones de
--max-surge
, consulte--max-surge
.az aks nodepool update \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --max-surge 33% \ --no-wait
Puede comprobar el estado de las imágenes de nodo con el comando
kubectl get nodes
.kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Obtenga los detalles actualizados del grupo de nodos mediante
az aks nodepool show
para obtener los detalles actualizados del grupo de nodos. La imagen del nodo actual se muestra en la propiedadnodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
Pasos siguientes
- Para más información sobre las imágenes de nodo más recientes, consulte las notas de la versión de AKS.
- Obtenga información sobre cómo actualizar la versión de Kubernetes con Actualización de un clúster de AKS.
- Aplicación de actualizaciones de grupos de nodos y clústeres automáticamente con Acciones de GitHub.
- Obtenga más información sobre varios grupos de nodos con Creación de varios grupos de nodos.
- Obtenga información sobre cómo actualizar los procedimientos recomendados con la revisión y la guía de actualización de AKS.
Azure Kubernetes Service