Actualización de Node Pool en Azure AKS: Guía Detallada

Mantener la infraestructura de contenedores en la nube actualizada es esencial para garantizar el rendimiento, la seguridad y la estabilidad de las aplicaciones. En el ecosistema de Azure Kubernetes Service (AKS), la actualización de Node Pools se convierte en una tarea clave para mantener nuestros clústeres Kubernetes al día.

En esta entrada, nos sumergiremos en el proceso detallado de actualizar un Node Pool en Azure AKS, centrándonos en la escalabilidad y la actualización de imágenes. A lo largo de esta guía, no solo exploraremos los pasos prácticos, sino que también desglosaremos los comandos de Azure CLI utilizados en cada etapa, proporcionando claridad sobre su propósito y cómo influyen en la gestión eficiente de nuestros clústeres.

Acompáñanos en este viaje donde desmitificaremos el proceso, haciéndolo accesible incluso para aquellos menos familiarizados con la administración de clústeres de contenedores en la nube. ¡Prepárate para potenciar tus habilidades de gestión en Azure AKS!

Escalabilidad y Actualización de Imágenes

Escalabilidad del Node Pool

Para adaptar la capacidad de tu clúster AKS, el comando az aks nodepool scale te permite aumentar o disminuir el número de nodos en un Node Pool específico. Esto es útil para manejar cargas de trabajo cambiantes.

Desde el Portal: 

  • Seleccionar el Node Pool y ajustar la configuración de los nodos.

Powershell:

az aks nodepool scale --resource-group <RESOURCE GROUP> --cluster-name <NAME AKS> --name <NODE POOL NAME> --node-count <NEW NODE COUNT>

Este comando actualiza la cantidad de nodos en el Node Pool, lo que puede ser necesario para hacer frente a una mayor demanda de recursos.

Actualizar Imagen del Node Pool:

La actualización de la imagen del Node Pool es crucial para aplicar parches de seguridad y nuevas características. Utiliza el comando az aks nodepool update para especificar la versión de Kubernetes deseada.

Desde el Portal:

  • Seleccionar el Node Pool que desea actualizar y elegir «Update image.»
  • Proceder con la actualización.

Powershell:

az aks nodepool scale --resource-group <RESOURCE GROUP> --cluster-name <NAME AKS> --name <NODE POOL NAME> --node-count <NEW NODE COUNT>

Este paso garantiza que tu clúster utilice la última versión de Kubernetes, mejorando la seguridad y el rendimiento.

Acceder al Clúster Kubernetes:

Establecer la conexión al clúster AKS es esencial para interactuar con él. Los comandos az account set, az aks get-credentials, y kubelogin convert-kubeconfig facilitan el acceso desde la línea de comandos.

az account set --subscription XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
az aks get-credentials --resource-group <RESOURCE GROUP> --name <NAME AKS>
kubelogin convert-kubeconfig -l azurecli

Estos comandos te permiten autenticarte y acceder al clúster desde la interfaz de línea de comandos.

Verificar Nodos:

Utiliza kubectl get nodes para confirmar que los nodos en tu clúster están en estado «Ready». Esto garantiza que los nodos estén listos para ejecutar cargas de trabajo.

kubectl get nodes


NAME                                STATUS   ROLES   AGE   VERSION
aks-nodepool1-XXXXXXXX-vmss000001   Ready    agent   2d    v1.21.2
aks-nodepool1-XXXXXXXX-vmss000002   Ready    agent   2d    v1.21.2
aks-nodepool1-XXXXXXXX-vmss000003   Ready    agent   2d    v1.21.2

Cordon y Drenaje de Nodos Antiguos:

Antes de actualizar nodos, es necesario evitar que se programen nuevos pods en ellos y luego drenarlos.

kubectl cordon <NODO>

Este comando se utiliza para evitar que se programen nuevos pods en un nodo en particular. Es útil cuando se desea realizar algún tipo de mantenimiento en el nodo, pero no se desea eliminar los pods que se están ejecutando actualmente.

Drenamos los nodos que previamente habíamos puesto en estado de cordon.

 kubectl drain --ignore-daemonsets <NODO ORIGEN>

kubectl drain [node-name]: Este comando se utiliza para drenar un nodo antes de realizar tareas de
mantenimiento. Drenar un nodo significa que se evita que se planifiquen nuevos pods en ese nodo y
se eliminan los pods que ya se están ejecutando en ese nodo.

Verificación y Eliminación de Nodos Antiguos

  1. Verificar la Migración de Pods: Asegúrate de que los pods se han migrado correctamente antes de proceder a eliminar los nodos antiguos. Utiliza kubectl get pods -A -o wide para revisar el estado de los pods.
kubectl get pods -A -o wide

Eliminar Nodos Antiguos: Utiliza la interfaz de Azure Portal para eliminar los nodos antiguos después de confirmar que los pods se han migrado. Esto se hace desde «Virtual Machine Scale Set.»

kubectl get nodes

Restaurar Configuración de Escalabilidad

  1. Restaurar Escalabilidad: Después de completar la actualización, vuelve a ajustar la configuración de nodos al estado original utilizando az aks nodepool update.
az aks nodepool update --resource-group <RESOURCE GROUP> --cluster-name <NAME AKS> --name <NODE POOL NAME> --node-count <ORIGINAL NODE COUNT>

Restaurar la escalabilidad garantiza que el clúster vuelva a su configuración deseada.

:wq!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *