Inicio rápido: Implementación de un clúster de Azure Kubernetes Service mediante la CLI de Azure
Azure Kubernetes Service (AKS) es un servicio de Kubernetes administrado que le permite implementar y administrar clústeres rápidamente. En este inicio rápido realizará lo siguiente:
Implementación de un clúster de AKS con la CLI de Azure.
Ejecución de una aplicación de varios contenedores con un servidor front-end web y una instancia de Redis en el clúster.
Supervisión del estado del clúster y de los pods que ejecutan la aplicación.

En esta guía rápida se presupone un conocimiento básico de los conceptos de Kubernetes. Para más información, consulte Conceptos básicos de Kubernetes de Azure Kubernetes Service (AKS).
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Para más información sobre cómo crear un grupo de nodos de Windows Server, consulte Creación de un clúster de AKS que admita contenedores de Windows Server.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell.
Si lo prefiere, instale la CLI de Azure para ejecutar sus comandos de referencia.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- En este artículo se necesita la versión 2.0.64, o versiones posteriores, de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
- La identidad que usa para crear el clúster tiene los permisos mínimos adecuados. Para más información sobre el acceso y la identidad en AKS, consulte Opciones de acceso e identidad en Azure Kubernetes Service (AKS).
Nota
Si planea ejecutar los comandos de este inicio rápido localmente en lugar de en Azure Cloud Shell, hágalo como administrador.
Crear un grupo de recursos
Un grupo de recursos de Azure es un grupo lógico en el que se implementan y administran recursos de Azure. Cuando crea un grupo de recursos, se le pide que especifique una ubicación. Esta ubicación es:
- La ubicación de almacenamiento de los metadatos del grupo de recursos.
- El lugar en el que se ejecutan los recursos en Azure si no se especifica otra región al crearlos.
En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus.
Cree un grupo de recursos con el comando az group create.
az group create --name myResourceGroup --location eastus
Salida del grupo de recursos que se creó correctamente:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Habilitación de la supervisión de clústeres
Compruebe que Microsoft.OperationsManagement y Microsoft.OperationalInsights están registrados en la suscripción. Para comprobar el estado del registro, siga estos pasos:
az provider show -n Microsoft.OperationsManagement -o table
az provider show -n Microsoft.OperationalInsights -o table
Si no están registrados, use el siguiente comando para registrar Microsoft.OperationsManagement y Microsoft.OperationalInsights:
az provider register --namespace Microsoft.OperationsManagement
az provider register --namespace Microsoft.OperationalInsights
Creación de un clúster de AKS
Cree un clúster de AKS con el comando az aks create y el parámetro --enable-addons monitoring para habilitar Azure Monitor para contenedores. En el siguiente ejemplo se crea un clúster denominado myAKSCluster con un nodo:
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
Transcurridos unos minutos, el comando se completa y devuelve información en formato JSON sobre el clúster.
Nota
Al crear un clúster de AKS, se crea automáticamente un segundo grupo de recursos para almacenar los recursos de dicho clúster. Para más información, consulte ¿Por qué se crean dos grupos de recursos con AKS?
Conectarse al clúster
Para administrar un clúster de Kubernetes, use kubectl, el cliente de línea de comandos de Kubernetes. Si usa Azure Cloud Shell, kubectl ya está instalado.
Instale
kubectllocalmente mediante el comando az aks install-cli:az aks install-cliPara configurar
kubectlpara conectarse a su clúster de Kubernetes, use el comando az aks get-credentials. El siguiente comando:- Descarga las credenciales y configura la CLI de Kubernetes para usarlas.
- Usa
~/.kube/config, la ubicación predeterminada del archivo de configuración de Kubernetes. Puede especificar otra ubicación para el archivo de configuración de Kubernetes con la opción --file.
az aks get-credentials --resource-group myResourceGroup --name myAKSClusterCompruebe la conexión al clúster con el comando kubectl get. Este comando devuelve una lista de los nodos del clúster.
kubectl get nodesLa salida muestra el nodo único creado en los pasos anteriores. Asegúrese de que el estado del nodo es Listo:
NAME STATUS ROLES AGE VERSION aks-nodepool1-31718369-0 Ready agent 6m44s v1.12.8
Ejecución de la aplicación
Un archivo de manifiesto de Kubernetes define el estado deseado del clúster, por ejemplo, qué imágenes de contenedor se van a ejecutar.
En este inicio rápido se usa un manifiesto para crear todos los objetos necesarios para ejecutar la aplicación Azure Vote. Este manifiesto incluye dos implementaciones de Kubernetes:
- Las aplicaciones de Python de ejemplo de Azure Vote.
- Una instancia de Redis.
También se crean dos servicios de Kubernetes:
- Un servicio interno para la instancia de Redis.
- Un servicio externo para acceder a la aplicación Azure Vote desde Internet.
Cree un archivo llamado
azure-vote.yaml.- Si usa Azure Cloud Shell, este archivo se puede crear mediante
code,vionanocomo si trabajara en un sistema físico o virtual:
- Si usa Azure Cloud Shell, este archivo se puede crear mediante
Copie la siguiente definición de código YAML:
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-frontImplemente la aplicación mediante el comando kubectl apply y especifique el nombre del manifiesto de YAML:
kubectl apply -f azure-vote.yamlLa salida muestra los servicios y las implementaciones que se crearon correctamente:
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
Prueba de la aplicación
Cuando se ejecuta la aplicación, un servicio de Kubernetes expone el front-end de la aplicación a Internet. Este proceso puede tardar unos minutos en completarse.
Para supervisar el progreso, utilice el comando kubectl get service con el argumento --watch.
kubectl get service azure-vote-front --watch
La salida de EXTERNAL-IP del servicio azure-vote-front aparecerá inicialmente como pendiente.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Una vez que la dirección EXTERNAL-IP cambia de pendiente a una dirección IP pública real, use CTRL-C para detener el kubectl proceso de inspección. En la salida del ejemplo siguiente se muestra una dirección IP pública válida asignada al servicio:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Para ver la aplicación Azure Vote en acción, abra un explorador web en la dirección IP externa del servicio.

Vea las métricas de mantenimiento de los nodos del clúster y los pods capturadas por Azure Monitor para contenedores en Azure Portal.
Eliminación del clúster
Para evitar cargos de Azure, se recomienda limpiar los recursos que no sean necesarios. Use el comando az group delete para quitar el grupo de recursos, el servicio de contenedor y todos los recursos relacionados.
az group delete --name myResourceGroup --yes --no-wait
Nota
Cuando elimina el clúster, la entidad de servicio Azure Active Directory que utiliza el clúster de AKS no se quita. Para conocer los pasos que hay que realizar para quitar la entidad de servicio, consulte Consideraciones principales y eliminación de AKS.
Si usó una identidad administrada, esta está administrada por la plataforma y no requiere que la quite.
Obtención del código
En este inicio rápido, se han usado imágenes de un contenedor creado previamente para crear una implementación de Kubernetes. El código de la aplicación relacionada, Dockerfile, y el archivo de manifiesto de Kubernetes están disponibles en GitHub.
Pasos siguientes
En este inicio rápido, ha implementado un clúster de Kubernetes y luego ha implementado en él una aplicación de varios contenedores. Acceda al panel web de Kubernetes del clúster de AKS.
Para obtener más información sobre AKS y un ejemplo completo desde el código hasta la implementación, continúe con el tutorial del clúster de Kubernetes.
