Quickstart: Create an خدمة Azure Kubernetes ‏(AKS) Automatic cluster

ينطبق على: ✔️ AKS أوتوماتيك

خدمة Azure Kubernetes ‏(AKS) Automatic هي تجربة كوبيرنتيز مدارة تقوم بأتمتة إعداد وعمليات مجموعات AKS وتدمج تكوينات أفضل الممارسات. يتضمن AKS Automatic أيضا [SLA] لجاهزية البود] [azure-sla] يضمن إكمال 99.9% من عمليات جاهزية الكبسولات المؤهلة خلال 5 دقائق، مما يضمن بنية تحتية موثوقة وذاتية الإصلاح لتطبيقاتك. ستتعلم في هذا التشغيل السريع كيفية:

  • نشر نظام مجموعة AKS التلقائي.
  • قم بتشغيل نموذج تطبيق متعدد الحاويات مع مجموعة من الخدمات المصغرة والواجهات الأمامية على الويب التي تحاكي سيناريو البيع بالتجزئة.

قبل البدء

  • Azure CLI الإصدار 2.86.0 أو أحدث. للعثور على النسخة، شغل az --version أمر الأمر. إذا كنت بحاجة إلى تثبيت أو ترقية، راجع تثبيت Azure CLI.
  • إذا كان لديك اشتراكات متعددة Azure، اختر معرف الاشتراك المناسب لفوترة الموارد باستخدام أمر az account set.
  • لنشر ملف Bicep، تحتاج إلى الوصول الكتابي للموارد التي تنشئها والوصول إلى جميع العمليات على نوع المورد Microsoft.Resources/deployments. على سبيل المثال، لإنشاء آلة افتراضية (VM)، تحتاج إلى أذونات Microsoft.Compute/virtualMachines/write و Microsoft.Resources/deployments/*. للحصول على قائمة الأدوار والأصوات، راجع Azure الأدوار المدمجة.

هام

بدءا من AKS 1.36، ستفعل مجموعات AKS التلقائية الجديدة افتراضيا واجهة برمجة تطبيقات بوابة كوبيرنتيز عبر إضافة توجيه التطبيقات بدلا من إدخال NGINX المدار مع إضافة توجيه التطبيقات بسبب تقاعد NGINX في البداية من Ingress.

لا تتأثر المجموعات التلقائية الحالية ولكن يجب أن تبدأ في الانتقال إلى واجهة برمجة تطبيقات Kubernetes Gateway عبر إضافة توجيه التطبيقات.

القيود

تنطبق القيود التالية على عناقيد AKS التلقائية:

  • يتوفر AKS Automatic بشكل عام في المناطق التالية: australiaeast، austriaeast، belgiumcentral، brazilsouth، canadacentralcentralindiacentraluschilecentraldenmarkeasteastasiaeastuseastus2francecentralgermanywestcentralindonesiacentralisraelcentralitalynorthjapaneastjapanwestkoreacentralmalaysiawestmexicocentralnewzealandnorthnortheuropenorwayeastpolandcentralsouthafricanorthsouthcentralussoutheastasiaspaincentralswedencentralswitzerlandnorthuaenorthuksouthwesteuropewestus2westus3.
    • تدعم مجموعات AKS التلقائية الجديدة افتراضيا تجمع عقد النظام المدارة وLocalDNS. لا يمكنك إنشاء مجموعات AKS التلقائية بدون تجمعات عقد النظام المدارة في أي منطقة.
  • مجموعة AKS التلقائية تحتوي على node group resource lockdown معدة مسبقا، مما لا يسمح بتغييرات في مجموعة موارد MC_، مما يمنع روابط الشبكة الافتراضية في منطقة Private DNS الافتراضية. لسيناريوهات DNS عبر VNet أو مخصصة، استخدم شبكة مخصصة وDNS خاصة باتباع إنشاء مجموعة خاصة خدمة Azure Kubernetes ‏(AKS) تلقائية في شبكة افتراضية مخصصة.
  • يتطلب إصدار Azure CLI 2.86.0 أو أحدث. للعثور على النسخة، شغل az --version أمر الأمر. إذا كنت بحاجة إلى تثبيت أو ترقية، راجع تثبيت Azure CLI.
  • الامتدادات التالية غير مدعومة:
  • عقد ويندوز غير مدعومة.
  • إضافة شبكة الخدمة المبنية على Istio ل AKS غير مدعومة.
  • لا يتم دعم الترحيل بين وحدة تخزين AKS الأساسية ووحدة التخزين التلقائية.
  • لا يتم دعم الترحيلات بين مجموعات AKS التلقائية التي لا تحتوي على تجمعات عقد النظام المدارة ومجموعات AKS التلقائية التي تحتوي على تجمعات عقد النظام المدارة.
  • لا يتم دعم تكوين جمع السجلات المخصص لمقاييس Prometheusوجمع السجلات .
  • تفعيل ملاحظة ACNS أثناء إنشاء المجموعات التلقائي غير مدعوم. يمكنك تفعيل ملاحظة ACNS بعد إنشاء العنقود.

إنشاء مجموعة موارد

مجموعة الموارد Azure هي مجموعة منطقية يتم فيها نشر وإدارة Azure الموارد.

إنشاء مجموعة موارد باستخدام az group create الأمر . المثال التالي ينشئ مجموعة موارد باسم myResourceGroup في موقع canadacentral :

az group create --name myResourceGroup --location canadacentral

يشبه إخراج العينة التالي الإنشاء الناجح لمجموعة الموارد:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "canadacentral",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

إنشاء نظام مجموعة تلقائية ل AKS

إنشاء عنقود AKS التلقائي باستخدام az aks create الأمر مع --sku تعيين المعلمة على automatic. المثال التالي ينشئ عنقودا باسم myAKSAutomaticCluster مع تفعيل Managed Prometheus وتكامل Container Insights معين:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSAutomaticCluster \
    --sku automatic
    --enable-hosted-system

عند انتهاء النشر، يظهر hostedSystemProfile الناتج خاصية تم enabled تعيين الخاصية على true. يمكنك أيضا تشغيل الأمر التالي لعرض الخصائص hostedSystemProfile :

az aks show \
  --resource-group myResourceGroup \
  --name myAKSAutomaticCluster \
  --query hostedSystemProfile
{
  "enabled": true,
  "nodeSubnetId": null,
  "systemNodeSubnetId": null
}

إنشاء مجموعة Kubernetes التلقائية

  1. لإنشاء عنقود AKS التلقائي، ابحث عن خدمات Kubernetes واخترها. هذا يأخذك إلى صفحة المعاينة في مركز Kubernetes .

  2. في صفحة Kubernetes center (المعاينة)، اختر إنشاء>عنقود Kubernetes التلقائي.

    لقطة شاشة لزر إنشاء عنقود AKS التلقائي في بوابة Azure.

  3. في تبويب الأساسيات ، املأ جميع الحقول المطلوبة (الاشتراك، مجموعة الموارد، اسم مجموعة Kubernetes، والمنطقة)، ثم اختر التالي.

    لقطة شاشة تبويب إنشاء - أساسيات لمجموعة AKS التلقائية في بوابة Azure.

  4. في تبويب Monitoring، اختر إعدادات المراقبة التي تريدها من Azure Monitor (رؤى الحاويات)، وPrometheus المدارة، ولوحات معلومات Grafana، والتنبيهات، ثم اختر Next.

    لقطة شاشة لعلامة التبويب أثناء إنشاء عنقود AKS التلقائي في بوابة Azure.

  5. في تبويب Advanced، اختر تكويناتك المتقدمة المرغوبة: الوصول الخاص، Azure الشبكات الافتراضية، الهوية المدارة، أمن شبكة الحاويات (ACNS)، ومساحات أسماء Kubernetes المدارة، ثم اختر Review + create.

    لقطة شاشة لعلامة التبويب المتقدمة أثناء إنشاء عنقود AKS التلقائي في بوابة Azure.

  6. راجع التكوينات في تبويب Review + create ، ثم اختر Create لنشر عنقود AKS التلقائي.

  7. ابدأ بتكوين أول تطبيق لك من GitHub وقم بإعداد خط نشر تلقائي.

    لقطة شاشة لعلامة البدء في شفرة النظرة العامة بعد إنشاء عنقود AKS التلقائي في بوابة Azure.

راجع ملف Bicep

ملف Bicep التالي يعرف مجموعة AKS التلقائية:

@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@2026-02-01' ' = {
  name: clusterName
  location: location
  sku: {
    name: 'Automatic'
  }
  identity: {
    type: 'SystemAssigned'
  }
}

لمزيد من المعلومات حول المورد المحدد في ملف Bicep، راجع Microsoft. ContainerService/managedClusters reference.

نشر ملف Bicep

  1. احفظ ملف Bicep ك main.bicep إلى جهاز الكمبيوتر المحلي الخاص بك.

    هام

    يقوم ملف Bicep بتعيين المباراة clusterName إلى السلسلة myAKSAutomaticCluster. إذا كنت تريد استخدام اسم نظام مجموعة مختلف، فتأكد من تحديث السلسلة إلى اسم نظام المجموعة المفضل لديك قبل حفظ الملف إلى الكمبيوتر.

  2. نشر ملف Bicep باستخدام أمر [az deployment group create][az-deployment-group-create].

    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 ID لتحكم الوصول القائم على الأدوار (RBAC) في Kubernetes.

ملاحظة

عندما تنشئ عنقودا باستخدام Azure CLI، يتم تعيين المستخدم roles المدمجة ل Azure Kubernetes Service RBAC Cluster Admin.

  1. قم بتكوين kubectl للاتصال بنظام مجموعة Kubernetes باستخدام أمر az aks get-credentials. هذا الأمر يقوم بتحميل بيانات الاعتماد وضبط Kubernetes CLI لاستخدامها.

    az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
    
  2. تحقق من الاتصال بالمجموعة باستخدام 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-hostedpool-16652789-vms1   Ready    <none>   19m   v1.34.7
    aks-hostedpool-16652789-vms2   Ready    <none>   19m   v1.34.7
    aks-hostedpool-16652789-vms3   Ready    <none>   19m   v1.34.7
    aks-system-surge-zq4d2         Ready    <none>   19m   v1.34.7
    

قم بنشر التطبيق

لنشر التطبيق، تستخدم ملف البيان لإنشاء جميع الكائنات المطلوبة لتشغيل تطبيق AKS Store. يحدد ملف بيانات Kubernetesالحالة المطلوبة لنظام المجموعة، مثل صور الحاوية المراد تشغيلها. يتضمن البيان عمليات نشر وخدمات Kubernetes التالية:

لقطة شاشة لمعمارية نموذج Azure Store.

  • واجهة المتجر: تطبيق ويب للعملاء لعرض المنتجات وتقديم الطلبات.
  • خدمة المنتج: تعرض معلومات المنتج.
  • خدمة الطلب: يضع الطلبات.
  • Rabbit MQ: قائمة انتظار الرسائل لقائمة انتظار الطلبات.

ملاحظة

لا نوصي بتشغيل حاويات ذات حالة، مثل Rabbit MQ، دون تخزين مستمر للإنتاج. تستخدم هذه الخدمات هنا للبساطة، لكننا نوصي باستخدام الخدمات المدارة، مثل Azure Cosmos DB أو ناقل خدمة Azure.

  1. إنشاء مساحة اسم aks-store-demo لنشر موارد Kubernetes فيها.

    kubectl create ns aks-store-demo
    
  2. انشر التطبيق باستخدام 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 واجهة التطبيق الأمامية للإنترنت. قد تستغرق هذه العملية بضع دقائق حتى تكتمل.

  1. تحقق من حالة pods المنشورة باستخدام الأمر kubectl get pods . تأكد من أن جميع القرون Running قبل المتابعة. إذا كان هذا هو أول عبء عمل تقوم بنشره، فقد يستغرق الأمر بضع دقائق حتى يقوم العقد التلقائي بإنشاء مجموعة عقد لتشغيل البودات.

    kubectl get pods -n aks-store-demo
    
  2. تحقق من وجود عنوان 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
    
  3. بمجرد تغيير عنوان من فارغ إلى عنوان IP عام فعلي، استخدم CTRL-C لإيقاف عملية المراقبة kubectl.

    يظهر إخراج العينة التالي عنوان IP عاما صالحا تم تعيينه للخدمة:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. افتح متصفح ويب لعنوان IP الخارجي الخاص بجهازك لرؤية تطبيق Azure Store أثناء العمل.

    لقطة شاشة لتطبيق عينة AKS Store.

قم بحذف نظام المجموعة

إذا لم تكن تخطط لمراجعة <درس c0>AKS، قم بتنظيف الموارد غير الضرورية لتجنب Azure التهم.

قم بإزالة مجموعة الموارد وخدمة الحاوية وجميع الموارد ذات الصلة باستخدام az group delete الأمر .

az group delete --name myResourceGroup --yes --no-wait

ملاحظة

تم إنشاء نظام مجموعة AKS بهوية مدارة معينة من قبل النظام، وهو خيار الهوية الافتراضي المستخدم في هذا التشغيل السريع. يدير النظام الأساسي هذه الهوية، لذلك لا تحتاج إلى إزالتها يدويا.

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

لمعرفة المزيد عن AKS Automatic، راجع مقدمة في خدمة Azure Kubernetes ‏(AKS) Automatic