الأسئلة المتداولة لمجموعات عقدة خادم Windows Server في AKS

في Azure Kubernetes Service (AKS)، يمكنك إنشاء تجمع عقدة يقوم بتشغيل Windows Server كنظام تشغيل ضيف على العقد. يمكن لهذه العقد تشغيل تطبيقات حاوية Windows الأصلية، مثل تلك المبنية على .NET Framework. هناك اختلافات في كيفية توفير نظامي التشغيل Linux وWindows لدعم الحاوية. بعض ميزات Linux Kubernetes الشائعة والميزات المتعلقة بالـ pod غير متوفرة حالياً لمجموعات عقد Windows.

توضح هذه المقالة بعض الأسئلة المتداولة ومفاهيم نظام التشغيل لعقد Windows Server في AKS.

ما نوع الأقراص المدعومة لنظام Windows؟

أقراص Azure وملفات Azure هي أنواع وحدات التخزين المدعومة، ويتم الوصول إليها كوحدات تخزين NTFS في حاوية Windows Server.

هل يدعم Linux وWindows الأجهزة الظاهرية من الجيل 2 (VMs)؟

يتم دعم الأجهزة الظاهرية من الجيل 2 على Linux وWindows ل WS2022 فقط. لمزيد من المعلومات، راجع دعم الأجهزة الظاهرية من الجيل 2 على Azure.

كيف يمكنني تصحيح عقد Windows؟

للحصول على أحدث التصحيحات لعقد Windows، يمكنك إما ترقية مجموعة العقدة أو ترقية صورة العقدة. لم يتم تمكين تحديثات Windows على العقد في AKS. تقوم AKS بإصدار صور تجمع العقدة الجديدة بمجرد توفر التصحيحات، وتقع على عاتق المستخدم مسؤولية ترقية تجمعات العقد للبقاء محدثاً على التصحيحات والإصلاحات العاجلة. تنطبق عملية التصحيح هذه أيضًا على إصدار Kubernetes المستخدم. تشير الملاحظات حول إصدار AKS إلى وقت توافر إصدارات جديدة. لمزيد من المعلومات حول ترقية تجمع عقدة Windows Server، راجع ترقية تجمع عقدة في AKS. إذا كنت مهتماً فقط بتحديث صورة العقدة، راجع ترقيات صورة عقدة AKS.

إشعار

سيتم استخدام صورة Windows Server المحدثة فقط إذا تم إجراء ترقية نظام المجموعة (ترقية وحدة التحكم) قبل ترقية مجموعة العقدة.

هل يتم دعم الحفاظ على عنوان IP الخاص بمصدر العميل؟

في هذا الوقت، لا يتم اعتماد المحافظة على IPالخاص ب مصدر العميل مع عقد Windows.

هل يمكنني تغيير الحد الأقصى لعدد الـ pods لكل عقدة؟

نعم. للتعرف على الآثار المترتبة على إجراء التغيير والخيارات المتاحة، راجع الحد الأقصى لعدد الـ pods.

ما هي مهلة TCP الافتراضية في نظام التشغيل Windows؟

مهلة TCP الافتراضية في نظام التشغيل Windows هي 4 دقائق. هذه القيمة غير قابلة للتكوين. عندما يستخدم تطبيق مهلة أطول، يتم إغلاق اتصالات TCP بين حاويات مختلفة في نفس العقدة بعد أربع دقائق.

لماذا أرى خطأً عندما أحاول إنشاء مجموعة عملاء Windows جديدة؟

إذا قمت بإنشاء نظام المجموعة قبل فبراير 2020 ولم تقم مطلقاً بأي عمليات ترقية لنظام المجموعة، فلا تزال المجموعة تستخدم صورة Windows قديمة. قد تكون رأيت خطأً مشابهً:

"لم يتم العثور على قائمة الصور التالية المشار إليها من قالب النشر: الناشر: MicrosoftWindowsServer، العرض: WindowsServer Sku: 2019-datacenter-core-smalldisk-2004، الإصدار: الأحدث. الرجاء الرجوع إلى البحث عن صور Azure Marketplace VM واستخدامها باستخدام Azure PowerShell للحصول على إرشادات حول البحث عن الصور المتوفرة."

لإصلاح هذا الخطأ:

  1. ترقية وحدة تحكم نظام المجموعة لتحديث عرض الصورة والناشر.
  2. إنشاء مجموعات عملاء Windows جديدة.
  3. نقل وحدات Windows من مجموعات عملاء Windows الحالية إلى مجموعات عملاء Windows الجديدة.
  4. حذف مجموعات عملاء Windows القديمة.

لماذا أرى خطأ عند محاولة نشر Windows pods؟

إذا قمت بتحديد قيمة في --max-pods أقل من عدد pods التي تريد إنشاؤها، فقد ترى No available addresses الخطأ.

لإصلاح هذا الخطأ، استخدم az aks nodepool add الأمر بقيمة عالية بما فيه الكفاية --max-pods :

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --name $NODEPOOL_NAME \
    --max-pods 3

