Snabbstart: Skapa Application Gateway för containrar som hanteras av ALB-styrenheten
Artikel
Den här guiden förutsätter att du följer distributionsstrategin för ALB-styrenheten, där alla Application Gateway for Containers-resurser hanteras av ALB-kontrollanten. Livscykeln bestäms av de resurser som definierats i Kubernetes. ALB-styrenheten skapar resursen Application Gateway for Containers när en anpassad ApplicationLoadBalancer-resurs definieras i klustret. Livscykeln för Application Gateway för containrar baseras på livscykeln för den anpassade resursen.
Förbereda ditt virtuella nätverk/undernät för Application Gateway för containrar
Om du inte har ett undernät tillgängligt med minst 250 tillgängliga IP-adresser och delegerats till resursen Application Gateway för containrar använder du följande steg för att skapa ett nytt undernät och aktivera delegering av undernät. Det nya undernätets adressutrymme kan inte överlappa några befintliga undernät i det virtuella nätverket.
Om du vill distribuera Application Gateway för containrar till det virtuella nätverket som innehåller AKS-klustret kör du följande kommando för att hitta och tilldela klustrets virtuella nätverk. Den här informationen används i nästa steg.
Azure CLI
AKS_NAME='<your cluster name>'
RESOURCE_GROUP='<your resource group name>'
MC_RESOURCE_GROUP=$(az aks show --name$AKS_NAME--resource-group$RESOURCE_GROUP--query"nodeResourceGroup"-o tsv)
CLUSTER_SUBNET_ID=$(az vmss list --resource-group$MC_RESOURCE_GROUP--query'[0].virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].ipConfigurations[0].subnet.id'-o tsv)
read -d'' VNET_NAME VNET_RESOURCE_GROUP VNET_ID <<< $(az network vnet show --ids $CLUSTER_SUBNET_ID --query '[name, resourceGroup, id]' -o tsv)
Om du vill skapa ett undernät i ett befintligt virtuellt nätverk kör du följande kommando för att ange variablerna som referens till det vnet- och undernätsprefix som ska användas under skapandet.
Varning
När du skapar undernätet i nästa steg kontrollerar du att du upprättar anslutningen mellan det här virtuella nätverket/undernätet och AKS-nodpoolen för att möjliggöra kommunikation mellan Application Gateway för containrar och poddarna som körs i AKS.
Azure CLI
VNET_RESOURCE_GROUP=<resource group name of the virtual network>
VNET_NAME=<name of the virtual network to use>
Kör följande kommando för att skapa ett nytt undernät som innehåller minst 250 tillgängliga IP-adresser och aktivera delegering av undernät för application gateway för containrar-associationsresursen:
Azure CLI
SUBNET_ADDRESS_PREFIX='<network address and prefix for an address space under the vnet that has at least 250 available addresses (/24 or larger subnet)>'
ALB_SUBNET_NAME='subnet-alb'# subnet name can be any non-reserved subnet name (i.e. GatewaySubnet, AzureFirewallSubnet, AzureBastionSubnet would all be invalid)az network vnet subnet create \
--resource-group$VNET_RESOURCE_GROUP \
--vnet-name$VNET_NAME \
--name$ALB_SUBNET_NAME \
--address-prefixes$SUBNET_ADDRESS_PREFIX \
--delegations'Microsoft.ServiceNetworking/trafficControllers'
ALB_SUBNET_ID=$(az network vnet subnet show --name$ALB_SUBNET_NAME--resource-group$VNET_RESOURCE_GROUP--vnet-name$VNET_NAME--query'[id]'--output tsv)
Delegera behörigheter till hanterad identitet
ALB-styrenheten 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 den resursgrupp som innehåller det hanterade klustret och delegerar rollen Nätverksdeltagare till det undernät som används av associationen Application Gateway for Containers, som innehåller behörigheten Microsoft.Network/virtualNetworks/subnets/join/action .
IDENTITY_RESOURCE_NAME='azure-alb-identity'
MC_RESOURCE_GROUP=$(az aks show --name$AKS_NAME--resource-group$RESOURCE_GROUP--query"nodeResourceGroup"-otsv | tr -d'\r')
mcResourceGroupId=$(az group show --name$MC_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 AKS Managed Cluster RGaz role assignment create --assignee-object-id$principalId--assignee-principal-type ServicePrincipal --scope$mcResourceGroupId--role"fbc52c3f-28ad-4303-a892-8a056630b8f1"# Delegate Network Contributor permission for join to association subnetaz role assignment create --assignee-object-id$principalId--assignee-principal-type ServicePrincipal --scope$ALB_SUBNET_ID--role"4d97b98b-1d4f-4787-a291-c67834d212e7"
Skapa ApplicationLoadBalancer Kubernetes-resurs
Definiera Kubernetes-namnområdet för ApplicationLoadBalancer-resursen
Definiera applicationloadbalancer-resursen och ange det undernäts-ID som application gatewayen för containrars associationsresurs ska distribueras till. Associationen upprättar anslutning från Application Gateway för containrar till det definierade undernätet (och anslutna nätverk i förekommande fall) för att kunna proxytrafik till en definierad serverdel.
Anteckning
När ALB-kontrollanten skapar Application Gateway för containrar-resurser i ARM använder den följande namngivningskonventioner för sina resurser:
alb-8 slumpmässigt genererade tecken> för att definiera Application Gateway for Containers-resursen<
as-8< slumpmässigt genererade tecken> för att definiera associationsresursen
Om du vill ändra namnet på de resurser som skapats i Azure kan du överväga att följa distributionsstrategin Bring Your Own.
Kör följande kommando för att skapa resursen och associationen för Application Gateway for Containers.
Verifiera skapandet av Resurser för Application Gateway för containrar
När ApplicationLoadBalancer-resursen har skapats kan du spåra distributionsförloppet för Application Gateway for Containers-resurserna. Distributionen övergår från InProgress till programmerat tillstånd när etableringen har slutförts. Det kan ta 5–6 minuter innan resurserna för Application Gateway för containrar skapas.
Du kan kontrollera statusen för ApplicationLoadBalancer-resursen genom att köra följande kommando:
Bash
kubectl get applicationloadbalancer alb-test -n alb-test-infra -o yaml -w
Exempel på utdata från en lyckad etablering av Application Gateway for Containers-resursen från Kubernetes.
Välkommen till den här interaktiva kompetensvalideringsupplevelsen. Genom att slutföra den här modulen kan du förbereda dig för utvärderingen Distribuera och hantera containrar med Azure Kubernetes Service.
I den här snabbstarten får du lära dig hur du etablerar och hanterar Azure-resurser för Application Gateway for Containers oberoende av Kubernetes-konfiguration.
Lär dig mer om Azure Application Gateway for Containers, en lastbalanserare för program som gör att du kan hantera trafik till dina containerarbetsbelastningar.
Den här artikeln innehåller information om hur Application Gateway för containrar accepterar inkommande begäranden och dirigerar dem till ett serverdelsmål.