Tutorial: Implementación de un clúster de Azure Kubernetes Service (AKS)

Kubernetes proporciona una plataforma distribuida para aplicaciones en contenedores. Con AKS, puede crear rápidamente un clúster de Kubernetes listo para producción. En este tutorial, la tercera parte de siete, se implementa un clúster de Kubernetes en AKS. Aprenderá a:

  • Implementación de un clúster de Kubernetes AKS que puede autenticarse en un registro de contenedor de Azure
  • Instalar la CLI de Kubernetes (kubectl)
  • Configurar kubectl para conectarse a un clúster de AKS

En tutoriales posteriores, la aplicación Azure Vote se implementa en el clúster, se escala y se actualiza.

Antes de empezar

En los tutoriales anteriores, se creó una imagen de contenedor y se actualizó en una instancia de Azure Container Registry. Si no ha realizado estos pasos, y desea continuar, inicie el Tutorial 1: Creación de imágenes de contenedor.

Para realizar este tutorial es necesario ejecutar la versión 2.0.53, o superior, de la CLI de Azure. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Creación de un clúster de Kubernetes

Los clústeres de AKS pueden usar los controles de acceso basado en rol de Kubernetes (RBAC de Kubernetes). Dichos controles permiten definir el acceso a los recursos en función de los roles asignados a los usuarios. Los permisos se combinan si a un usuario se le asignan varios roles y los permisos se pueden limitar a un espacio de nombres único o a todo el clúster. De forma predeterminada, la CLI de Azure habilita automáticamente RBAC de Kubernetes al crear un clúster de AKS.

Cree un clúster de AKS mediante az aks create. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup. Este grupo de recursos se creó en el tutorial anterior en la región eastus. En el ejemplo siguiente no se especifica una región, por lo que el clúster de AKS también se crea en la región eastus. Para más información sobre los límites de recursos y la disponibilidad de regiones para AKS, consulte Cuotas, restricciones de tamaño de máquina virtual y disponibilidad de regiones en Azure Kubernetes Service (AKS).

Para permitir que un clúster de AKS interactúe con otros recursos de Azure, se crea automáticamente una identidad de clúster, ya que no se especificó ninguna. Aquí, a esta identidad de clúster se le concede el derecho a extraer imágenes de la instancia de Azure Container Registry (ACR) que creó en el tutorial anterior. Para ejecutar el comando correctamente, es necesario tener un rol Propietario o Administrador de cuenta de Azure en la suscripción de Azure.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

Para evitar la necesidad de un rol Propietario o Administrador de cuenta de Azure, también puede configurar una entidad de servicio manualmente para extraer imágenes de ACR. Para más información, consulte Autenticación de ACR con entidades de servicio o Autenticación desde Kubernetes con un secreto de extracción. También puede usar una identidad administrada en lugar de una entidad de servicio para facilitar la administración.

Al cabo de varios minutos, la implementación se completa y devuelve información en formato JSON sobre la implementación de AKS.

Nota

Para asegurarse de que el clúster funciona de forma confiable, debe ejecutar al menos 2 (dos) nodos.

Instalación de la CLI de Kubernetes

Para conectarse al clúster de Kubernetes desde su equipo local, use kubectl, el cliente de la línea de comandos de Kubernetes.

Si usa Azure Cloud Shell, kubectl ya está instalado. También lo puede instalar localmente. Para ello debe usar el comando az aks install-cli:

az aks install-cli

Conexión a un clúster mediante kubectl

Para configurar kubectl para conectarse a su clúster de Kubernetes, use el comando az aks get-credentials. En el ejemplo siguiente se obtienen las credenciales del clúster de AKS llamado myAKSCluster en el grupo de recursos myResourceGroup:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Para comprobar la conexión al clúster, use ejecute el comando kubectl get nodes para devolver una lista de los nodos del clúster:

kubectl get nodes

En la salida de ejemplo siguiente, se muestra la lista de nodos del clúster.

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

Pasos siguientes

En este tutorial, se ha implementado un clúster de Kubernetes en AKS y se ha configurado kubectl para conectarse a él. Ha aprendido a:

  • Implementación de un clúster de Kubernetes AKS que puede autenticarse en un registro de contenedor de Azure
  • Instalar la CLI de Kubernetes (kubectl)
  • Configurar kubectl para conectarse a un clúster de AKS

Vaya al siguiente tutorial para aprender a implementar una aplicación en el clúster.