Contenido del curso

Crea tu primer clúster AKS con CLI

Resumen

Crear un clúster en Azure Kubernetes Service (AKS) es uno de los pasos más solicitados en entrevistas para roles de DevOps y Azure Cloud Engineer. Aquí aprenderás a aprovisionarlo desde la CLI de Azure, registrar los servicios necesarios y conectar tu kubectl local para empezar a desplegar aplicaciones.

La integración entre AKS y Azure DevOps es uno de los grandes diferenciales de este proveedor: te permite automatizar despliegues con continuous integration desde desarrollo hasta producción sin salir del ecosistema de Microsoft.

¿Qué necesitas antes de crear un clúster en AKS?

Antes de lanzar comandos, debes tener tu cuenta de Azure activa con un método de pago configurado. Microsoft ofrece una capa gratuita, así que si es tu primera vez puedes experimentar sin costo inicial [00:42].

Los requisitos básicos son tres:

  • Tener instalada la CLI de Azure y validarla con az --version [02:07].
  • Instalar el complemento de kubectl con az aks install-cli (si ya lo tienes, verás un error que puedes ignorar) [02:25].
  • Hacer login con az login y seleccionar la suscripción donde trabajarás [02:55].

¿Qué es un grupo de recursos en Azure? Es un contenedor lógico donde Azure agrupa servicios relacionados para gestionar billing, monitoreo y permisos en conjunto. En AKS, todo clúster vive dentro de un resource group.

¿Cómo creo el grupo de recursos desde la terminal?

El primer paso real es crear el contenedor lógico que albergará tu clúster. El comando es directo:

bash az group create --name k8scourse-aksdemo --location eastus

En segundos verás el grupo reflejado en la consola de Azure tras un refresh. Aquí se centralizará la configuración de pago y monitoreo de todos los recursos asociados [04:00].

¿Por qué falla la creación del clúster en AKS la primera vez?

Es común que el comando az aks create falle en cuentas nuevas porque la suscripción no tiene registrados los providers necesarios. Azure exige activar manualmente ciertos namespaces antes de aprovisionar Kubernetes.

Para diagnosticarlo, ejecuta az provider list y revisa qué servicios están habilitados. Si no ves container service ni insights, debes registrarlos:

  • az provider register --namespace Microsoft.ContainerService.
  • az provider register --namespace Microsoft.OperationsManagement.
  • az provider register --namespace Microsoft.OperationalInsights.

Otro error frecuente es el del tamaño de máquina virtual. El default Standard_DS2 puede no estar disponible en tu región, así que conviene especificar un tamaño compatible como Standard_D2s_v3 [07:45].

¿Cómo soluciono el error de VM size not allowed? Agrega el flag --node-vm-size Standard_D2s_v3 al comando az aks create. Esto fuerza a Azure a usar un tamaño que sí está disponible en tu región.

¿Cuál es el comando completo para crear el clúster?

Con los providers registrados y el tamaño correcto, el comando final luce así:

bash az aks create
--resource-group k8scourse-aksdemo
--name k8scourse-demo-aks
--node-count 3
--node-vm-size Standard_D2s_v3
--enable-addons monitoring
--generate-ssh-keys

Este comando crea tres nodos, activa el add-on de monitoreo y genera las llaves SSH automáticamente. El proceso tarda entre 15 y 20 minutos [08:30].

Mientras esperas, vale la pena explorar Azure DevOps Organizations, el servicio que potencia los flujos de continuous integration y despliegue automatizado dentro del mismo ecosistema [09:30].

¿Cómo conecto kubectl con mi clúster recién creado?

Una vez Azure termine el aprovisionamiento (verás Kubernetes en versión 1.31.7 por defecto), debes traer las credenciales a tu máquina local. El comando que sincroniza el kubeconfig es:

bash az aks get-credentials --resource-group k8scourse-aksdemo --name k8scourse-demo-aks

Esto agrega un nuevo contexto a tu archivo de configuración. Puedes listar todos tus contextos con kubectl config get-contexts y verás Minikube, GKE y ahora AKS conviviendo [11:50].

Al ejecutar kubectl get nodes notarás algo interesante: los nodos no muestran rol de worker ni de control plane. Esto ocurre porque en clústeres gestionados, el control plane corre directamente en la infraestructura del proveedor mediante un cloud controller manager, así que tú solo administras los nodos worker.

¿Qué componentes vienen preinstalados en AKS?

Si inspeccionas el namespace kube-system con kubectl get pods -n kube-system, descubrirás que AKS llega con muchas piezas listas para producción:

  • Azure CNI para la red del clúster.
  • CoreDNS y CoreDNS autoscaler para resolución de nombres.
  • CSI driver (Container Storage Interface) para aprovisionar PV y PVC en la nube.
  • Cloud node manager, kube-proxy y metrics server.
  • Agentes de conectividad para autoescalamiento y un componente de logs.

Esto significa que puedes crear un namespace nuevo (kubectl create namespace platzi-aks) y empezar a desplegar aplicaciones de inmediato, sin instalar capas adicionales como harías en un clúster on-premise.

La elección entre AKS, GKE o EKS depende de tu caso de uso, integraciones nativas y costos. Todos son orquestadores de Kubernetes con las mismas bases, pero cada uno brilla en escenarios distintos. ¿Cuál estás considerando para tu próximo proyecto? Cuéntame en los comentarios.