Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✔️ AKS Automatic
Azure Kubernetes Service (AKS) Automatic es una experiencia administrada de Kubernetes que automatiza la configuración y las operaciones del clúster de AKS e inserta las configuraciones de procedimientos recomendados. AKS Automatic también incluye un [SLA de preparación de pod][azure-sla] que garantiza que el 99,9% de las operaciones de preparación de pods cualificadas se completen en 5 minutos, garantizando una infraestructura fiable y autorreparable para tus aplicaciones. En esta guía de inicio rápido, ha aprendido a hacer lo siguiente:
- Implemente un clúster de AKS Automatic.
- Ejecute una aplicación de muestra de varios contenedores con un grupo de microservicios e interfaces web simulando un escenario de venta minorista.
Antes de empezar
- En esta guía rápida se presupone un conocimiento básico de los conceptos de Kubernetes. Para obtener más información, consulte Kubernetes conceptos básicos de Azure Kubernetes Service (AKS).
- AKS Automatic habilita la Política de Azure en el clúster de AKS, pero debe preregistrar el proveedor de recursos
Microsoft.PolicyInsightsen la suscripción. Para obtener más información, consulte proveedores y tipos de recursos de Azure.
Use el entorno de Bash en Azure Cloud Shell. Para obtener más información, consulte Get started with Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si se ejecuta en Windows o macOS, considere la posibilidad de ejecutar Azure CLI en un contenedor de Docker. Para obtener más información, consulte Cómo ejecutar el Azure CLI en un contenedor de Docker.
Si usa una instalación local, inicie sesión en el Azure CLI mediante el comando az login. Para finalizar el proceso de autenticación, siga los pasos que se muestran en el terminal. Para ver otras opciones de inicio de sesión, consulte Authenticate para Azure con Azure CLI.
Cuando se le solicite, instale la extensión Azure CLI en el primer uso. Para obtener más información sobre las extensiones, consulte Use y administre extensiones con el Azure CLI.
Ejecute az version para ver la versión y las bibliotecas dependientes que están instaladas. Para actualizar a la versión más reciente, ejecute az upgrade.
- Azure CLI versión 2.77.0 o posterior. Busque su versión usando el comando
az --version. Para instalar o actualizar, consulte Install Azure CLI. Si usa Azure Cloud Shell, la versión más reciente ya está instalada allí. - Si tiene varias suscripciones de Azure, seleccione el identificador de suscripción adecuado para facturar los recursos mediante el comando
az account set.
- Para implementar un archivo Bicep, se necesita acceso de escritura en los recursos que crea y acceso a todas las operaciones del tipo de recurso
Microsoft.Resources/deployments. Por ejemplo, para crear una máquina virtual (VM), necesitaMicrosoft.Compute/virtualMachines/writeyMicrosoft.Resources/deployments/*permisos. Para obtener una lista de roles y permisos, consulte los roles integrados de Azure.
Limitaciones
- El grupo de nodos del sistema de clústeres automáticos de AKS requiere la implementación en regiones de Azure que admiten al menos tres zonas de disponibilidad, Disco OS efímero y Azure Linux OS.
- AKS Automatic está disponible en las siguientes regiones:
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northcentralus,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus,westus2,westus3. - El clúster automático de AKS tiene node resource group lockdown preconfigurado, que no permite cambios en el grupo de recursos MC_, lo que impide vínculos de red virtual en la zona de Private DNS predeterminada. Para escenarios de redes virtuales cruzadas o DNS personalizados, utilice una red personalizada y un DNS privado siguiendo Crear un clúster automático privado de Azure Kubernetes Service (AKS) en una red virtual personalizada.
Importante
AKS Automatic intenta seleccionar dinámicamente un tamaño de máquina virtual para el system grupo de nodos en función de la capacidad disponible en la suscripción. Asegúrese de que la suscripción tiene cuota de 16 vCPUs de cualquiera de las siguientes tamaños de la región en la que va a implementar el clúster: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6, o Standard_D4alds_v5. Puede ver las cuotas para familias de VM específicas y enviar solicitudes de aumento de cuota a través del portal de Azure.
Si tiene preguntas adicionales, obtenga más información a través de los documentos de solución de problemas.
Creación de un grupo de recursos
Un grupo de recursos Azure es un grupo lógico en el que se implementan y administran los recursos Azure.
Cree un grupo de recursos con el comando az group create. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus:
az group create --name myResourceGroup --location eastus
La salida del siguiente ejemplo es similar a la creación correcta del grupo de recursos:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Crear un clúster de AKS Automatic
Cree un clúster automático de AKS usando el comando az aks create con el parámetro --sku establecido en automatic. En el ejemplo siguiente se crea un clúster denominado myAKSAutomaticCluster con Prometheus administrado y la integración de Container Insights habilitada:
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Transcurridos unos minutos, el comando se completa y devuelve información en formato JSON sobre el clúster.
Creación de un clúster de Kubernetes automático
Para crear un clúster automático de AKS, busque y seleccione Servicios de Kubernetes. Esto le lleva a la página del Centro de Kubernetes (versión preliminar).
En la página del Centro Kubernetes (versión preliminar), seleccione Crear>Clúster Automático de Kubernetes.
En la pestaña Aspectos básicos , rellene todos los campos necesarios (Suscripción, Grupo de recursos, Nombre del clúster de Kubernetes y Región) y, a continuación, seleccione Siguiente.
En la pestaña Monitoring, seleccione las configuraciones de supervisión deseadas en Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) y Alerts (Alertas) y, a continuación, seleccione Next.
En la pestaña Advanced, seleccione las configuraciones avanzadas deseadas Acceso privado, Azure Redes virtuales, Identidad administrada, Seguridad de red de contenedor (ACNS) y Espacios de nombres de Kubernetes administrados y, a continuación, seleccione Review + create.
Revise las configuraciones de la pestaña Revisar y crear y, a continuación, seleccione Crear para implementar el clúster automático de AKS.
Empiece a configurar la primera aplicación desde GitHub y configure una canalización de implementación automatizada.
Revisión del archivo de Bicep
El siguiente archivo Bicep define un clúster automático de AKS:
@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
}
]
}
identity: {
type: 'SystemAssigned'
}
}
Para obtener más información sobre el recurso definido en el archivo Bicep, consulte el Microsoft. ContainerService/managedClusters referencia.
Despliega el archivo Bicep
Guarda el archivo Bicep como main.bicep en tu equipo local.
Importante
El archivo Bicep establece el parámetro
clusterNameen la cadena myAKSAutomaticCluster. Si desea usar otro nombre de clúster, asegúrese de actualizar la cadena al nombre de clúster preferido antes de guardar el archivo en el equipo.Implemente el archivo Bicep mediante el comando [
az deployment group create][az-deployment-group-create].az deployment group create --resource-group myResourceGroup --template-file main.bicepEl clúster de AKS tarda unos minutos en crearse. Espere a que el clúster se implemente correctamente para pasar al siguiente paso.
Conectarse al clúster
Para administrar un clúster de Kubernetes, use kubectl, el cliente de línea de comandos de Kubernetes.
kubectl ya está instalado si usa Azure Cloud Shell. Puede instalar kubectl localmente mediante el az aks install-cli comando . Los clústeres automáticos de AKS se configuran con Microsoft Entra ID para el control de acceso basado en rol (RBAC) de Kubernetes .
Nota:
Al crear un clúster mediante el Azure CLI, a su usuario se le asignaron roles integrados para Azure Kubernetes Service RBAC Cluster Admin.
Configure
kubectlpara conectarse a su clúster de Kubernetes utilizando el comandoaz aks get-credentials. Con este comando se descargan las credenciales y se configura la CLI de Kubernetes para usarlas.az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticClusterCompruebe la conexión al clúster con el comando
kubectl get. Este comando devuelve una lista de los nodos del clúster.kubectl get nodesEn el siguiente ejemplo de salida se muestra cómo se le solicita iniciar sesión:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.Después de iniciar sesión, la siguiente salida de ejemplo muestra los grupos de nodos del sistema administrado. Asegúrese de que el estado del nodo es Listo.
NAME STATUS ROLES AGE VERSION aks-nodepool1-12345678-vmss000000 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-vmss000001 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-vmss000002 Ready agent 2m26s v1.28.5
Implementación de la aplicación
Para implementar la aplicación, use un archivo de manifiesto para crear todos los objetos necesarios para ejecutar la aplicación AKS Store. Un archivo de manifiesto de Kubernetes define el estado deseado del clúster, por ejemplo, qué imágenes de contenedor se van a ejecutar. El manifiesto incluye las siguientes implementaciones y servicios de Kubernetes:
- Tienda virtual: aplicación web para que los clientes vean productos y realicen pedidos.
- Servicio de producto: muestra información del producto.
- Servicio de pedidos: realiza pedidos.
- Rabbit MQ: cola de mensajes para una cola de pedidos.
Nota:
No se recomienda ejecutar contenedores con estado, como Rabbit MQ, sin almacenamiento persistente para producción. Se usan aquí para simplificar, pero se recomienda usar servicios administrados, como Azure Cosmos DB o Azure Service Bus.
Cree un espacio de nombres
aks-store-demopara implementar los recursos de Kubernetes.kubectl create ns aks-store-demoImplemente la aplicación mediante el comando
kubectl applyen el espacio de nombresaks-store-demo. El archivo YAML que define la implementación está en GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlLa salida del siguiente ejemplo muestra las implementaciones y los servicios:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-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.
Compruebe el estado de los pods implementados con el comando kubectl get pods. Asegúrate de que todos los pods tengan el estado
Runningantes de continuar. Si se trata de la primera carga de trabajo que implementa, puede tardar unos minutos para que el aprovisionamiento automático de nodos cree un grupo de nodos para ejecutar los pods.kubectl get pods -n aks-store-demoComprueba si la aplicación de tienda tiene una dirección IP pública. Para supervisar el progreso, utilice el comando kubectl get service con el argumento
--watch.kubectl get ingress store-front -n aks-store-demo --watchLa salida de ADDRESS del servicio
store-frontaparece inicialmente vacía:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mUna vez que ADDRESS cambia de estar en blanco a una dirección IP pública real, use
CTRL-Cpara detener el proceso de monitoreo dekubectl.En la salida del ejemplo siguiente se muestra una dirección IP pública válida asignada al servicio:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mAbra un explorador web en la dirección IP externa de su punto de entrada para ver la aplicación Azure Store en acción.
Eliminación del clúster
Si no planea pasar por el tutorial AKS, elimine los recursos innecesarios para evitar cargos de Azure.
Quite el grupo de recursos, el servicio de contenedor y todos los recursos relacionados mediante el comando az group delete.
az group delete --name myResourceGroup --yes --no-wait
Nota:
El clúster de AKS se creó con una identidad administrada asignada por el sistema, que es la opción de identidad predeterminada utilizada en este inicio rápido. La plataforma administra esta identidad para que no tenga que quitarla manualmente.
Contenido relacionado
En este inicio rápido, ha implementado un clúster de Kubernetes mediante AKS Automatic y luego ha implementado en él una aplicación simple de varios contenedores. Esta aplicación de ejemplo es solo para fines de demostración y no representa todos los procedimientos recomendados para las aplicaciones de Kubernetes. Para instrucciones sobre cómo crear soluciones completas con AKS para producción, consulte Guía de soluciones de AKS.
Para obtener más información sobre AKS Automatic, consulte la Introducción a Azure Kubernetes Service (AKS) Automatic