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.
Questa guida presuppone che si stia seguendo la strategia di distribuzionebring your own (BYO), in cui il controller ALB fa riferimento alle risorse del gateway applicazione per contenitori create in precedenza in Azure. Si presuppone che i cicli di vita delle risorse vengano gestiti in Azure, indipendentemente da quanto definito all'interno di Kubernetes.
Prerequisiti
Assicurarsi di aver distribuito prima il controller ALB nel cluster Kubernetes. Si può seguire la guida introduttiva del controller ALB per il Componente aggiuntivo o Helm se non è già stato distribuito il controller ALB.
Creare una risorsa del gateway applicazione per contenitori
Eseguire il comando seguente per creare la risorsa del gateway applicazione per contenitori.
RESOURCE_GROUP='<your resource group name>'
AGFC_NAME='alb-test' # Name of the Application Gateway for Containers resource to be created
az network alb create -g $RESOURCE_GROUP -n $AGFC_NAME
Creare una risorsa front-end
Eseguire il comando seguente per creare la risorsa front-end del gateway applicazione per contenitori.
FRONTEND_NAME='test-frontend'
az network alb frontend create -g $RESOURCE_GROUP -n $FRONTEND_NAME --alb-name $AGFC_NAME
Creare una risorsa di associazione
Delegare una subnet alla risorsa di associazione
Per creare una risorsa di associazione, è prima necessario fare riferimento a una subnet con cui il gateway applicazione stabilisca la connettività. Verificare che la subnet per un'associazione del gateway applicazione per contenitori sia almeno una classe C o superiore (/24 o un prefisso CIDR più piccolo). Per questo passaggio, è possibile riutilizzare una subnet esistente e abilitare la delega della subnet, oppure creare una nuova rete virtuale, una subnet e abilitare la delega della subnet.
Per fare riferimento a una subnet esistente, eseguire il comando seguente per impostare le variabili con cui fare riferimento alla subnet nei passaggi successivi.
VNET_NAME='<name of the virtual network to use>'
VNET_RESOURCE_GROUP='<the resource group of your VNET>'
ALB_SUBNET_NAME='subnet-alb' # subnet name can be any non-reserved subnet name (i.e. GatewaySubnet, AzureFirewallSubnet, AzureBastionSubnet would all be invalid)
Abilitare la delega della subnet per il servizio del gateway applicazione per contenitori. La delega per il gateway applicazione per contenitori è identificata dal tipo di risorsa Microsoft.ServiceNetworking/trafficControllers.
az network vnet subnet update \
--resource-group $VNET_RESOURCE_GROUP \
--name $ALB_SUBNET_NAME \
--vnet-name $VNET_NAME \
--delegations 'Microsoft.ServiceNetworking/trafficControllers'
ALB_SUBNET_ID=$(az network vnet subnet list --resource-group $VNET_RESOURCE_GROUP --vnet-name $VNET_NAME --query "[?name=='$ALB_SUBNET_NAME'].id" --output tsv)
echo $ALB_SUBNET_ID
Delegare le autorizzazioni a un'identità gestita
Il controller ALB deve avere la possibilità di effettuare il provisioning di nuove risorse del gateway applicazione per contenitori e di unirsi alla subnet destinata alla risorsa di associazione del gateway applicazione per contenitori.
In questo esempio, si delega il ruolo Configurazione Manager di AppGW per contenitori al gruppo di risorse e il ruolo Collaboratore di rete alla subnet usata dalla subnet di associazione del gateway applicazione per contenitori, che contiene l'autorizzazione Microsoft.Network/virtualNetworks/subnets/join/action.
Se necessario, è possibile creare e assegnare un ruolo personalizzato con l'autorizzazione Microsoft.Network/virtualNetworks/subnets/join/action per eliminare altre autorizzazioni contenute nel ruolo Collaboratore di rete. Altre informazioni su come gestire le autorizzazioni della subnet.
IDENTITY_RESOURCE_NAME='azure-alb-identity'
resourceGroupId=$(az group show --name $RESOURCE_GROUP --query id -otsv)
principalId=$(az identity show -g $RESOURCE_GROUP -n $IDENTITY_RESOURCE_NAME --query principalId -otsv)
# Delegate AppGw for Containers Configuration Manager role to RG containing Application Gateway for Containers resource
az role assignment create --assignee-object-id $principalId --assignee-principal-type ServicePrincipal --scope $resourceGroupId --role "fbc52c3f-28ad-4303-a892-8a056630b8f1"
# Delegate Network Contributor permission for join to association subnet
az role assignment create --assignee-object-id $principalId --assignee-principal-type ServicePrincipal --scope $ALB_SUBNET_ID --role "4d97b98b-1d4f-4787-a291-c67834d212e7"
Creare una risorsa di associazione
Eseguire il comando seguente per creare la risorsa di associazione e connetterla alla subnet a cui si fa riferimento. La creazione dell'associazione del gateway applicazione per contenitori può richiedere tra i 5 e i 6 minuti.
ASSOCIATION_NAME='association-test'
az network alb association create -g $RESOURCE_GROUP -n $ASSOCIATION_NAME --alb-name $AGFC_NAME --subnet $ALB_SUBNET_ID
Passaggi successivi
Congratulazioni, è stato installato il controller ALB nel cluster e sono state distribuite le risorse del gateway applicazione per contenitori in Azure.
Provare alcune delle guide pratiche per distribuire un'applicazione di esempio, dimostrando alcuni dei concetti di bilanciamento del carico del gateway applicazione per contenitori.