البرنامج التعليمي - نشر تطبيق إلى خدمة 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 PowerShell الإصدار 5.9.0 أو أحدث. تحقق من الإصدار الخاص بك باستخدام Get-InstalledModule -Name Az. للترقية أو التثبيت، راجع تثبيت Azure PowerShell.
يتطلب هذا البرنامج التعليمي الإصدار 1.5.1 من Azure Developer CLI (azd) أو أحدث. تحقق من الإصدار الخاص بك باستخدام azd version. للترقية أو التثبيت، راجع تثبيت Azure Developer CLI.
تحديث ملف البيان
في هذه البرامج التعليمية، يخزن مثيل Azure Container Registry (ACR) صور الحاوية لنموذج التطبيق. لنشر التطبيق، يجب تحديث أسماء الصور في ملف بيان Kubernetes لتضمين اسم خادم تسجيل الدخول إلى ACR.
احصل على عنوان خادم تسجيل الدخول الخاص بك باستخدام Get-AzContainerRegistry cmdlet والاستعلام عن خادم تسجيل الدخول الخاص بك. تأكد من استبدال <acrName> باسم مثيل ACR الخاص بك.
نشر التطبيق باستخدام kubectl apply الأمر الذي يوزع ملف البيان وينشئ كائنات Kubernetes المعرفة.
kubectl apply -f aks-store-quickstart.yaml
يظهر المثال التالي للناتج الموارد التي تم إنشاؤها بنجاح في مجموعة AKS:
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
تحقق من نجاح النشر عن طريق عرض pods باستخدام kubectl get pods الأمر .
kubectl get pods
نشر التطبيق باستخدام kubectl apply الأمر الذي يوزع ملف البيان وينشئ كائنات Kubernetes المعرفة.
kubectl apply -f aks-store-quickstart.yaml
يظهر المثال التالي للناتج الموارد التي تم إنشاؤها بنجاح في مجموعة AKS:
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
تحقق من نجاح النشر عن طريق عرض pods باستخدام kubectl get pods الأمر .
kubectl get pods
يتم تقسيم النشر في azd إلى مراحل متعددة ممثلة بخطافات. azd يتم النشر مع جميع الخطافات بشكل افتراضي.
انشر التطبيق باستخدام azd up الأمر .
azd up
حدد الاشتراك والمنطقة لاستضافة موارد Azure.
? Select an Azure Subscription to use: [Use arrows to move, type to filter]
> 1. My Azure Subscription (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
Select an Azure location to use: [Use arrows to move, type to filter]
> 43. (US) East US 2 (eastus2)
يمكنك تحديث المتغيرات من داخل AZURE_LOCATION الملف ومنه AZURE_SUBSCRIPTION_ID.azure/<your-env-name>/.env .
اختبر التطبيق
عند تشغيل التطبيق، تعرض خدمة Kubernetes واجهة التطبيق الأمامية للإنترنت. قد تستغرق هذه العملية بضع دقائق حتى تكتمل.
في هذا البرنامج التعليمي لخدمة Azure Kubernetes (AKS)، يمكنك تعلم كيفية إعداد وبناء تطبيق متعدد الحاويات باستخدام Docker Compose، والذي يمكنك بعد ذلك نشره إلى AKS.