Udostępnij za pośrednictwem


Szybki start: tworzenie usługi Application Gateway dla kontenerów — własna konfiguracja wdrożenia.

W tej instrukcji przyjęto, że korzystasz z podejścia przynieś własnewdrożenie, w którym kontroler ALB odwołuje się do zasobów usługi Application Gateway for Containers utworzonych wcześniej na platformie Azure. Zakłada się, że cykle życia zasobów są zarządzane na platformie Azure niezależnie od tego, co jest zdefiniowane w ramach platformy Kubernetes.

Wymagania wstępne

Upewnij się, że ALB Controller został wdrożony w klastrze Kubernetes. Możesz skorzystać z przewodnika Szybki start: Wdróż Application Gateway dla Kontenerów z ALB Controllerem, jeśli ALB Controller nie został jeszcze wdrożony.

Tworzenie zasobu usługi Application Gateway for Containers

Wykonaj następujące polecenie, aby utworzyć zasób usługi 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

Tworzenie zasobu frontendowego

Wykonaj następujące polecenie, aby utworzyć zasób frontonu usługi Application Gateway for Containers.

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

Tworzenie zasobu skojarzenia

Delegowanie podsieci do zasobu powiązania

Aby utworzyć zasób skojarzenia, najpierw należy określić podsieć dla usługi Application Gateway dla kontenerów, aby ustanowić łączność. Upewnij się, że podsieć dla usługi Application Gateway dla kontenerów jest co najmniej klasy C lub większa bądź dysponuje prefiksem CIDR równym /24 lub mniejszym. W tym kroku możesz ponownie użyć istniejącej podsieci i włączyć w niej delegowanie podsieci lub utworzyć nową sieć wirtualną, podsieć i włączyć delegowanie podsieci.

Aby odwołać się do istniejącej podsieci, wykonaj następujące polecenie, aby ustawić zmienne dla odwołania do podsieci w kolejnych krokach.

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)

Włącz delegowanie podsieci dla usługi Application Gateway for Containers. Delegowanie usługi Application Gateway dla kontenerów jest identyfikowane przez typ zasobu 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

Delegowanie uprawnień do tożsamości zarządzanej

Kontroler usługi ALB musi mieć możliwość aprowizowania nowych zasobów usługi Application Gateway dla kontenerów oraz dołączania się do podsieci przeznaczonej dla zasobu skojarzenia z usługą Application Gateway dla kontenerów.

W tym przykładzie delegujemy rolę AppGW for Containers Configuration Manager do grupy zasobów i delegujemy rolę Współautor sieci do podsieci używanej przez podsieć skojarzenia usługi Application Gateway for Containers, która zawiera uprawnienie Microsoft.Network/virtualNetworks/subnets/join/action .

W razie potrzeby możesz utworzyć i przypisać niestandardową rolę z uprawnieniem Microsoft.Network/virtualNetworks/subnets/join/action, aby wyeliminować inne uprawnienia zawarte w roli Współtwórca sieci. Dowiedz się więcej o zarządzaniu uprawnieniami podsieci.

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" 

Tworzenie zasobu skojarzenia

Wykonaj następujące polecenie, aby utworzyć zasób powiązania i połączyć go z przywołaną podsiecią. Utworzenie skojarzenia usługi Application Gateway for Containers może potrwać 5–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

Następne kroki

Gratulacje, kontroler usługi ALB został zainstalowany w klastrze i wdrożono zasoby usługi Application Gateway for Containers na platformie Azure!

Wypróbuj kilka przewodników instruktażowych, aby wdrożyć przykładową aplikację, przedstawiając niektóre pojęcia dotyczące równoważenia obciążenia w Application Gateway dla kontenerów.