Mulai cepat: Membuat Application Gateway untuk Kontainer - bawa penyebaran Anda sendiri

Panduan ini mengasumsikan Anda mengikuti strategi bawa penyebaran Anda sendiri, di mana Pengontrol ALB mereferensikan Application Gateway untuk sumber daya Kontainer yang dibuat sebelumnya di Azure. Diasumsikan bahwa siklus hidup sumber daya dikelola di Azure, independen dari apa yang ditentukan dalam Kubernetes.

Prasyarat

Pastikan Anda telah terlebih dahulu menyebarkan Pengontrol ALB ke kluster Kubernetes Anda. Anda dapat mengikuti panduan Mulai Cepat: Menyebarkan Application Gateway untuk Pengontrol ALB Kontainer jika Anda belum menyebarkan Pengontrol ALB.

Membuat sumber daya Application Gateway untuk Kontainer

Jalankan perintah berikut untuk membuat Application Gateway untuk sumber daya Kontainer.

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

Membuat sumber daya frontend

Jalankan perintah berikut untuk membuat Application Gateway untuk sumber daya frontend Kontainer.

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

Membuat sumber daya asosiasi

Mendelegasikan subnet ke sumber daya asosiasi

Untuk membuat sumber daya asosiasi, Anda harus terlebih dahulu mereferensikan subnet untuk Application Gateway untuk Kontainer guna membangun konektivitas. Pastikan subnet untuk asosiasi Application Gateway for Containers setidaknya merupakan kelas C atau lebih besar (/24 atau awalan CIDR yang lebih kecil). Untuk langkah ini, Anda dapat menggunakan kembali subnet yang ada dan mengaktifkan delegasi subnet di dalamnya atau membuat VNET, subnet, dan mengaktifkan delegasi subnet baru.

Untuk mereferensikan subnet yang ada, jalankan perintah berikut untuk mengatur variabel untuk referensi ke subnet di langkah selanjutnya.

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)

Aktifkan delegasi subnet untuk layanan Application Gateway for Containers. Delegasi untuk Application Gateway untuk Kontainer diidentifikasi oleh jenis sumber daya 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

Mendelegasikan izin ke identitas terkelola

Pengontrol ALB membutuhkan kemampuan untuk menyediakan Application Gateway baru untuk sumber daya Kontainer dan bergabung dengan subnet yang ditujukan untuk sumber daya asosiasi Application Gateway for Containers.

Dalam contoh ini, kami mendelegasikan peran AppGW untuk Containers Configuration Manager ke grup sumber daya dan mendelegasikan peran Kontributor Jaringan ke subnet yang digunakan oleh subnet asosiasi Application Gateway for Containers, yang berisi izin Microsoft.Network/virtualNetworks/subnets/join/action .

Jika diinginkan, Anda dapat membuat dan menetapkan peran kustom dengan izin Microsoft.Network/virtualNetworks/subnets/join/action untuk menghilangkan izin lain yang terkandung dalam peran Kontributor Jaringan. Pelajari selengkapnya tentang mengelola izin subnet.

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" 

Membuat sumber daya asosiasi

Jalankan perintah berikut untuk membuat sumber daya asosiasi dan menyambungkannya ke subnet yang dirujuk. Dibutuhkan waktu 5-6 menit agar asosiasi Application Gateway for Containers dibuat.

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

Langkah berikutnya

Selamat, Anda telah menginstal Pengontrol ALB pada kluster Anda dan menyebarkan Application Gateway untuk sumber daya Kontainer di Azure!

Cobalah beberapa panduan cara untuk menyebarkan aplikasi sampel, yang menunjukkan beberapa konsep penyeimbangan beban Application Gateway for Container.