Delen via


Quickstart: Application Gateway for Containers maken - Bring Your Own Deployment

In deze handleiding wordt ervan uitgegaan dat u de Bring Your Own Deployment-strategie volgt, waarbij DE ALB-controller verwijst naar de Application Gateway for Containers-resources die vooraf zijn gemaakt in Azure. Ervan wordt uitgegaan dat de levenscyclus van resources wordt beheerd in Azure, onafhankelijk van wat is gedefinieerd in Kubernetes.

Vereisten

Zorg ervoor dat u DE ALB-controller voor het eerst hebt geïmplementeerd in uw Kubernetes-cluster. U kunt de quickstart volgen: Application Gateway for Containers ALB Controller implementeren als u de ALB-controller nog niet hebt geïmplementeerd.

De Application Gateway for Containers-resource maken

Voer de volgende opdracht uit om de Application Gateway for Containers-resource te maken.

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

Een front-endresource maken

Voer de volgende opdracht uit om de front-endresource application gateway for Containers te maken.

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

Een koppelingsresource maken

Een subnet delegeren aan een koppelingsresource

Als u een koppelingsresource wilt maken, moet u eerst verwijzen naar een subnet voor Application Gateway for Containers om verbinding te maken met. Zorg ervoor dat het subnet voor een toepassingsgateway voor containers-koppeling ten minste een klasse C of groter is (/24 of kleiner CIDR-voorvoegsel). Voor deze stap kunt u een bestaand subnet opnieuw gebruiken en subnetdelegering inschakelen of een nieuw VNET, subnet maken en subnetdelegering inschakelen.

Als u wilt verwijzen naar een bestaand subnet, voert u de volgende opdracht uit om de variabelen in te stellen voor verwijzing naar het subnet in latere stappen.

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)

Schakel subnetdelegering in voor de Application Gateway for Containers-service. De delegatie voor Application Gateway for Containers wordt geïdentificeerd door het resourcetype 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

Machtigingen voor beheerde identiteit delegeren

De ALB-controller heeft de mogelijkheid nodig om nieuwe Application Gateway voor Containers-resources in te richten en het subnet toe te voegen dat is bedoeld voor de koppelingsresource Application Gateway for Containers.

In dit voorbeeld delegeren we de rol AppGW for Containers Configuration Manager aan de resourcegroep en delegeren we de rol Netwerkbijdrager aan het subnet dat wordt gebruikt door het subnet application gateway for Containers association, dat de machtiging Microsoft.Network/virtualNetworks/subnetten/join/action bevat.

Desgewenst kunt u een aangepaste rol maken en toewijzen met de machtiging Microsoft.Network/virtualNetworks/subnetten/join/action om andere machtigingen in de rol Inzender voor netwerken te elimineren. Meer informatie over het beheren van subnetmachtigingen.

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" 

Een koppelingsresource maken

Voer de volgende opdracht uit om de koppelingsresource te maken en deze te verbinden met het subnet waarnaar wordt verwezen. Het kan 5-6 minuten duren voordat de toepassingsgateway voor de koppeling Containers is gemaakt.

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

Volgende stappen

Gefeliciteerd, u hebt DE ALB-controller op uw cluster geïnstalleerd en de Application Gateway for Containers-resources in Azure geïmplementeerd.

Probeer een paar van de handleidingen voor het implementeren van een voorbeeldtoepassing, waarin enkele application gateway-concepten voor taakverdeling van containers worden gedemonstreerd.