Rychlý start: Vytvoření služby Application Gateway pro kontejnery – používání vlastního nasazení

V této příručce se předpokládá, že sledujete vlastnístrategii nasazení, kde kontroler ALB odkazuje na prostředky Application Gateway for Containers předem vytvořených v Azure. Předpokládá se, že životní cyklus prostředků se spravuje v Azure nezávisle na tom, co je definované v rámci Kubernetes.

Požadavky

Ujistěte se, že jste nejprve nasadili kontroler ALB do clusteru Kubernetes. Pokud jste ještě nenasadili kontroler ALB, můžete postupovat podle tohoto rychlého startu: Nasazení služby Application Gateway for Containers ALB Controller guide.

Vytvoření prostředku Služby Application Gateway pro kontejnery

Spuštěním následujícího příkazu vytvořte prostředek 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

Vytvoření front-endového prostředku

Spuštěním následujícího příkazu vytvořte front-endový prostředek služby Application Gateway for Containers.

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

Vytvoření prostředku přidružení

Delegování podsítě na prostředek přidružení

Pokud chcete vytvořit prostředek přidružení, musíte nejprve odkazovat na podsíť služby Application Gateway pro kontejnery, aby bylo možné navázat připojení. Ujistěte se, že podsíť pro přidružení služby Application Gateway pro kontejnery je alespoň třída C nebo větší (předpona CIDR 24 nebo menší). V tomto kroku můžete buď znovu použít existující podsíť a povolit delegování podsítě, nebo vytvořit novou virtuální síť, podsíť a povolit delegování podsítě.

Pokud chcete odkazovat na existující podsíť, spusťte následující příkaz, který nastaví proměnné pro odkaz na podsíť v dalších krocích.

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)

Povolte delegování podsítě pro službu Application Gateway for Containers. Delegování služby Application Gateway pro kontejnery je identifikováno typem prostředku 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

Delegování oprávnění na spravovanou identitu

Kontroler ALB potřebuje možnost zřídit novou službu Application Gateway pro prostředky kontejnerů a připojit se k podsíti určené pro prostředek přidružení služby Application Gateway for Containers.

V tomto příkladu delegujeme roli AppGW for Containers Configuration Manager na skupinu prostředků a delegujeme roli Přispěvatel sítě do podsítě používané podsítí přidružení služby Application Gateway for Containers, která obsahuje oprávnění Microsoft.Network/virtualNetworks/subnets/join/action .

V případě potřeby můžete vytvořit a přiřadit vlastní roli s oprávněním Microsoft.Network/virtualNetworks/subnets/join/action k odstranění dalších oprávnění obsažených v roli Přispěvatel sítě. Přečtěte si další informace o správě oprávnění podsítě.

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" 

Vytvoření prostředku přidružení

Spuštěním následujícího příkazu vytvořte prostředek přidružení a připojte ho k odkazované podsíti. Vytvoření přidružení služby Application Gateway for Containers může trvat 5 až 6 minut.

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

Další kroky

Blahopřejeme, nainstalovali jste do clusteru kontroler ALB a nasadili jste prostředky služby Application Gateway for Containers v Azure.

Vyzkoušejte několik návodů k nasazení ukázkové aplikace, která předvádí některé koncepty vyrovnávání zatížení služby Application Gateway pro kontejnery.