Esercitazione: Abilitare il componente aggiuntivo controller in ingresso per un nuovo cluster del servizio Azure Kubernetes con una nuova istanza del gateway applicazione
È possibile usare l'interfaccia della riga di comando di Azure per abilitare il componente aggiuntivo controller in ingresso (AGIC) del gateway applicazione per un nuovo cluster servizio Azure Kubernetes del servizio Azure Kubernetes.
In questa esercitazione verrà creato un cluster del servizio Azure Kubernetes con il componente aggiuntivo Controller in ingresso del gateway applicazione abilitato. La creazione del cluster creerà automaticamente un'istanza del gateway applicazione di Azure da usare. Si distribuirà quindi un'applicazione di esempio che userà il componente aggiuntivo per esporre l'applicazione tramite il gateway applicazione.
Il componente aggiuntivo costituisce una soluzione di gran lunga più rapida per distribuire Controller in ingresso del gateway applicazione per il cluster del servizio Azure Kubernetes rispetto a quella precedente basata su Helm. Offre inoltre un'esperienza completamente gestita.
In questa esercitazione apprenderai a:
- Crea un gruppo di risorse.
- Creare un nuovo cluster del servizio Azure Kubernetes con il componente aggiuntivo Controller in ingresso del gateway applicazione abilitato.
- Distribuire un'applicazione di esempio usando Controller in ingresso del gateway applicazione per il traffico in ingresso nel cluster del servizio Azure Kubernetes.
- Verificare che l'applicazione sia raggiungibile tramite il gateway applicazione.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Creare un gruppo di risorse
In Azure, si allocano le risorse correlate a un gruppo di risorse. Creare un gruppo di risorse usando az group create. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località Stati Uniti orientali (area):
az group create --name myResourceGroup --location eastus
Distribuire un cluster del servizio Azure Kubernetes con il componente aggiuntivo abilitato
Verrà ora distribuito un nuovo cluster del servizio Azure Kubernetes con il componente aggiuntivo Controller in ingresso del gateway applicazione abilitato. Se non si specifica un'istanza del gateway applicazione esistente da usare in questo processo, si creerà e si configurerà automaticamente una nuova istanza del gateway applicazione per gestire il traffico verso il cluster del servizio Azure Kubernetes.
Nota
Il componente aggiuntivo controller di ingresso del gateway applicazione supporta solo SKU del gateway applicazione v2 (Standard e WAF) e non SKU v1 del gateway applicazione. Quando si distribuisce una nuova istanza del gateway applicazione tramite il componente aggiuntivo AGIC, è possibile distribuire solo un gateway applicazione Standard_v2 SKU. Se si vuole abilitare il componente aggiuntivo per un gateway applicazione WAF_v2 SKU, usare uno di questi metodi:
- Abilitare WAF nel gateway applicazione tramite il portale.
- Creare prima l'istanza del gateway applicazione WAF_v2 e quindi seguire le istruzioni su come abilitare il componente aggiuntivo AGIC con un cluster del servizio Azure Kubernetes esistente e un'istanza del gateway applicazione esistente.
Nell'esempio seguente verrà distribuito un nuovo cluster del servizio Azure Kubernetes denominato myCluster usando Azure CNI e le identità gestite. Il componente aggiuntivo Controller in ingresso del gateway applicazione verrà abilitato nel gruppo di risorse creato, ovvero myResourceGroup.
La distribuzione di un nuovo cluster del servizio Azure Kubernetes con il componente aggiuntivo AGIC abilitato senza specificare un'istanza del gateway applicazione esistente creerà automaticamente un'istanza del gateway applicazione SKU Standard_v2. Sarà necessario specificare un nome e uno spazio indirizzi subnet per la nuova istanza del gateway applicazione. Lo spazio indirizzi deve essere compreso tra il prefisso 10.224.0.0/12 usato dalla rete virtuale del servizio Azure Kubernetes senza sovrapporsi al prefisso 10.224.0.0/16 usato dalla subnet del servizio Azure Kubernetes. In questa esercitazione usare myApplicationGateway per il nome del gateway applicazione e 10.225.0.0/16 per lo spazio indirizzi della subnet.
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!] Assicurarsi che l'identità usata da AGIC disponga dell'autorizzazione Microsoft.Network/virtualNetworks/subnets/join/action delegata alla subnet gateway applicazione viene distribuita. Se un ruolo personalizzato non è definito con questa autorizzazione, è possibile usare il ruolo Collaboratore rete predefinito, che contiene l'autorizzazione 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"
Per configurare altri parametri per il comando precedente, vedere az aks create.
Nota
Il cluster del servizio Azure Kubernetes creato verrà visualizzato nel gruppo di risorse creato, ovvero myResourceGroup. Tuttavia, l'istanza del gateway applicazione creata automaticamente si troverà nel gruppo di risorse del nodo, in cui si trovano i pool di agenti. Il gruppo di risorse del nodo è denominato MC_resource-group-name_cluster-name_location per impostazione predefinita, ma può essere modificato.
Distribuire un'applicazione di esempio con Controller in ingresso del gateway applicazione
Verrà ora distribuita un'applicazione di esempio nel cluster del servizio Azure Kubernetes creato. L'applicazione userà il componente aggiuntivo AGIC per l'ingresso e connetterà l'istanza del gateway applicazione al cluster del servizio Azure Kubernetes.
Per prima cosa, ottenere le credenziali per il cluster del servizio Azure Kubernetes eseguendo il comando az aks get-credentials
:
az aks get-credentials -n myCluster -g myResourceGroup
Ora che le credenziali sono disponibili, eseguire il comando seguente per configurare un'applicazione di esempio che usa Controller in ingresso del gateway applicazione per il traffico in ingresso nel cluster. AGIC aggiornerà l'istanza del gateway applicazione configurata in precedenza con le regole di routing corrispondenti all'applicazione di esempio che si sta distribuendo.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml
Verificare che l'applicazione sia raggiungibile
Ora che l'istanza del gateway applicazione è configurata per gestire il traffico verso il cluster del servizio Azure Kubernetes, verificare che l'applicazione sia raggiungibile. Ottenere innanzitutto l'indirizzo IP dell'ingresso:
kubectl get ingress
Verificare che l'applicazione di esempio creata sia in esecuzione in uno dei modi seguenti:
- Visitare l'indirizzo IP dell'istanza del gateway applicazione ottenuto dall'esecuzione del comando precedente.
- Usare
curl
.
Il gateway applicazione potrebbe richiedere un minuto per ottenere l'aggiornamento. Se il gateway applicazione è ancora in stato Di aggiornamento nel portale, lasciare che venga completato prima di provare a raggiungere l'indirizzo IP.
Pulire le risorse
Quando non sono più necessari, eliminare tutte le risorse create in questa esercitazione eliminando myResourceGroup e MC_myResourceGroup_myCluster_eastus gruppi di risorse:
az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus
Passaggi successivi
In questa esercitazione:
- Creazione di un nuovo cluster del servizio Azure Kubernetes con il componente aggiuntivo AGIC abilitato
- Distribuzione di un'applicazione di esempio usando AGIC per l'ingresso nel cluster del servizio Azure Kubernetes
Per altre informazioni su AGIC, vedere Che cos'è gateway applicazione Controller di ingresso? e Disabilitare e riabilitare il componente aggiuntivo AGIC per il cluster del servizio Azure Kubernetes
Per informazioni su come abilitare il componente aggiuntivo controller di ingresso del gateway applicazione per un cluster del servizio Azure Kubernetes esistente con un gateway applicazione esistente, passare all'esercitazione successiva.