لمزيد من التفاصيل، راجع --max-pods الوثائق.

لماذا يوجد مستخدم غير متوقع يسمى "sshd" على عقدة الجهاز الظاهري الخاصة بي؟

تضيف AKS مستخدما يسمى "sshd" عند تثبيت خدمة OpenSSH. هذا المستخدم ليس ضارا. نوصي العملاء بتحديث تنبيهاتهم لتجاهل حساب المستخدم غير المتوقع هذا.

كيف أقوم بتدوير كيان الخدمة لمجموعة عقدة Windows؟

لا تدعم مجموعات عقد Windows تدوير كيان الخدمة. لتحديث مبدأ الخدمة، قم بإنشاء مجموعة عقدة Windows جديدة ورحّل node من المجموعة الأقدم إلى المجموعة الجديدة. بعد ترحيل الـ pods إلى المجموعة الجديدة، احذف مجموعة العقدة الأقدم.

بدلاً من كيان الخدمة، استخدم الهويات المُدارة، والتي تعد في الأساس برامج تضمين حول كيان الخدمة. لمزيد من المعلومات، راجع استخدام الهويات المدارة في خدمة Azure Kubernetes.

كيف يمكنني تغيير كلمة مرور المسؤول لعقد Windows Server على نظام المجموعة الخاص بي؟

عندما تقوم بإنشاء مجموعة AKS الخاصة بك، فإنك تحدد المعلمات --windows-admin-password و--windows-admin-username لتعيين بيانات اعتماد المسؤول لأي عقد Windows Server على نظام المجموعة. إذا لم تحدد بيانات اعتماد المسؤول عند إنشاء مجموعة باستخدام مدخل Azure أو عند إعداد --vm-set-type VirtualMachineScaleSets و--network-plugin azure باستخدام Azure CLI، فإن اسم المستخدم يتم تعيينه افتراضياً على azureuser وكلمة مرور عشوائية.

لتغيير كلمة مرور المسؤول، استخدم الأمر az aks update:

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --windows-admin-password $NEW_PW

هام

يؤدي تنفيذ العملية إلى az aks update ترقية تجمعات عقد Windows Server فقط وسيتسبب في إعادة التشغيل. لا تتأثر مجموعات عقدة Linux.

عندما تقوم بتغيير --windows-admin-password، يجب أن تتألف كلمة المرور الجديدة من 14 حرفاً على الأقل وأن تلبي متطلبات كلمة مرور خادم Windows.

كم عدد مجموعات العقد التي يمكنني إنشاؤها؟

لا يحتوي نظام مجموعة AKS مع تجمعات عقد Windows على حد موارد AKS مختلف عن الافتراضي المحدد لخدمة AKS. لمزيد من المعلومات، راجع الحصص النسبية وقيود حجم الجهاز الظاهري وتوافر المنطقة في خدمة Azure Kubernetes (AKS).

ماذا يمكنني تسمية مجموعات عقد Windows؟

يمكن أن يكون لتجمع عقدة Windows اسم من ستة أحرف.

هل جميع الميزات مدعومة باستخدام عقد Windows؟

Kubenet غير مدعوم حالياً مع عقد Windows.

هل يمكنني تشغيل وحدات التحكم في الدخول على عقد Windows؟

نعم، يمكن تشغيل وحدة تحكم دخول يعتمد حاويات خادم Windows على عقد Windows في AKS.

هل يمكن لحاويات خادم Windows استخدام gMSA؟

يتوفر دعم حساب الخدمة المدارة بواسطة المجموعة (gMSA) بشكل عام لنظام التشغيل Windows على AKS. راجع تمكين حسابات الخدمة المدارة للمجموعة (GMSA) لعقد Windows Server على نظام مجموعة Azure Kubernetes Service (AKS)

هل يمكنني استخدام Azure Monitor للحاويات التي بها عقد وحاويات Windows؟

نعم، يمكنك. ومع ذلك، فإن Azure Monitor في المعاينة العامة لجمع السجلات (stdout، stderr) والمقاييس من حاويات Windows. يمكنك أيضاً إرفاق بث مباشر لسجلات stdout من حاوية Windows.

هل هناك أي قيود على عدد الخدمات على نظام المجموعة مع عقد Windows؟

يمكن أن تحتوي المجموعة التي تحتوي على عقد Windows على ما يقرب من 500 خدمة (أحيانا أقل) قبل أن تواجه استنفاد المنفذ. ينطبق هذا القيد على خدمة Kubernetes مع تعيين نهج حركة المرور الخارجية إلى "نظام المجموعة".

عند تكوين نهج حركة المرور الخارجية على خدمة كمجموعة، تخضع نسبة استخدام الشبكة ل NAT مصدر إضافي على العقدة مما يؤدي أيضا إلى حجز منفذ من تجمع المنفذ الديناميكي TCPIP. تجمع المنفذ هذا هو مورد محدود (~ منافذ 16K بشكل افتراضي) ويمكن أن تؤدي العديد من الاتصالات النشطة إلى خدمة (خدمات) إلى استنفاد تجمع المنفذ الديناميكي مما يؤدي إلى انخفاض الاتصال.

