ترقية إصدار نظام التشغيل لأحمال عمل Azure Kubernetes Service (AKS) Windows
عند ترقية إصدار نظام التشغيل من حمل عمل Windows قيد التشغيل على خدمة Azure Kubernetes (AKS)، تحتاج إلى نشر تجمع عقدة جديد لضمان تطابق إصدارات Windows على كل تجمع عقدة. توضح هذه المقالة خطوات ترقية إصدار نظام التشغيل لأحمال عمل Windows على AKS. بينما يركز هذا المثال على الترقية من Windows Server 2019 إلى Windows Server 2022، يمكن اتباع نفس العملية للترقية من أي إصدار Windows Server إلى إصدار آخر.
دعم إصدار نظام التشغيل Windows Server
عند إصدار إصدار جديد من نظام التشغيل Windows Server، تلتزم AKS بدعمه وتوصيك بالترقية إلى أحدث إصدار للاستفادة من الإصلاحات والتحسينات والوظائف الجديدة. توفر AKS دورة حياة دعم مدتها خمس سنوات لكل إصدار من إصدارات Windows Server، بدءا من Windows Server 2022. خلال هذه الفترة، ستطرح AKS إصدارا جديدا يدعم إصدارا أحدث من نظام التشغيل Windows Server للترقية إليه.
إشعار
القيود
لا يمكن أن يتعايش Windows Server 2019 وWindows Server 2022 على نفس تجمع العقدة على AKS. تحتاج إلى إنشاء تجمع عقدة جديد لاستضافة إصدار نظام التشغيل الجديد. من المهم أن تتطابق الأذونات والوصول إلى تجمع العقدة السابق مع المجموعة الجديدة.
قبل البدء
- تحديث العبارة
FROM
في Dockerfile إلى إصدار نظام التشغيل الجديد. - تحقق من التطبيق الخاص بك وتحقق من عمل تطبيق الحاوية على إصدار نظام التشغيل الجديد.
- قم بتوزيع تطبيق الحاوية الذي تم التحقق منه على AKS في بيئة تطوير أو اختبار.
- دون اسم الصورة أو العلامة الجديدة لاستخدامها في هذه المقالة.
إشعار
لمعرفة كيفية إنشاء Dockerfile لأحمال عمل Windows، راجع Dockerfile على Windows وتحسين Windows Dockerfiles.
إضافة تجمع عقدة Windows Server 2022 إلى مجموعة موجودة
- إضافة تجمع عقدة Windows Server 2022 إلى مجموعة موجودة.
تحديث ملف YAML
محدد العقدة هو الخيار الأكثر شيوعاً والموصى به لوضع حاويات Windows على عقد Windows.
إضافة محدد العقدة إلى ملف YAML الخاص بك عن طريق إضافة التعليق التوضيحي التالي:
nodeSelector: "kubernetes.io/os": windows
يبحث التعليق التوضيحي عن أي عقدة Windows متوفرة ويضع الجراب على تلك العقدة (باتباع جميع قواعد الجدولة الأخرى). عند الترقية من Windows Server 2019 إلى Windows Server 2022، تحتاج إلى فرض الموضع على عقدة Windows وعقدة تقوم بتشغيل أحدث إصدار من نظام التشغيل. لإنجاز ذلك، ثمة خيار يتمثل في استخدام تعليق توضيحي مختلف:
nodeSelector: "kubernetes.azure.com/os-sku": Windows2022
بمجرد تحديث
nodeSelector
في ملف YAML، تحتاج أيضا إلى تحديث صورة الحاوية التي تريد استخدامها. يمكنك الحصول على هذه المعلومات من الخطوة السابقة التي قمت فيها بإنشاء إصدار جديد من التطبيق الحاوية عن طريق تغيير العبارةFROM
على Dockerfile الخاص بك.
إشعار
يجب استخدام نفس ملف YAML الذي استخدمته لنشر التطبيق في البداية. يضمن هذا عدم تغيير أي تكوين آخر إلى جانب صورة الحاوية nodeSelector
و.
تطبيق ملف YAML المحدث على حمل العمل الحالي
عرض العقد على نظام المجموعة باستخدام
kubectl get nodes
الأمر .kubectl get nodes -o wide
يظهر إخراج المثال التالي جميع العقد على نظام المجموعة، بما في ذلك تجمع العقدة الجديد الذي قمت بإنشائه وتجمعات العقد الموجودة:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME aks-agentpool-18877473-vmss000000 Ready agent 5h40m v1.23.8 10.240.0.4 <none> Ubuntu 18.04.6 LTS 5.4.0-1085-azure containerd://1.5.11+azure-2 akspoolws000000 Ready agent 3h15m v1.23.8 10.240.0.208 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akspoolws000001 Ready agent 3h17m v1.23.8 10.240.0.239 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akspoolws000002 Ready agent 3h17m v1.23.8 10.240.1.14 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akswspool000000 Ready agent 5h37m v1.23.8 10.240.0.115 <none> Windows Server 2019 Datacenter 10.0.17763.3165 containerd://1.6.6+azure akswspool000001 Ready agent 5h37m v1.23.8 10.240.0.146 <none> Windows Server 2019 Datacenter 10.0.17763.3165 containerd://1.6.6+azure akswspool000002 Ready agent 5h37m v1.23.8 10.240.0.177 <none> Windows Server 2019 Datacenter 10.0.17763.3165 containerd://1.6.6+azure
قم بتطبيق ملف YAML المحدث على حمل العمل الحالي باستخدام
kubectl apply
الأمر وحدد اسم ملف YAML.kubectl apply -f <filename>
يظهر إخراج المثال التالي حالة مكونة للتوزيع:
deployment.apps/sample configured service/sample unchanged
عند هذه النقطة، تبدأ AKS عملية إنهاء الجرابات الموجودة ونشر pods جديدة إلى عقد Windows Server 2022.
تحقق من حالة النشر باستخدام
kubectl get pods
الأمر .kubectl get pods -o wide
يظهر إخراج المثال التالي الحجيرات في
default
مساحة الاسم:NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES sample-7794bfcc4c-k62cq 1/1 Running 0 2m49s 10.240.0.238 akspoolws000000 <none> <none> sample-7794bfcc4c-rswq9 1/1 Running 0 2m49s 10.240.1.10 akspoolws000001 <none> <none> sample-7794bfcc4c-sh78c 1/1 Running 0 2m49s 10.240.0.228 akspoolws000000 <none> <none>
اعتبارات الأمان والمصادقة
إذا كنت تستخدم حسابات الخدمة المدارة للمجموعة (gMSA)، فأنت بحاجة إلى تحديث تكوين الهوية المدارة لتجمع العقدة الجديد. يستخدم gMSA بيانات سرية (حساب المستخدم وكلمة المرور) بحيث يمكن للعقدة التي تقوم بتشغيل جراب Windows مصادقة الحاوية مقابل معرف Microsoft Entra. للوصول إلى هذه البيانات السرية على Azure Key Vault، تستخدم العقدة هوية مدارة تسمح للعقدة بالوصول إلى المورد. نظرًا لأن الهويات المُدارة يتم تكوينها لكل تجمع عقدة، وتوجد الحاوية الآن في تجمع عقد جديد، فأنت بحاجة إلى تحديث هذا التكوين. لمزيد من المعلومات، راجع تمكين حسابات الخدمة المدارة للمجموعة (GMSA) لعقد Windows Server على نظام مجموعة Azure Kubernetes Service (AKS).
ينطبق نفس المبدأ على الهويات المدارة لأي جراب أو تجمع عقدة أخرى عند الوصول إلى موارد Azure الأخرى. تحتاج إلى تحديث أي وصول توفره الهوية المدارة لتعكس تجمع العقدة الجديد. لعرض أنشطة التحديث وتسجيل الدخول، راجع كيفية عرض نشاط الهوية المدارة.
الخطوات التالية
في هذه المقالة، تعلمت كيفية ترقية إصدار نظام التشغيل لأحمال عمل Windows على AKS. لمعرفة المزيد حول أحمال عمل Windows على AKS، راجع نشر تطبيق حاوية Windows على خدمة Azure Kubernetes (AKS).
Azure Kubernetes Service
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