Dela via


Snabbstart: Skapa Application Gateway för containrar – ta med din egen distribution

Den här guiden förutsätter att du följer distributionsstrategin bring your own, där ALB-styrenheten refererar till de Application Gateway for Containers-resurser som skapats i Azure. Det förutsätts att resurslivscykler hanteras i Azure, oberoende av vad som definieras i Kubernetes.

Förutsättningar

Se till att du först har distribuerat ALB-styrenheten till ditt Kubernetes-kluster. Du kan följa snabbstarten : Distribuera Application Gateway för containrar ALB-styrenhet om du inte redan har distribuerat ALB-styrenheten.

Skapa resursen Application Gateway for Containers

Kör följande kommando för att skapa resursen Application Gateway for Containers.

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

Skapa en klientdelsresurs

Kör följande kommando för att skapa klientdelsresursen Application Gateway for Containers.

FRONTEND_NAME='test-frontend'
az network alb frontend create -g $RESOURCE_GROUP -n $FRONTEND_NAME --alb-name $AGFC_NAME

Skapa en associationsresurs

Delegera ett undernät till en associationsresurs

Om du vill skapa en associationsresurs måste du först referera till ett undernät för Application Gateway för containrar att upprätta anslutning till. Se till att undernätet för en Application Gateway for Containers-association är minst ett klass C eller större (/24 eller mindre CIDR-prefix). I det här steget kan du antingen återanvända ett befintligt undernät och aktivera delegering av undernät på det eller skapa ett nytt VNET, undernät och aktivera delegering av undernät.

Om du vill referera till ett befintligt undernät kör du följande kommando för att ange variablerna som referens till undernätet i senare steg.

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)

Aktivera delegering av undernät för tjänsten Application Gateway for Containers. Delegeringen för Application Gateway för containrar identifieras av resurstypen 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

Delegera behörigheter till hanterad identitet

ALB-kontrollanten behöver kunna etablera nya Application Gateway for Containers-resurser och ansluta till det undernät som är avsett för application gateway för containrar-associationsresursen.

I det här exemplet delegerar vi rollen AppGW for Containers Configuration Manager till resursgruppen och delegerar rollen Nätverksdeltagare till det undernät som används av associationsundernätet Application Gateway for Containers, som innehåller behörigheten Microsoft.Network/virtualNetworks/subnets/join/action .

Om du vill kan du skapa och tilldela en anpassad roll med behörigheten Microsoft.Network/virtualNetworks/subnets/join/action för att eliminera andra behörigheter som ingår i rollen Nätverksdeltagare . Läs mer om att hantera undernätsbehörigheter.

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" 

Skapa en associationsresurs

Kör följande kommando för att skapa associationsresursen och ansluta den till det refererade undernätet. Det kan ta 5–6 minuter innan associationen Application Gateway for Containers skapas.

ASSOCIATION_NAME='association-test'
az network alb association create -g $RESOURCE_GROUP -n $ASSOCIATION_NAME --alb-name $AGFC_NAME --subnet $ALB_SUBNET_ID

Nästa steg

Grattis, du har installerat ALB Controller i klustret och distribuerat Application Gateway for Containers-resurser i Azure!

Prova några av guiderna för att distribuera ett exempelprogram, som visar några av Application Gateway för containerns lastbalanseringskoncept.