التشغيل السريع: نشر نظام مجموعة تلقائية لخدمة Azure Kubernetes (AKS) (معاينة)
ينطبق على: ✔️ AKS Automatic (معاينة)
توفر خدمة Azure Kubernetes (AKS) التلقائية (معاينة) أسهل تجربة Kubernetes مدارة للمطورين ومهندسي DevOps ومهندسي النظام الأساسي. مثالي للتطبيقات الحديثة الذكاء الاصطناعي، يقوم AKS Automatic بأتمتة إعداد نظام مجموعة AKS وعملياته وتضمين تكوينات أفضل الممارسات. يمكن للمستخدمين من أي مستوى مهارة الاستفادة من الأمان والأداء والاعتمادية من AKS التلقائي لتطبيقاتهم.
في هذا التشغيل السريع، تتعلم ما يلي:
- نشر نظام مجموعة AKS التلقائي.
- قم بتشغيل نموذج تطبيق متعدد الحاويات مع مجموعة من الخدمات المصغرة والواجهات الأمامية على الويب التي تحاكي سيناريو البيع بالتجزئة.
قبل البدء
يضمن هذا التشغيل السريع الفهم الأساسي لمفاهيم Kubernetes. لمزيد من المعلومات، راجع مفاهيم Kubernetes الأساسية الخاصة بخدمة Azure Kubernetes Service (AKS).
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
تتطلب هذه المقالة الإصدار 2.57.0 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل هناك.
تتطلب
aks-preview
هذه المقالة إصدار ملحق Azure CLI 3.0.0b13 أو أحدث.إذا كان لديك العديد من اشتراكات Azure، فحدد معرف الاشتراك المناسب الذي يجب فوترة الموارد فيه باستخدام الأمر az account set .
تسجيل الميزة
AutomaticSKUPreview
في اشتراك Azure الخاص بك.يجب أن يكون للهوية التي تنشئ نظام المجموعة أيضا الأذونات التالية على الاشتراك:
Microsoft.Authorization/policyAssignments/write
Microsoft.Authorization/policyAssignments/read
هام
تأكد من أن اشتراكك يحتوي على حصة نسبية ل 24 vCPUs للجهاز الظاهري Standard_DS4_v2 للمنطقة التي تقوم بنشر نظام المجموعة إليها. يمكنك عرض الحصص النسبية لعائلات أجهزة ظاهرية معينة وإرسال طلبات زيادة الحصة النسبية من خلال مدخل Microsoft Azure. .png
- لنشر ملف Bicep، تحتاج إلى كتابة الوصول على الموارد التي تقوم بإنشائها والوصول إلى جميع العمليات على
Microsoft.Resources/deployments
نوع المورد. على سبيل المثال، لإنشاء جهاز ظاهري، تحتاج إلىMicrosoft.Compute/virtualMachines/write
أذونات وMicrosoft.Resources/deployments/*
. للحصول على قائمة بالأدوار والأذونات، انظر أدوار Azure المضمنة.
تثبيت ملحق aks-preview Azure CLI
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
لتثبيت ملحق aks-preview، قم بتشغيل الأمر التالي:
az extension add --name aks-preview
قم بتشغيل الأمر التالي للتحديث إلى أحدث إصدار من الملحق الذي تم إصداره:
az extension update --name aks-preview
تسجيل علامات الميزة
لاستخدام AKS Automatic في المعاينة، يجب تسجيل علامات الميزات للميزات المطلوبة الأخرى. تسجيل العلامات التالية باستخدام الأمر az feature register .
az feature register --namespace Microsoft.ContainerService --name EnableAPIServerVnetIntegrationPreview
az feature register --namespace Microsoft.ContainerService --name NRGLockdownPreview
az feature register --namespace Microsoft.ContainerService --name SafeguardsPreview
az feature register --namespace Microsoft.ContainerService --name NodeAutoProvisioningPreview
az feature register --namespace Microsoft.ContainerService --name DisableSSHPreview
az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview
تحقق من حالة التسجيل باستخدام الأمر az feature show . يستغرق الأمر بضع دقائق حتى تظهر الحالة مسجل:
az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview
عندما تعكس الحالة Registered، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService باستخدام الأمر az provider register:
az provider register --namespace Microsoft.ContainerService
إنشاء مجموعة موارد
مجموعة موارد Azure هي مجموعة منطقية يمكن من خلالها نشر وإدارة موارد Azure.
في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.
أنشئ مجموعة موارد مستخدماً الأمر az group create.
az group create --name myResourceGroup --location eastus
يشبه إخراج العينة التالي الإنشاء الناجح لمجموعة الموارد:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
إنشاء نظام مجموعة تلقائية ل AKS
لإنشاء نظام مجموعة تلقائية AKS، استخدم الأمر az aks create . ينشئ المثال التالي مجموعة تسمى myAKSAutomaticCluster مع تمكين تكامل Managed Prometheus و Container Insights.
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
بعد بضع دقائق، الأمر إكمال وإرجاع معلومات منسقة JSON حول الكتلة.
الاتصال بنظام المجموعة
لإدارة نظام مجموعة Kubernetes، استخدم سطر أوامر العميلkubectl. kubectl
سيكون مثبتاً بالفعل في حال كنت تستخدم Azure Cloud Shell. لتثبيت kubectl
محليا، قم بتشغيل الأمر az aks install-cli . يتم تكوين مجموعات AKS التلقائية باستخدام معرف Microsoft Entra للتحكم في الوصول المستند إلى دور Kubernetes (RBAC). عند إنشاء نظام مجموعة باستخدام Azure CLI، يتم تعيين أدوار مضمنة للمستخدم ل Azure Kubernetes Service RBAC Cluster Admin
.
قم بتكوين kubectl
للاتصال بكتلة Kubernetes مستخدماً الأمر az aks get-credentials. هذا الأمر يقوم بتحميل بيانات الاعتماد وضبط Kubernetes CLI لاستخدامها.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
تحقق من الاتصال بنظام مجموعتك مستخدماً أمرkubectl get. يعمل هذا الأمر على استرجاع قائمة نظام المجموعة العنقودية.
kubectl get nodes
سيعرض إخراج العينة التالي كيفية مطالبتك بتسجيل الدخول.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
بعد تسجيل الدخول، يظهر إخراج العينة التالي تجمعات العقد المدارة التي تم إنشاؤها في الخطوات السابقة. تأكد من أن حالة العقدة جاهزة.
NAME STATUS ROLES AGE VERSION
aks-default-f8vj2 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
إنشاء مجموعة Kubernetes التلقائية
لإنشاء مجموعة AKS التلقائية، ابحث عن خدمات Kubernetes، وحدد مجموعة Kubernetes التلقائية من الخيارات المنسدلة.
في علامة التبويب الأساسيات ، املأ جميع الحقول الإلزامية المطلوبة للبدء: الاشتراك ومجموعة الموارد واسم نظام المجموعة والمنطقة
إذا لم يتم استيفاء المتطلبات الأساسية وكان الاشتراك يتطلب تسجيل علامات المعاينة، فسيظهر خطأ ضمن حقل الاشتراك:
في علامة التبويب Monitoring ، اختر تكوينات المراقبة الخاصة بك من Azure Monitor وPrometheus المدار و/أو Managed Grafana و/أو تكوين التنبيهات. أضف العلامات (اختياري)، ثم تابع لإنشاء نظام المجموعة.
ابدأ بتكوين تطبيقك الأول من GitHub وإعداد البنية الأساسية لبرنامج ربط العمليات التجارية للتوزيع التلقائي.
الاتصال بنظام المجموعة
لإدارة نظام مجموعة Kubernetes، استخدم سطر أوامر العميلkubectl. kubectl
سيكون مثبتاً بالفعل في حال كنت تستخدم Azure Cloud Shell. لتثبيت kubectl
محليا، قم بتشغيل الأمر az aks install-cli . يتم تكوين مجموعات AKS التلقائية باستخدام معرف Microsoft Entra للتحكم في الوصول المستند إلى دور Kubernetes (RBAC). عند إنشاء نظام مجموعة باستخدام مدخل Microsoft Azure، يتم تعيين أدوار مضمنة للمستخدم ل Azure Kubernetes Service RBAC Cluster Admin
.
قم بتكوين kubectl
للاتصال بكتلة Kubernetes مستخدماً الأمر az aks get-credentials. هذا الأمر يقوم بتحميل بيانات الاعتماد وضبط Kubernetes CLI لاستخدامها.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
تحقق من الاتصال بنظام مجموعتك مستخدماً أمرkubectl get. يعمل هذا الأمر على استرجاع قائمة نظام المجموعة العنقودية.
kubectl get nodes
سيعرض إخراج العينة التالي كيفية مطالبتك بتسجيل الدخول.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
بعد تسجيل الدخول، يظهر إخراج العينة التالي تجمعات العقد المدارة التي تم إنشاؤها في الخطوات السابقة. تأكد من أن حالة العقدة جاهزة.
NAME STATUS ROLES AGE VERSION
aks-default-f8vj2 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
إنشاء مجموعة موارد
مجموعة موارد Azure هي مجموعة منطقية يمكن من خلالها نشر وإدارة موارد Azure. عند إنشاء مجموعة موارد، تتم مطالبتك بتحديد موقع. هذا الموقع هو موقع تخزين بيانات تعريف مجموعة الموارد الخاصة بك ومكان تشغيل مواردك في Azure إذا لم تحدد منطقة أخرى أثناء إنشاء الموارد.
في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.
أنشئ مجموعة موارد مستخدماً الأمر az group create.
az group create --name myResourceGroup --location eastus
يشبه إخراج العينة التالي الإنشاء الناجح لمجموعة الموارد:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
مراجعة ملف Bicep
يعرف ملف Bicep هذا نظام مجموعة AKS تلقائيا. أثناء المعاينة، تحتاج إلى تحديد ملف تعريف تجمع عامل nodepool للنظام.
@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
tier: 'Standard'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
count: 3
vmSize: 'Standard_DS4_v2'
osType: 'Linux'
mode: 'System'
}
]
}
identity: {
type: 'SystemAssigned'
}
}
لمزيد من المعلومات حول المورد المحدد في ملف Bicep، راجع مرجع Microsoft.ContainerService/managedClusters.
نشر ملف Bicep
احفظ ملف Bicep بالاسم main.bicep على الكمبيوتر المحلي الخاص بك.
هام
يعين
clusterName
ملف Bicep المعلمة إلى السلسلة myAKSAutomaticCluster. إذا كنت تريد استخدام اسم نظام مجموعة مختلف، فتأكد من تحديث السلسلة إلى اسم نظام المجموعة المفضل لديك قبل حفظ الملف إلى الكمبيوتر.انشر ملف Bicep باستخدام Azure CLI.
az deployment group create --resource-group myResourceGroup --template-file main.bicep
يستغرق إنشاء نظام مجموعة AKS بضع دقائق. انتظر حتى نجاح نشر نظام المجموعة قبل انتقالك إلى الخطوة التالية.
الاتصال بنظام المجموعة
لإدارة نظام مجموعة Kubernetes، استخدم سطر أوامر العميلkubectl. kubectl
سيكون مثبتاً بالفعل في حال كنت تستخدم Azure Cloud Shell. لتثبيت kubectl
محليا، قم بتشغيل الأمر az aks install-cli . يتم تكوين مجموعات AKS التلقائية باستخدام معرف Microsoft Entra للتحكم في الوصول المستند إلى دور Kubernetes (RBAC). عند إنشاء نظام مجموعة باستخدام Bicep، تحتاج إلى تعيين أحد الأدوار المضمنة مثل Azure Kubernetes Service RBAC Reader
، Azure Kubernetes Service RBAC Writer
Azure Kubernetes Service RBAC Admin
أو ، أو Azure Kubernetes Service RBAC Cluster Admin
للمستخدمين، محدد النطاق إلى نظام المجموعة أو مساحة اسم معينة. تأكد أيضا من أن المستخدمين لديهم Azure Kubernetes Service Cluster User
الدور المضمن ليكونوا قادرين على تشغيل az aks get-credentials
، ثم احصل على kubeconfig لنظام مجموعة AKS باستخدام az aks get-credentials
الأمر .
قم بتكوين kubectl
للاتصال بكتلة Kubernetes مستخدماً الأمر az aks get-credentials. هذا الأمر يقوم بتحميل بيانات الاعتماد وضبط Kubernetes CLI لاستخدامها.
az aks get-credentials --resource-group myResourceGroup --name
تحقق من الاتصال بنظام مجموعتك مستخدماً أمرkubectl get. يعمل هذا الأمر على استرجاع قائمة نظام المجموعة العنقودية.
kubectl get nodes
سيعرض إخراج العينة التالي كيفية مطالبتك بتسجيل الدخول.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
بعد تسجيل الدخول، يظهر إخراج العينة التالي تجمعات العقد المدارة التي تم إنشاؤها في الخطوات السابقة. تأكد من أن حالة العقدة جاهزة.
NAME STATUS ROLES AGE VERSION
aks-default-f8vj2 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
قم بنشر التطبيق
لنشر التطبيق، يمكنك استخدام ملف بيان لإنشاء كافة الكائنات المطلوبة لتشغيل تطبيق AKS Store. يحدد ملف بيانات Kubernetesالحالة المطلوبة لنظام المجموعة، مثل صور الحاوية المراد تشغيلها. يتضمن البيان عمليات نشر وخدمات Kubernetes التالية:
- واجهة المتجر: تطبيق ويب للعملاء لعرض المنتجات وتقديم الطلبات.
- خدمة المنتج: تعرض معلومات المنتج.
- خدمة الطلب: يضع الطلبات.
- Rabbit MQ: قائمة انتظار الرسائل لقائمة انتظار الطلبات.
إشعار
لا نوصي بتشغيل حاويات ذات حالة، مثل Rabbit MQ، دون تخزين مستمر للإنتاج. يتم استخدام هذه هنا للتبسيط، ولكن نوصي باستخدام الخدمات المدارة، مثل Azure Cosmos DB أو ناقل خدمة Azure.
إنشاء مساحة
aks-store-demo
اسم لنشر موارد Kubernetes فيها.kubectl create ns aks-store-demo
انشر التطبيق باستخدام الأمر kubectl apply في
aks-store-demo
مساحة الاسم. ملف YAML الذي يحدد التوزيع موجود على GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
يظهر إخراج العينة التالي عمليات التوزيع والخدمات:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-front created
اختبر التطبيق
عند تشغيل التطبيق، تعرض خدمة Kubernetes واجهة التطبيق الأمامية للإنترنت. قد تستغرق هذه العملية بضع دقائق حتى تكتمل.
تحقق من حالة pods المنشورة باستخدام الأمر kubectl get pods . تأكد من أن جميع القرون
Running
قبل المتابعة. إذا كان هذا هو حمل العمل الأول الذي تقوم بنشره، فقد يستغرق التوفير التلقائي للعقدة بضع دقائق لإنشاء تجمع عقدة لتشغيل pods.kubectl get pods -n aks-store-demo
تحقق من وجود عنوان IP عام لتطبيق المتجر الأمامي. راقب سير العملية باستخدام أمر kubectl get serviceمع
--watch
وسيطة.kubectl get ingress store-front -n aks-store-demo --watch
يظهر إخراج ADDRESS للخدمة
store-front
في البداية فارغا:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12m
بمجرد تغيير ADDRESS من فارغ إلى عنوان IP عام فعلي، استخدم
CTRL-C
لإيقافkubectl
عملية المراقبة.يظهر إخراج العينة التالي عنوان IP عاما صالحا تم تعيينه للخدمة:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12m
افتح مستعرض ويب إلى عنوان IP الخارجي للدخول الخاص بك لمشاهدة تطبيق Azure Store قيد التنفيذ.
قم بحذف نظام المجموعة
إذا كنت لا تخطط للانتقال من خلال البرنامج التعليمي AKS، قم بتنظيف الموارد غير الضرورية لتجنب رسوم Azure. قم بتشغيل الأمر az group delete لإزالة مجموعة الموارد وخدمة الحاوية وجميع الموارد ذات الصلة.
az group delete --name myResourceGroup --yes --no-wait
إشعار
تم إنشاء نظام مجموعة AKS بهوية مدارة معينة من قبل النظام، وهو خيار الهوية الافتراضي المستخدم في هذا التشغيل السريع. يدير النظام الأساسي هذه الهوية، لذلك لا تحتاج إلى إزالتها يدويا.
الخطوات التالية
في هذا التشغيل السريع، قمت بنشر مجموعة Kubernetes باستخدام AKS Automatic ثم نشرت تطبيقا بسيطا متعدد الحاويات إليه. هذا التطبيق النموذجي هو لأغراض العرض التوضيحي فقط ولا يمثل جميع أفضل الممارسات لتطبيقات Kubernetes. للحصول على إرشادات حول إنشاء حلول كاملة باستخدام AKS للإنتاج، راجع إرشادات حل AKS.
لمعرفة المزيد حول AKS Automatic، تابع إلى المقدمة.
Azure Kubernetes Service