إذا تم تكوين خدمة Kubernetes مع تعيين نهج حركة المرور الخارجية إلى "محلي"، فمن غير المحتمل أن تحدث مشاكل استنفاد المنفذ في 500 خدمة.

هل يمكنني استخدام Azure Hybrid Benefit مع عقد Windows؟

نعم. تعمل ميزة Azure Hybrid لخادم Windows على تقليل تكاليف التشغيل عن طريق السماح لك بإحضار ترخيص Windows Server المحلي الخاص بك إلى عُقد AKS Windows.

يمكن استخدام Azure Hybrid Benefit على نظام مجموعة AKS بأكملها أو على العقد الفردية. بالنسبة للعقد الفردية، تحتاج إلى استعراض إلى مجموعة موارد العقدة وتطبيق Azure Hybrid Benefit على العقد مباشرة. لمزيد من المعلومات حول تطبيق Azure Hybrid Benefit على العقد الفردية، راجع Azure Hybrid Benefit لـ Windows Server.

لاستخدام ميزة Azure المختلطة على نظام مجموعة AKS جديدة، قم بتشغيل الأمر az aks create واستخدم الوسيطة --enable-ahub.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --load-balancer-sku Standard \
    --windows-admin-password 'Password1234$' \
    --windows-admin-username azure \
    --network-plugin azure
    --enable-ahub

لاستخدام ميزة Azure المختلطة على نظام مجموعة AKS موجودة، قم بتشغيل الأمر az aks update واستخدم تحديث نظام المجموعة عن طريق استخدام الوسيطة --enable-ahub.

az aks update \
    --resource-group myResourceGroup
    --name myAKSCluster
    --enable-ahub

للتحقق مما إذا تم تعيين ميزة Azure المختلطة على عقد Windows في نظام المجموعة، قم بتشغيل الأمر az vmss show باستخدام الوسيطتين --name و--resource-group للاستعلام عن مجموعة مقياس الجهاز الظاهري. لتحديد مجموعة الموارد التي تم إنشاء مجموعة المقياس لتجمع عقدة Windows فيها، يمكنك تشغيل الأمر az vmss list -o table.

az vmss show --name myScaleSet --resource-group MC_<resourceGroup>_<clusterName>_<region>

إذا تم تمكين ميزة Azure المختلطة لعقد Windows في مجموعة المقياس، فسيكون الإخراج az vmss show مشابهاً لما يلي:

""hardwareProfile": null,
    "licenseType": "Windows_Server",
    "networkProfile": {
      "healthProbe": null,
      "networkApiVersion": null,

كيف يمكنني تغيير المنطقة الزمنية لحاوية قيد التشغيل؟

لتغيير المنطقة الزمنية لحاوية خادم Windows قيد التشغيل، اتصل بالحاوية قيد التشغيل مع جلسة عمل PowerShell. على سبيل المثال:

kubectl exec -it CONTAINER-NAME -- powershell

في الحاوية قيد التشغيل، استخدم Set-TimeZone لتعيين المنطقة الزمنية لحاوية قيد التشغيل. على سبيل المثال:

Set-TimeZone -Id "Russian Standard Time"

لمعرفة المنطقة الزمنية الحالية للحاوية قيد التشغيل أو قائمة المناطق الزمنية المتاحة، استخدم Get-TimeZone.

هل يمكنني الحفاظ على تقارب الجلسة من اتصالات العميل إلى الـ pods مع حاويات Windows؟

على الرغم من أن الحفاظ على تقارب الجلسة من اتصالات العميل إلى الـ pods باستخدام حاويات Windows سيتم دعمه في إصدار نظام التشغيل Windows Server 2022، إلا إنك تحقق تقارب الجلسة من خلال عنوان IP للعميل حالياً عن طريق تقييد الـ pod الذي تريده لتشغيل مثيل واحد لكل عقدة وتكوين خدمة Kubernetes الخاصة بك لتوجيه نسبة استخدام الشبكة إلى الـ pod على العقدة المحلية.

استخدم التكوين التالي:

  1. استخدم مجموعة AKS تعمل بإصدار 1.20 كحد أدنى.
  2. تقييد جراب الخاص بك للسماح لمثيل واحد فقط لكل عقدة Windows. يمكنك تحقيق ذلك باستخدام anti-affinity في تكوين التوزيع الخاص بك.
  3. في تكوين خدمة Kubernetes، قم بتعيين externalTrafficPolicy=Local. وهذا يضمن أن خدمة Kubernetes توجه نسبة استخدام الشبكة فقط إلى pods داخل العقدة المحلية.
  4. في تكوين خدمة Kubernetes، عييّن sessionAffinity: ClientIP. هذا يضمن أن Azure Load Balancer يتم تكوينه مع ترابط الجلسة.

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

لبدء استخدام حاويات Windows Server في AKS، راجع إنشاء تجمع عقدة تعمل على تشغيل Windows Server في AKS.