البرنامج التعليمي - نشر تطبيق إلى خدمة Azure Kubernetes (AKS)

يُقدم Kubernetes نظاماً أساسياً موزعاً للتطبيقات المعبأة في حاويات. يمكنك إنشاء ونشر التطبيقات والخدمات الخاصة بك في مجموعة Kubernetes والسماح للمجموعة بإدارة التوفر والاتصال.

في هذا البرنامج التعليمي، الجزء الرابع من سبعة، يمكنك نشر نموذج تطبيق في مجموعة Kubernetes. ‏‫ستتعلم كيفية:

  • تحديث ملف بيان Kubernetes.
  • تشغيل تطبيق في Kubernetes.
  • اختبار التطبيق.

تلميح

باستخدام AKS، يمكنك استخدام الأساليب التالية لإدارة التكوين:

قبل البدء

في البرامج التعليمية السابقة، قمت بحزم تطبيق في صورة حاوية، وتحميل الصورة إلى Azure Container Registry، وإنشاء مجموعة Kubernetes. لإكمال هذا البرنامج التعليمي، تحتاج إلى ملف بيان Kubernetes الذي تم aks-store-quickstart.yaml إنشاؤه مسبقا. تم تنزيل هذا الملف في التعليمات البرمجية المصدر للتطبيق من البرنامج التعليمي 1 - إعداد التطبيق ل AKS.

يتطلب هذا البرنامج التعليمي الإصدار 2.0.53 من Azure CLI أو أحدث. تحقق من الإصدار الخاص بك باستخدام az --version. للتثبيت أو الترقية، يُرجى الرجوع إلى تثبيت Azure CLI.

تحديث ملف البيان

في هذه البرامج التعليمية، يخزن مثيل Azure Container Registry (ACR) صور الحاوية لنموذج التطبيق. لنشر التطبيق، يجب تحديث أسماء الصور في ملف بيان Kubernetes لتضمين اسم خادم تسجيل الدخول إلى ACR.

  1. احصل على عنوان خادم تسجيل الدخول باستخدام az acr list الأمر والاستعلام لخادم تسجيل الدخول.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. تأكد من أنك في دليل aks-store-demo المستنسخ، ثم افتح ملف البيان باستخدام محرر نص، مثل vi.

    vi aks-store-quickstart.yaml
    
  3. قم بتحديث الخاصية image للحاويات عن طريق استبدال ghcr.io/azure-samples باسم خادم تسجيل الدخول ACR الخاص بك.

    containers:
    ...
    - name: order-service
      image: <acrName>.azurecr.io/aks-store-demo/order-service:latest
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:latest
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:latest
    ...
    
  4. احفظ الملف وأغلقه. في vi، استخدم :wq.

شغّل التطبيق

  1. نشر التطبيق باستخدام kubectl apply الأمر الذي يوزع ملف البيان وينشئ كائنات Kubernetes المعرفة.

    kubectl apply -f aks-store-quickstart.yaml
    

    يظهر المثال التالي للناتج الموارد التي تم إنشاؤها بنجاح في مجموعة AKS:

    deployment.apps/rabbitmq 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
    
  2. تحقق من نجاح النشر من خلال عرض pods باستخدام kubectl

    kubectl get pods
    

اختبر التطبيق

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

سطر الأوامر

  1. راقب التقدم باستخدام الأمر ⁧kubectl get service⁩ مع الوسيطة --watch.

    kubectl get service store-front --watch
    

    في البداية، EXTERNAL-IP يظهر لخدمة المتجر الأمامية على أنه معلق:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. EXTERNAL-IP عندما يتغير العنوان من معلق إلى عنوان IP عام فعلي، استخدم CTRL-C لإيقاف kubectl عملية المراقبة.

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

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. اعرض التطبيق قيد التنفيذ عن طريق فتح مستعرض ويب على عنوان IP الخارجي للخدمة الخاصة بك.

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

إذا لم يتم تحميل التطبيق، فقد تكون مشكلة تخويل في سجل الصور. لعرض حالة الحاويات الخاصة بك، استخدم kubectl get pods الأمر. إذا لم تتمكن من سحب صور الحاوية، فشاهد المصادقة باستخدام Azure Container Registry من Azure Kubernetes Service.

مدخل Azure

انتقل إلى مدخل Microsoft Azure للعثور على معلومات النشر الخاصة بك.

  1. افتح مجموعة الموارد الخاصة بك على مدخل Microsoft Azure

  2. انتقل إلى خدمة Kubernetes لنظام مجموعتك

  3. حدد Services and Ingress ضمن Kubernetes Resources

  4. نسخ عنوان IP الخارجي الموضح في العمود الخاص بالمتجر الأمامي

  5. الصق عنوان IP في المستعرض الخاص بك وقم بزيارة صفحة المتجر

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

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

في هذا البرنامج التعليمي، قمت بنشر نموذج تطبيق Azure إلى مجموعة Kubernetes في AKS. لقد تعرفت على كيفية:

  • تحديث ملف بيان Kubernetes.
  • تشغيل تطبيق في Kubernetes.
  • اختبار التطبيق.

في البرنامج التعليمي التالي، ستتعلم كيفية استخدام خدمات PaaS لأحمال العمل ذات الحالة في Kubernetes.