Tutoriel : Activer le module complémentaire Ingress Controller pour un cluster nouveau AKS avec une nouvelle instance Application Gateway
Vous pouvez utiliser Azure CLI pour activer le module complémentaire AGIC (Application Gateway Ingress Controller) pour un nouveau cluster Azure Kubernetes Services (AKS).
Dans ce tutoriel, vous allez créer un cluster AKS avec le module complémentaire AGIC activé. La création du cluster crée automatiquement une instance Azure Application Gateway à utiliser. Vous déploierez ensuite un exemple d’application qui utilisera le module complémentaire pour exposer l’application par le biais de Application Gateway.
Le module complémentaire offre un moyen beaucoup plus rapide de déployer AGIC pour votre cluster AKS que précédemment via Helm. Il offre également une expérience complètement managé.
Dans ce tutoriel, vous allez apprendre à :
- Créez un groupe de ressources.
- Créez un cluster AKS avec le module complémentaire AGIC activé.
- Déployez un exemple d’application à l’aide d’AGIC pour l’entrée sur le cluster AKS.
- Vérifiez que l’application est accessible par le biais de la passerelle Application Gateway.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Prérequis
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Créer un groupe de ressources
Dans Azure, vous allouez les ressources associées à un groupe de ressources. Créez un groupe de ressources à l’aide de la commande az group create. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement USA Est (région) :
az group create --name myResourceGroup --location eastus
Déployez un cluster AKS avec le module complémentaire activé
Déployez ensuite un nouveau cluster AKS avec le module complémentaire AGIC activé. Si vous ne fournissez pas d’instance Application Gateway existante à utiliser dans ce processus, vous allez créer et configurer automatiquement une nouvelle instance Application Gateway pour servir le trafic vers le cluster AKS.
Notes
Le module complémentaire Application Gateway Ingress Controller (AGIC) prend en charge uniquement les références SKU Application Gateway v2 (Standard et WAF), pas les références SKU Application Gateway v1. Lorsque vous déployez une nouvelle instance Application Gateway par le biais du module complémentaire AGIC, vous pouvez déployer uniquement une référence SKU Application Gateway Standard_v2. Si vous souhaitez activer le module complémentaire pour une référence SKU WAF_v2 Application Gateway, utilisez l’une des méthodes suivantes :
- Activez le WAF sur Application Gateway via le portail.
- Créez d’abord l’instance WAF_v2 Application Gateway, puis suivez les instructions pour activer le module complémentaire AGIC avec un cluster AKS existant et une instance Application Gateway existante.
Dans l’exemple suivant, vous allez déployer un nouveau cluster AKS nommé myCluster à l’aide de Azure CNI et des identités managées. Le module complémentaire AGIC sera activé dans le groupe de ressources que vous avez créé, myResourceGroup.
Le déploiement d’un nouveau cluster AKS avec le module complémentaire AGIC activé sans spécifier une instance Application Gateway existante créera automatiquement une instance de passerelle applicative SKU Standard_v2. Vous devez spécifier un nom et un espace d’adressage de sous-réseau pour la nouvelle instance de passerelle applicative. L’espace d’adressage doit être à partir du préfixe 10.224.0.0/12 utilisé par le réseau virtuel AKS, sans chevaucher le préfixe 10.224.0.0/16 utilisé par le sous-réseau AKS. Dans ce tutoriel, utilisez myApplicationGateway pour le nom de passerelle applicative et 10.225.0.0/16 pour son espace d’adressage de sous-réseau.
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
Remarque
Veuillez vous assurer que l'identité utilisée par AGIC dispose de l'autorisation Microsoft.Network/virtualNetworks/subnets/join/action déléguée au sous-réseau dans lequel Application Gateway est déployée. Si un rôle personnalisé n’est défini avec cette autorisation, vous pouvez utiliser le rôle Contributeur réseau intégré qui contient l’autorisation 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"
Pour configurer d’autres paramètres pour la commande ci-dessus, vous devez utiliser az aks create.
Notes
Le cluster AKS que vous avez créé apparaît dans le groupe de ressources que vous avez créé, myResourceGroup. Toutefois, l’instance Application Gateway créée automatiquement se trouve dans le groupe de ressources de nœud, là où se trouvent les pools d’agents. Le groupe de ressources de nœud est nommé MC_resource-Group-name_cluster-name_location par défaut, mais il peut être modifié.
Déployer un exemple d’application en utilisant le complément AGIC
Vous allez maintenant déployer un exemple d’application sur le cluster AKS que vous avez créé. L’application utilisera le module complémentaire AGIC pour l’entrée et connectera l’instance Application Gateway au cluster AKS.
Tout d’abord, exécutez la commande az aks get-credentials
pour obtenir les informations de connexion au cluster AKS :
az aks get-credentials -n myCluster -g myResourceGroup
Une fois que vous avez ces informations de connexion, exécutez la commande suivante afin de configurer un exemple d’application qui utilise AGIC pour l’entrée au cluster. AGIC mettra à jour Application Gateway que vous avez configurée précédemment avec les règles d’acheminement correspondantes vers l’exemple d’application que vous avez déployé.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml
Vérifier que l’application est accessible
Maintenant que la passerelle Application Gateway est configurée pour envoyer le trafic vers le cluster AKS, vous devez vérifier que votre application est accessible. Recherchez d’abord l’adresse IP de l’entrée :
kubectl get ingress
Vérifiez que l’exemple d’application que vous avez créée est en cours d’exécution par l’une des deux opérations suivantes :
- En visitant l’adresse IP de l’instance Application Gateway que vous avez obtenue à partir de l’exécution de la commande précédente.
- Utilisation de
curl
.
L’opération de mise à jour par Application Gateway peut prendre quelques minutes. Si Application Gateway est toujours en état de Mise à jour sur le portail, attendez que cela soit terminé avant d’essayer d’accéder à l’adresse IP.
Nettoyer les ressources
Lorsque vous n’en avez plus besoin, supprimez toutes les ressources créées dans ce tutoriel en supprimant les groupes de ressources myResourceGroup et MC_myResourceGroup_myCluster_eastus :
az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus
Étapes suivantes
Dans ce tutoriel, vous allez :
- Créé un cluster AKS avec le module complémentaire AGIC activé
- Déployé un exemple d’application à l’aide d’AGIC pour l’entrée sur le cluster AKS
Pour en savoir plus sur AGIC, consultez Qu’est-ce qu’un contrôleur d’entrée Application Gateway et Désactiver et réactiver le module complémentaire AGIC pour votre cluster AKS.
Pour découvrir comment activer le module complémentaire Application Gateway Ingress Controller pour un cluster AKS existant avec une passerelle applicative existante, passez au tutoriel suivant.