البرنامج التعليمي - نشر تطبيق إلى خدمة Azure Kubernetes (AKS)
يُقدم Kubernetes نظاماً أساسياً موزعاً للتطبيقات المعبأة في حاويات. يمكنك إنشاء ونشر التطبيقات والخدمات الخاصة بك في مجموعة Kubernetes والسماح للمجموعة بإدارة التوفر والاتصال.
في هذا البرنامج التعليمي، الجزء الرابع من سبعة، يمكنك نشر نموذج تطبيق في مجموعة Kubernetes. ستتعلم كيفية:
- تحديث ملف بيان Kubernetes.
- تشغيل تطبيق في Kubernetes.
- اختبار التطبيق.
تلميح
باستخدام AKS، يمكنك استخدام الأساليب التالية لإدارة التكوين:
GitOps: تمكين إعلانات حالة نظام المجموعة لتطبيقها تلقائيا على نظام المجموعة. لمعرفة كيفية استخدام GitOps لنشر تطبيق مع مجموعة AKS، راجع المتطلبات الأساسية لمجموعات خدمة Azure Kubernetes في البرنامج التعليمي GitOps مع Flux v2 .
DevOps: يمكنك من إنشاء واختبار ونشر مع التكامل المستمر (CI) والتسليم المستمر (CD). للاطلاع على أمثلة حول كيفية استخدام DevOps لنشر تطبيق مع نظام مجموعة AKS، راجع الإنشاء والتوزيع إلى AKS باستخدام Azure Pipelines أو GitHub Actions للنشر في Kubernetes.
قبل البدء
في البرامج التعليمية السابقة، قمت بحزم تطبيق في صورة حاوية، وتحميل الصورة إلى 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.
احصل على عنوان خادم تسجيل الدخول باستخدام
az acr list
الأمر والاستعلام لخادم تسجيل الدخول.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
تأكد من أنك في دليل aks-store-demo المستنسخ، ثم افتح ملف البيان باستخدام محرر نص، مثل
vi
.vi aks-store-quickstart.yaml
قم بتحديث الخاصية
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 ...
احفظ الملف وأغلقه. في
vi
، استخدم:wq
.
شغّل التطبيق
نشر التطبيق باستخدام
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
تحقق من نجاح النشر من خلال عرض pods باستخدام
kubectl
kubectl get pods
اختبر التطبيق
عند تشغيل التطبيق، تعرض خدمة Kubernetes واجهة التطبيق الأمامية للإنترنت. قد تستغرق هذه العملية بضع دقائق حتى تكتمل.
سطر الأوامر
راقب التقدم باستخدام الأمر
kubectl get service
مع الوسيطة--watch
.kubectl get service store-front --watch
في البداية،
EXTERNAL-IP
يظهر لخدمة المتجر الأمامية على أنه معلق:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
EXTERNAL-IP
عندما يتغير العنوان من معلق إلى عنوان IP عام فعلي، استخدمCTRL-C
لإيقافkubectl
عملية المراقبة.يوضح المثال التالي إخراج لعنوان IP عام صالحاً تم تعيينه للخدمة:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
اعرض التطبيق قيد التنفيذ عن طريق فتح مستعرض ويب على عنوان IP الخارجي للخدمة الخاصة بك.
إذا لم يتم تحميل التطبيق، فقد تكون مشكلة تخويل في سجل الصور. لعرض حالة الحاويات الخاصة بك، استخدم kubectl get pods
الأمر. إذا لم تتمكن من سحب صور الحاوية، فشاهد المصادقة باستخدام Azure Container Registry من Azure Kubernetes Service.
مدخل Azure
انتقل إلى مدخل Microsoft Azure للعثور على معلومات النشر الخاصة بك.
افتح مجموعة الموارد الخاصة بك على مدخل Microsoft Azure
انتقل إلى خدمة Kubernetes لنظام مجموعتك
حدد
Services and Ingress
ضمنKubernetes Resources
نسخ عنوان IP الخارجي الموضح في العمود الخاص بالمتجر الأمامي
الصق عنوان IP في المستعرض الخاص بك وقم بزيارة صفحة المتجر
الخطوات التالية
في هذا البرنامج التعليمي، قمت بنشر نموذج تطبيق Azure إلى مجموعة Kubernetes في AKS. لقد تعرفت على كيفية:
- تحديث ملف بيان Kubernetes.
- تشغيل تطبيق في Kubernetes.
- اختبار التطبيق.
في البرنامج التعليمي التالي، ستتعلم كيفية استخدام خدمات PaaS لأحمال العمل ذات الحالة في Kubernetes.