نشر حاوية Windows Server على نظام مجموعة Azure Kubernetes Service (AKS) باستخدام مدخل Microsoft Azure
خدمة Azure Kubernetes (AKS) هي خدمة Kubernetes مُدارة تتيح لك نشر المجموعات وإدارتها بسرعة. في هذه المقالة، يمكنك نشر نظام مجموعة AKS الذي يقوم بتشغيل حاويات Windows Server باستخدام مدخل Microsoft Azure. يمكنك أيضًا نشر تطبيق نموذج ASP.NET في حاوية Windows Server إلى الكتلة.
إشعار
للبدء في توفير نظام مجموعة AKS بسرعة، تتضمن هذه المقالة خطوات لنشر نظام مجموعة بإعدادات افتراضية لأغراض التقييم فقط. قبل نشر نظام مجموعة جاهز للإنتاج، نوصيك بالتعرف على البنية المرجعية الأساسية لدينا للنظر في كيفية توافقها مع متطلبات عملك.
قبل البدء
يضمن هذا التشغيل السريع الفهم الأساسي لمفاهيم Kubernetes. لمزيد من المعلومات، راجع مفاهيم Kubernetes الأساسية الخاصة بخدمة Azure Kubernetes Service (AKS).
- إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
- في حال عدم الدراية بـ Azure Cloud Shell، راجع نظرة عامة على Azure Cloud Shell.
- تأكد من أن الهوية التي تستخدمها لإنشاء نظام المجموعة الخاص بك لديها الحد الأدنى المناسب من الأذونات. لمزيد من التفاصيل حول الهوية وطريقة الوصول إلى AKS، راجع خيارات الوصول والهوية الخاصة بخدمة Azure Kubernetes (AKS).
إنشاء نظام مجموعة AKS
قم بتسجيل الدخول إلى بوابة Azure.
في الصفحة الرئيسية لمدخل Azure، حدد Create a resource.
في قسم Categories، حدد Containers>Azure Kubernetes Service (AKS).
في علامة التبويب الأساسيات كوِّن الإعدادات التالية:
- ضمن تفاصيل المشروع:
- الاشتراك: حدد اشتراك Azure الذي تريد استخدامه لمجموعة AKS هذه.
- مجموعة الموارد: حدد إنشاء جديد، وأدخل اسم مجموعة موارد، مثل myResourceGroup، ثم حدد موافق. بينما يمكنك تحديد مجموعة موارد موجودة، لأغراض الاختبار أو التقييم، نوصي بإنشاء مجموعة موارد لاستضافة هذه الموارد مؤقتا وتجنب التأثير على أحمال عمل الإنتاج أو التطوير.
- ضمن تفاصيل نظام المجموعة:
تكوين المجموعة المسبق: حدد Dev/Test. لمزيد من التفاصيل حول التكوينات المعينة مسبقاً، راجع إعدادات تكوين الكتلة المسبقة في مدخل Microsoft Azure.
اسم مجموعة Kubernetes: أدخل اسم نظام المجموعة، مثل myAKSCluster.
المنطقة: حدد منطقة، مثل شرق الولايات المتحدة 2.
مناطق التوفر: حدد بلا.
مستوى تسعير AKS: حدد مجاني.
اترك القيم الافتراضية للإعدادات المتبقية، وحدد التالي.
- ضمن تفاصيل المشروع:
في علامة التبويب Node pools ، قم بتكوين الإعدادات التالية:
حدد إضافة تجمع عقدة وأدخل اسم تجمع عقدة، مثل npwin. بالنسبة إلى تجمع عقدة Windows، يجب أن يكون الاسم ستة أحرف أو أقل.
الوضع: حدد المستخدم.
OS SKU: حدد Windows 2022.
مناطق التوفر: حدد بلا.
اترك خانة الاختيار Enable Azure Spot instances غير محددة.
حجم العقدة: حدد اختيار حجم. في صفحة Select a VM size ، حدد D2s_v3، ثم حدد Select.
اترك القيم الافتراضية للإعدادات المتبقية، وحدد إضافة.
حدد Review + create لتشغيل التحقق من الصحة على تكوين نظام المجموعة. وبعد اكتمال عملية التحقق، حدد Create.
يستغرق إنشاء نظام مجموعة AKS بضع دقائق. عند اكتمال النشر، انتقل إلى المورد الخاص بك عن طريق تحديد Go to resource، أو عن طريق الاستعراض إلى مجموعة موارد نظام مجموعة AKS وتحديد مورد AKS.
الاتصال بنظام المجموعة
يمكنك استخدام kubectl، عميل سطر أوامر Kubernetes، لإدارة مجموعات Kubernetes الخاصة بك. kubectl
سيكون مثبتاً بالفعل في حال كنت تستخدم Azure Cloud Shell. في حال عدم الدراية بـ Cloud Shell، راجع نظرة عامة على Cloud Shell Azure.
افتح Cloud Shell عن طريق تحديد
>_
الزر في أعلى صفحة مدخل Microsoft Azure.قم بتكوين
kubectl
للاتصال بنظام مجموعة Kubernetes باستخدام أمرaz aks get-credentials
. يقوم الأمر التالي بتنزيل بيانات الاعتماد وتكوين Kubernetes CLI لاستخدامها.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
تحقق من الاتصال بالمجموعة باستخدام
kubectl get nodes
الأمر الذي يقوم بإرجاع قائمة بعقد نظام المجموعة.kubectl get nodes
يظهر إخراج العينة التالي جميع العقد في نظام المجموعة. تأكد من أن حالة جميع العقد جاهزة:
NAME STATUS ROLES AGE VERSION aks-agentpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-agentpool-11741175-vmss000001 Ready agent 8m17s v1.29.9 aksnpwin000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000001 Ready agent 8m17s v1.29.9
قم بنشر التطبيق
يحدد ملف بيان Kubernetes الحالة المطلوبة للمجموعة، مثل صور الحاوية التي سيتم تشغيلها. في هذا التشغيل السريع، يمكنك استخدام ملف بيان لإنشاء كافة الكائنات اللازمة لتشغيل نموذج التطبيق ASP.NET في حاوية Windows Server. يتضمن ملف البيان هذا نشر Kubernetes لتطبيق عينة ASP.NET وخدمة Kubernetes خارجية للوصول إلى التطبيق من الإنترنت.
يتم توفير تطبيق نموذج ASP.NET كجزء من .NET Framework Samplesويتم تشغيله في حاوية Windows Server. يجب أن يحدد ملف بيان Kubernetes محدد عقدة لإخبار نظام مجموعة AKS بتشغيل نموذج ASP.NET الخاص بك على عقدة يمكنها تشغيل حاويات Windows Server.
أنشئ ملفا باسم
sample.yaml
والصقه في تعريف YAML التالي.apiVersion: apps/v1 kind: Deployment metadata: name: sample labels: app: sample spec: replicas: 1 template: metadata: name: sample labels: app: sample spec: nodeSelector: "kubernetes.io/os": windows containers: - name: sample image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp resources: limits: cpu: 1 memory: 800M ports: - containerPort: 80 selector: matchLabels: app: sample --- apiVersion: v1 kind: Service metadata: name: sample spec: type: LoadBalancer ports: - protocol: TCP port: 80 selector: app: sample
للحصول على تصنيف تفصيلي لملفات بيان YAML، راجع عمليات التوزيع وبيانات YAML.
إذا قمت بإنشاء ملف YAML وحفظه محليا، فيمكنك تحميل ملف البيان إلى الدليل الافتراضي في CloudShell عن طريق تحديد الزر تحميل/تنزيل الملفات وتحديد الملف من نظام الملفات المحلي.
انشر التطبيق باستخدام
kubectl apply
الأمر وحدد اسم بيان YAML.kubectl apply -f sample.yaml
يظهر إخراج العينة التالي النشر والخدمة التي تم إنشاؤها بنجاح:
deployment.apps/sample created service/sample created
اختبر التطبيق
عند تشغيل التطبيق، تعرض خدمة Kubernetes واجهة التطبيق الأمامية للإنترنت. قد تستغرق هذه العملية بضع دقائق حتى تكتمل. في بعض الأحيان، قد تستغرق الخدمة أكثر من بضع دقائق لتوفيرها. السماح بما يصل إلى 10 دقائق للتزويد.
تحقق من حالة pods المنشورة
kubectl get pods
باستخدام الأمر . جعل جميع الحجيرات قبلRunning
المتابعة.kubectl get pods
راقب التقدم باستخدام الأمر
kubectl get service
مع الوسيطة--watch
.kubectl get service sample --watch
في البداية، يظهر الإخراج EXTERNAL-IP لنموذج الخدمة على أنه معلق:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
بمجرد تغيير عنوان EXTERNAL-IP من معلق إلى عنوان IP عام فعلي، استخدم
CTRL-C
لإيقاف عمليةkubectl
المراقبة.راجع نموذج التطبيق أثناء العمل عن طريق فتح مستعرض ويب على عنوان IP الخارجي للخدمة الخاصة بك.
حذف الموارد
إذا كنت لا تخطط للانتقال من خلال البرنامج التعليمي AKS، يجب حذف مجموعتك لتجنب تكبد رسوم Azure.
في "مدخل Azure"، انتقل إلى مجموعة الموارد الخاصة بك.
حدد Delete resource group.
أدخل اسم مجموعة الموارد لتأكيد الحذف وحدد حذف.
في مربع الحوار حذف التأكيد ، حدد حذف.
إشعار
تم إنشاء نظام مجموعة AKS مع الهوية المدارة المعينة من قبل النظام (خيار الهوية الافتراضية المستخدمة في هذا التشغيل السريع)، تتم إدارة الهوية بواسطة النظام الأساسي ولا تتطلب إزالة.
الخطوات التالية
في هذا التشغيل السريع، قمت بنشر مجموعة Kubernetes ثم نشر نموذج تطبيق ASP.NET في حاوية Windows Server إليه. هذا التطبيق النموذجي هو لأغراض العرض التوضيحي فقط ولا يمثل جميع أفضل الممارسات لتطبيقات Kubernetes. للحصول على إرشادات حول إنشاء حلول كاملة باستخدام AKS للإنتاج، راجع إرشادات حل AKS.
لمعرفة المزيد حول AKS، وللسير عبر مثال كامل على التعليمات البرمجية للتوزيع، تابع إلى البرنامج التعليمي لنظام مجموعة Kubernetes.
Azure Kubernetes Service