Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare l'interfaccia della riga di comando di Azure per abilitare il componente aggiuntivo controller di ingresso del gateway dell'applicazione (AGIC) per un nuovo cluster dei servizi Azure Kubernetes (AKS).
In questa esercitazione, creerai un cluster AKS con il componente aggiuntivo AGIC abilitato. Creando il cluster verrà automaticamente creata un'istanza del gateway delle applicazioni Azure da utilizzare. Verrà quindi distribuita un'applicazione di esempio che userà il componente aggiuntivo per esporre l'applicazione tramite il gateway applicativo.
Il componente aggiuntivo fornisce un modo molto più rapido per distribuire AGIC per il tuo cluster di Azure Kubernetes Service rispetto al metodo precedentemente basato su Helm. Offre inoltre un'esperienza completamente gestita.
In questa esercitazione apprenderai a:
- Crea un gruppo di risorse.
- Creare un nuovo cluster AKS con l'add-on AGIC abilitato.
- Distribuire un'applicazione di esempio usando AGIC per l'ingresso nel cluster del servizio Azure Kubernetes.
- Verificare che l'applicazione sia raggiungibile tramite il gateway dell'applicazione.
Se non si ha un account Azure, creare un account gratuito prima di iniziare.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione ad Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento CLI localmente, installare l'Azure CLI. 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 Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia a riga di comando di Azure al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire 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à (area) Stati Uniti orientali:
az group create --name myResourceGroup --location eastus
Distribuire un cluster AKS con il componente aggiuntivo abilitato
Ora distribuisci un nuovo cluster di Azure Kubernetes Service (AKS) con il componente aggiuntivo AGIC abilitato. Se non si specifica un'istanza del gateway dell'applicazione esistente da utilizzare in questo processo, verrà automaticamente creata e configurata una nuova istanza del gateway dell'applicazione per gestire il traffico diretto al cluster AKS.
Nota
Il componente aggiuntivo controller in ingresso del gateway applicazione supporta solo SKU V2 del gateway applicazione (Standard e WAF) e non SKU V1 del gateway applicazione. Quando si distribuisce una nuova istanza del gateway applicativo tramite il componente aggiuntivo AGIC, è possibile distribuire solo uno SKU Standard_v2 del gateway applicativo. Se si desidera abilitare il componente aggiuntivo per uno SKU WAF_v2 del gateway applicazione, usare uno di questi metodi:
- Abilitare WAF nel gateway applicazione tramite il portale.
- Prima di tutto, crea l'istanza del gateway di applicazione WAF_v2 e poi segui le istruzioni per abilitare il componente aggiuntivo AGIC con un cluster esistente di Azure Kubernetes Service e un'istanza esistente del gateway di applicazione.
Nell'esempio seguente, distribuerai un nuovo cluster AKS denominato myCluster usando Azure CNI e le identità gestite. Il componente aggiuntivo AGIC verrà abilitato nel gruppo di risorse che hai creato, myResourceGroup.
Se si distribuisce un nuovo cluster del servizio Azure Kubernetes (AKS) con il componente aggiuntivo AGIC abilitato senza specificare un'istanza esistente del gateway applicazione, verrà creata automaticamente un'istanza del gateway applicazione di tipo 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, usa myApplicationGateway per il nome del gateway applicativo 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 delle autorizzazioni appropriate. Un elenco delle autorizzazioni necessarie per l'identità è disponibile qui: Configurare l'infrastruttura - Autorizzazioni. Se un ruolo personalizzato non è definito con le autorizzazioni necessarie, è possibile usare il ruolo Collaboratore rete.
Nota
Se si prevede di usare AGIC con un cluster AKS del servizio Azure Kubernetes utilizzando l'overlay CNI, specificare il parametro --aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AppGatewayWithOverlayPreview
per configurare AGIC in modo da gestire la connettività al cluster abilitato per l'overlay CNI.
# 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 apparirà nel gruppo di risorse creato, 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. Per impostazione predefinita, il nome del gruppo di risorse del nodo è MC_resource-group-name_cluster-name_location, ma può essere modificato.
Distribuire un'applicazione di esempio usando AGIC
Adesso distribuirai un'applicazione di esempio al cluster AKS che hai 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 utilizza AGIC per l'ingresso nel cluster. AGIC aggiornerà l'istanza del gateway applicazione che hai configurato in precedenza con le regole di routing corrispondenti all'applicazione di esempio che stai 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 dell'applicazione è configurata per gestire il traffico verso il cluster AKS, verifichiamo 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 eseguendo il comando precedente.
- Uso di
curl
.
Il recupero dell'aggiornamento del gateway applicazione può richiedere un minuto. Se il gateway applicazione si trova ancora nello stato Aggiornamento nel portale, attendere il completamento dell'operazione prima di provare a raggiungere l'indirizzo IP.
Pulire le risorse
Quando non sono più necessarie, eliminare tutte le risorse create in questa esercitazione eliminando i gruppi di risorse myResourceGroup e MC_myResourceGroup_myCluster_eastus:
az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus
Passaggi successivi
In questa esercitazione, voi:
- Creato un nuovo cluster AKS con l'add-on AGIC abilitato
- Distribuita un'applicazione di esempio utilizzando AGIC per l'accesso nel cluster AKS
Per altre informazioni su AGIC, vedere Che cos'è il controller in ingresso del gateway applicazione e Disabilitare e riabilitare il componente aggiuntivo AGIC per il cluster del servizio Azure Kubernetes.
Per informazioni su come abilitare il componente aggiuntivo controller in ingresso del gateway applicazione per un cluster del servizio Azure Kubernetes esistente con un gateway applicazione esistente, passare all'esercitazione successiva.