Hızlı Başlangıç: Kapsayıcılar için Application Gateway oluşturma - kendi dağıtımınızı getirme

Bu kılavuzda, ALB Denetleyicisi'nin Azure'da önceden oluşturulmuş Kapsayıcılar için Application Gateway kaynaklarına başvurduğu Kendidağıtım stratejinizi getirin stratejisini izlediğiniz varsayılır. Kaynak yaşam döngülerinin Kubernetes'te tanımlanandan bağımsız olarak Azure'da yönetildiğini varsayar.

Önkoşullar

İlk olarak Kubernetes kümenize ALB Denetleyicisi dağıttığınızdan emin olun. ALB Denetleyicisini henüz dağıtmadıysanız Hızlı Başlangıç: Kapsayıcılar için Application Gateway ALB Denetleyicisini Dağıtma kılavuzunu izleyebilirsiniz.

Kapsayıcılar için Application Gateway kaynağını oluşturma

Kapsayıcılar için Application Gateway kaynağını oluşturmak için aşağıdaki komutu yürütebilirsiniz.

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

Ön uç kaynağı oluşturma

Kapsayıcılar için Application Gateway ön uç kaynağını oluşturmak için aşağıdaki komutu yürütebilirsiniz.

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

İlişkilendirme kaynağı oluşturma

İlişkilendirme kaynağına alt ağ atama

İlişkilendirme kaynağı oluşturmak için, önce bağlantı kurmak üzere Kapsayıcılar için Application Gateway'e yönelik bir alt ağa başvurmanız gerekir. Kapsayıcılar için Application Gateway ilişkilendirmesi için alt ağın en az C sınıfı veya daha büyük (/24 veya daha küçük CIDR ön eki) olduğundan emin olun. Bu adım için mevcut bir alt ağı yeniden kullanabilir ve alt ağ temsilcisini etkinleştirebilir veya yeni bir sanal ağ, alt ağ oluşturabilir ve alt ağ temsilcisini etkinleştirebilirsiniz.

Var olan bir alt ağa başvurmak için aşağıdaki komutu yürüterek sonraki adımlarda alt ağa başvuru için değişkenleri ayarlayın.

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)

Kapsayıcılar için Application Gateway hizmeti için alt ağ temsilcisini etkinleştirin. Kapsayıcılar için Application Gateway temsilcisi, Microsoft.ServiceNetworking/trafficControllers kaynak türü tarafından tanımlanır.

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

Yönetilen kimliğe izin atama

ALB Denetleyicisinin Kapsayıcılar için yeni Application Gateway kaynakları sağlama ve Kapsayıcılar için Application Gateway ilişkilendirme kaynağına yönelik alt ağı birleştirme özelliğine sahip olması gerekir.

Bu örnekte, Kapsayıcılar için AppGW Configuration Manager rolünü kaynak grubuna ve Ağ Katkıda Bulunanı rolünü Microsoft.Network/virtualNetworks/subnets/join/action iznini içeren Kapsayıcılar için Application Gateway ilişkilendirme alt ağı tarafından kullanılan alt ağa devredeceğiz.

İsterseniz, Ağ Katkıda Bulunanı rolünde yer alan diğer izinleri ortadan kaldırmak için Microsoft.Network/virtualNetworks/subnets/join/action izniyle özel bir rol oluşturabilir ve atayabilirsiniz. Alt ağ izinlerini yönetme hakkında daha fazla bilgi edinin.

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" 

İlişkilendirme kaynağı oluşturma

İlişkilendirme kaynağını oluşturmak ve başvuruda bulunan alt ağa bağlamak için aşağıdaki komutu yürütebilirsiniz. Kapsayıcılar için Application Gateway ilişkilendirmesinin oluşturulması 5-6 dakika sürebilir.

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

Sonraki adımlar

Tebrikler, kümenize ALB Denetleyicisi yüklediniz ve Azure'da Kapsayıcılar için Application Gateway kaynaklarını dağıttınız!

Kapsayıcının yük dengeleme kavramları için Application Gateway'i gösteren örnek bir uygulama dağıtmak için birkaç nasıl yapılır kılavuzunu deneyin.