التشغيل السريع: إنشاء بوابة التطبيق للحاويات - إحضار النشر الخاص بك

يفترض هذا الدليل أنك تتبع استراتيجية النشر الخاصة بك، حيث تشير وحدة تحكم ALB إلى بوابة التطبيق لموارد الحاويات التي تم إنشاؤها مسبقا في Azure. من المفترض أن تتم إدارة دورات حياة الموارد في Azure، بشكل مستقل عما يتم تعريفه داخل Kubernetes.

المتطلبات الأساسية

تأكد من نشر وحدة تحكم ALB أولا في مجموعة Kubernetes الخاصة بك. يمكنك اتباع دليل التشغيل السريع: نشر Application Gateway for Containers ALB Controller إذا لم تكن قد نشرت بالفعل وحدة تحكم ALB.

إنشاء مورد بوابة التطبيق للحاويات

نفذ الأمر التالي لإنشاء مورد بوابة التطبيق للحاويات.

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

إنشاء مورد واجهة أمامية

نفذ الأمر التالي لإنشاء مورد الواجهة الأمامية لبوابة التطبيق للحاويات.

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

إنشاء مورد اقتران

تفويض شبكة فرعية إلى مورد الاقتران

لإنشاء مورد اقتران، تحتاج أولا إلى الرجوع إلى شبكة فرعية لبوابة التطبيق للحاويات لإنشاء اتصال بها. تأكد من أن الشبكة الفرعية لارتباط Application Gateway for Containers هي على الأقل فئة C أو أكبر (/24 أو بادئة CIDR أصغر). لهذه الخطوة، يمكنك إما إعادة استخدام شبكة فرعية موجودة وتمكين تفويض الشبكة الفرعية عليها أو إنشاء شبكة ظاهرية جديدة وشبكة فرعية وتمكين تفويض الشبكة الفرعية.

للإشارة إلى شبكة فرعية موجودة، قم بتنفيذ الأمر التالي لتعيين المتغيرات للإشارة إلى الشبكة الفرعية في خطوات لاحقة.

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)

تمكين تفويض الشبكة الفرعية لخدمة بوابة التطبيق للحاويات. يتم تحديد تفويض Application Gateway للحاويات بواسطة نوع مورد 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

تفويض الأذونات إلى الهوية المدارة

تحتاج وحدة تحكم ALB إلى القدرة على توفير بوابة تطبيق جديدة لموارد الحاويات والانضمام إلى الشبكة الفرعية المخصصة لمورد اقتران بوابة التطبيق للحاويات.

في هذا المثال، نقوم بتفويض دور AppGW for Containers Configuration Manager إلى مجموعة الموارد وتفويض دور مساهم الشبكة إلى الشبكة الفرعية المستخدمة من قبل الشبكة الفرعية لاقتران بوابة التطبيق للحاويات، والتي تحتوي على إذن Microsoft.Network/virtualNetworks/subnets/join/action .

إذا رغبت في ذلك، يمكنك إنشاء دور مخصص وتعيينه باستخدام إذن Microsoft.Network/virtualNetworks/subnets/join/action لإزالة الأذونات الأخرى المضمنة في دور مساهم الشبكة. تعرف على المزيد حول إدارة أذونات الشبكة الفرعية.

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" 

إنشاء مورد اقتران

نفذ الأمر التالي لإنشاء مورد الاقتران وتوصيله بالشبكة الفرعية المشار إليها. قد يستغرق إنشاء اقتران Application Gateway for Containers من 5 إلى 6 دقائق.

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

الخطوات التالية

تهانينا، لقد قمت بتثبيت وحدة تحكم ALB على نظام المجموعة الخاص بك ونشرت موارد بوابة التطبيق للحاويات في Azure!

جرب بعض الأدلة الإرشادية لنشر نموذج تطبيق، مما يوضح بعض Application Gateway لمفاهيم موازنة تحميل الحاوية.