Tutorial: Habilitar el complemento Controlador de entrada para un nuevo clúster de AKS con una nueva instancia de puerta de enlace de aplicación
Puede usar la CLI de Azure para habilitar el complemento Controlador de entrada de la puerta de enlace de aplicación (AGIC) para un nuevo clúster de Azure Kubernetes Services (AKS).
En este tutorial, creará un clúster de AKS con el complemento AGIC habilitado. Al crear el clúster, se creará automáticamente una instancia de puerta de enlace de aplicación de Azure que se va a usar. Luego, implementará una aplicación de ejemplo que usará el complemento para exponer la aplicación mediante la puerta de enlace de aplicación.
El complemento proporciona una manera mucho más rápida de implementar AGIC para el clúster de AKS que previamente a través de Helm. También ofrece una experiencia totalmente administrada.
En este tutorial, aprenderá a:
- Cree un grupo de recursos.
- Crear un nuevo clúster de AKS con el complemento AGIC habilitado.
- Implementar una aplicación de ejemplo con AGIC para la entrada en el clúster de AKS.
- Comprobar que la aplicación es accesible mediante la puerta de enlace de aplicación.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
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.
En caso de que 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.
Crear un grupo de recursos
En Azure, puede asignar recursos relacionados a un grupo de recursos. Para crear un grupo de recursos, use az group create. En el ejemplo siguiente se crea un grupo de recursos denominado myResourceGroup en la ubicación (región) Este de EE. UU.:
az group create --name myResourceGroup --location eastus
Implementar un clúster de AKS con el complemento habilitado
Ahora implementará un nuevo clúster de AKS con el complemento AGIC habilitado. Si no proporciona una instancia de puerta de enlace de aplicación existente para usarla en este proceso, creará y configurará automáticamente una nueva instancia de puerta de enlace de aplicación para atender el tráfico al clúster de AKS.
Nota
El complemento Controlador de entrada de puerta de enlace de aplicación admite solo las SKU v2 de puerta de enlace de aplicación (Standard y WAF) y no las SKU v1 de puerta de enlace de aplicación. Al implementar una nueva instancia de puerta de enlace de aplicación mediante el complemento AGIC, solo puede implementar una SKU Standard_v2 de puerta de enlace de aplicación. Si desea habilitar el complemento para una SKU de puerta de enlace de aplicación WAF_v2, use cualquiera de estos métodos:
- Habilite WAF en la puerta de enlace de aplicación mediante el portal.
- Cree la instancia de puerta de enlace de aplicación WAF_v2 primero y, luego, siga las instrucciones sobre cómo habilitar el complemento AGIC con un clúster de AKS existente y la instancia de puerta de enlace de aplicación existente.
En el ejemplo siguiente, implementará un nuevo clúster de AKS denominado myCluster con Azure CNI e identidades administradas. El complemento AGIC se habilitará en el grupo de recursos que creó, myResourceGroup.
La implementación de un nuevo clúster AKS con el complemento AGIC activado sin especificar una instancia de puerta de enlace de aplicación existente creará automáticamente una instancia de puerta de enlace de aplicación Standard_v2 SKU. Deberá especificar un nombre y un espacio de direcciones de subred para la nueva instancia de Application Gateway. El espacio de direcciones debe ser del prefijo 10.224.0.0/12 que usa la red virtual de AKS sin superponerse con el prefijo 10.224.0.0/16 usado por la subred de AKS. En este tutorial, use myApplicationGateway para el nombre de la puerta de enlace de aplicaciones y 10.225.0.0/16 para su espacio de direcciones de subred.
az aks create -n myCluster -g myResourceGroup --network-plugin azure --enable-managed-identity -a ingress-appgw --appgw-name myApplicationGateway --appgw-subnet-cidr "10.225.0.0/16" --generate-ssh-keys
Nota:
Asegúrese de que la identidad usada por AGIC tiene el permiso Microsoft.Network/virtualNetworks/subnets/join/action delegado en la subred en la que se implementa Application Gateway. Si no se define un rol personalizado con este permiso, puede usar el rol integrado Colaborador de red, que contiene el permiso Microsoft.Network/virtualNetworks/subnets/join/action.
# Get application gateway id from AKS addon profile
appGatewayId=$(az aks show -n myCluster -g myResourceGroup -o tsv --query "addonProfiles.ingressApplicationGateway.config.effectiveApplicationGatewayId")
# Get Application Gateway subnet id
appGatewaySubnetId=$(az network application-gateway show --ids $appGatewayId -o tsv --query "gatewayIPConfigurations[0].subnet.id")
# Get AGIC addon identity
agicAddonIdentity=$(az aks show -n myCluster -g myResourceGroup -o tsv --query "addonProfiles.ingressApplicationGateway.identity.clientId")
# Assign network contributor role to AGIC addon identity to subnet that contains the Application Gateway
az role assignment create --assignee $agicAddonIdentity --scope $appGatewaySubnetId --role "Network Contributor"
Si quiere configurar más parámetros para el comando anterior, consulte az aks create.
Nota
El clúster de AKS que creó aparecerá en el grupo de recursos que creó, myResourceGroup. No obstante, la instancia de puerta de enlace de aplicación creada automáticamente estará en el grupo de recursos del nodo, donde se encuentran los grupos de agentes. El grupo de recursos de nodo se denomina MC_resource-group-name_cluster-name_location de manera predeterminada, pero se puede modificar.
Implementar una aplicación de ejemplo con AGIC
Ahora implementará una aplicación de ejemplo en el clúster de AKS que creó. La aplicación usará el complemento AGIC para la entrada y conectará la instancia de puerta de enlace de aplicación al clúster de AKS.
En primer lugar, obtenga las credenciales para el clúster de AKS con la ejecución del comando az aks get-credentials
:
az aks get-credentials -n myCluster -g myResourceGroup
Ahora que tiene las credenciales, ejecute el siguiente comando para configurar una aplicación de ejemplo que use AGIC para la entrada al clúster. AGIC actualizará la instancia de puerta de enlace de aplicación que ha configurado anteriormente con las reglas de enrutamiento correspondientes a la aplicación de ejemplo que está implementando.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml
Comprobación de que la aplicación sea accesible
Ahora que la instancia de puerta de enlace de aplicación está configurada para atender el tráfico al clúster de AKS, vamos a comprobar que la aplicación sea accesible. En primer lugar, obtenga la dirección IP de la entrada:
kubectl get ingress
Para comprobar que la aplicación de ejemplo que creó se ejecute, haga lo siguiente:
- Visite la dirección IP de la instancia de puerta de enlace de aplicación que ha obtenido al ejecutar el comando anterior.
- Use
curl
.
La puerta de enlace de aplicación puede tardar un minuto en obtener la actualización. Si la puerta de enlace de aplicación sigue en el estado Actualizando en el portal, deje que termine antes de intentar llegar a la dirección IP.
Limpieza de recursos
Cuando ya no los necesite, suprima todos los recursos creados en este tutorial mediante la eliminación de los grupos de recursos myResourceGroup y MC_myResourceGroup_myCluster_eastus:
az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus
Pasos siguientes
En este tutorial ha:
- Creado un nuevo clúster de AKS con el complemento AGIC habilitado
- Implementado una aplicación de ejemplo con AGIC para la entrada en el clúster de AKS
Para obtener más información sobre AGIC, consulte ¿Qué es el controlador de entrada de Application Gateway? y Deshabilitación y nueva habilitación del complemento AGIC para el clúster de AKS.
Para aprender a habilitar el complemento del controlador de entrada de puerta de enlace de aplicación para un clúster de AKS existente con una puerta de enlace de aplicación existente, vaya al siguiente tutorial.