صور نظام تشغيل عقدة الترقية التلقائية

توفر AKS قنوات ترقية تلقائية متعددة مخصصة لتحديثات أمان نظام التشغيل على مستوى العقدة في الوقت المناسب. تختلف هذه القناة عن ترقيات إصدار Kubernetes على مستوى المجموعة و تحل محلها.

التفاعلات بين الترقية التلقائية لنظام التشغيل العقدة والترقية التلقائية لنظام المجموعة

يتم إصدار تحديثات أمان نظام التشغيل على مستوى العقدة بمعدل أسرع من تصحيح Kubernetes أو تحديثات الإصدار الثانوي. تمنحك قناة الترقية التلقائية لنظام تشغيل العقدة المرونة وتمكن استراتيجية مخصصة لتحديثات أمان نظام التشغيل على مستوى العقدة. بعد ذلك، يمكنك اختيار خطة منفصلة للترقيات التلقائية لإصدار Kubernetes على مستوى نظام المجموعة. من الأفضل استخدام كل من الترقيات التلقائية على مستوى نظام المجموعة وقناة الترقية التلقائية لنظام التشغيل العقدة معا. يمكن ضبط الجدولة عن طريق تطبيق مجموعتين منفصلتين من نوافذ - aksManagedAutoUpgradeSchedule الصيانة لقناة الترقية التلقائية لنظام المجموعة ولقناة aksManagedNodeOSUpgradeSchedule الترقية التلقائية لنظام التشغيل العقدة.

قنوات لترقيات صورة نظام التشغيل للعقدة

تحدد القناة المحددة توقيت الترقيات. عند إجراء تغييرات على قنوات الترقية التلقائية لنظام التشغيل العقدة، اسمح بما يصل إلى 24 ساعة حتى تسري التغييرات. بمجرد التغيير من قناة إلى قناة أخرى، يتم تشغيل إعادة تعيين مما يؤدي إلى عقد متجددة.

إشعار

لن تؤثر الترقية التلقائية لصورة نظام تشغيل العقدة على إصدار Kubernetes لنظام المجموعة. بدءا من إصدار واجهة برمجة التطبيقات 2023-06-01، يكون الإعداد الافتراضي لأي مجموعة جديدة تم إنشاؤها هو NodeImage.

تتوفر قنوات الترقية التالية. يسمح لك باختيار أحد الخيارات التالية:

القناة ‏‏الوصف سلوك خاص بنظام التشغيل
None لا تحتوي العقد الخاصة بك على تحديثات أمان مطبقة تلقائيا. وهذا يعني أنك وحدك المسؤول عن تحديثات الأمان الخاصة بك. ‏‫غير متوفر‬
Unmanaged يتم تطبيق تحديثات نظام التشغيل تلقائيا من خلال البنية الأساسية الجزئية المضمنة لنظام التشغيل. الأجهزة المخصصة حديثا غير مفككة في البداية. تقوم البنية الأساسية لنظام التشغيل بتصحيحها في مرحلة ما. يطبق Ubuntu وAzure Linux (تجمعات عقدة وحدة المعالجة المركزية) تصحيحات الأمان من خلال الترقية غير المراقبة/dnf-automatic مرة واحدة تقريبا يوميا حوالي الساعة 06:00 بالتوقيت العالمي المتفق عليه. لا يطبق Windows تصحيحات الأمان تلقائيا، لذلك يتصرف هذا الخيار بشكل مكافئ ل None. تحتاج إلى إدارة عملية إعادة التشغيل باستخدام أداة مثل kured.
SecurityPatch تصحيحات أمان نظام التشغيل، والتي يتم اختبارها بواسطة AKS وإدارتها بالكامل وتطبيقها مع ممارسات النشر الآمنة. تقوم AKS بتحديث القرص الثابت الظاهري للعقدة (VHD) بانتظام بتصحيحات من أداة صيانة الصور المسماة "الأمان فقط". قد تكون هناك اضطرابات عند تطبيق تصحيحات الأمان على العقد. ومع ذلك، فإن AKS تحد من الاضطرابات عن طريق إعادة تعيين العقد فقط عند الضرورة، مثل حزم أمان kernel معينة. عند تطبيق التصحيحات، يتم تحديث VHD وتتم ترقية الأجهزة الموجودة إلى هذا VHD، مع احترام نوافذ الصيانة وإعدادات الطفرة. إذا قررت AKS أن إعادة تعيين العقد ليست ضرورية، فإنه يصحح العقد مباشرة دون استنزاف الحجيرات ولا يقوم بإجراء تحديث VHD. يتحمل هذا الخيار تكلفة إضافية لاستضافة VHDs في مجموعة موارد العقدة الخاصة بك. إذا كنت تستخدم هذه القناة، يتم تعطيل ترقيات Linux غير المراقب بشكل افتراضي. لا يدعم Azure Linux هذه القناة على الأجهزة الظاهرية التي تدعم وحدة معالجة الرسومات. SecurityPatch يعمل على إصدارات تصحيح kubernetes التي تم إهمالها، طالما أن إصدار Kubernetes الثانوي لا يزال مدعوما.
NodeImage تقوم AKS بتحديث العقد ب VHD مصحح حديثا يحتوي على إصلاحات أمان وإصلاحات الأخطاء على إيقاع أسبوعي. تحديث VHD الجديد معطلة، بعد نوافذ الصيانة وإعدادات الطفرة. لا يتم تكبد تكلفة VHD إضافية عند اختيار هذا الخيار. إذا كنت تستخدم هذه القناة، يتم تعطيل ترقيات Linux غير المراقب بشكل افتراضي. تدعم ترقيات صورة العقدة إصدارات التصحيح التي تم إهمالها، طالما أن إصدار Kubernetes الثانوي لا يزال مدعوما. صور العقدة يتم اختبارها بواسطة AKS وإدارتها بالكامل وتطبيقها مع ممارسات النشر الآمنة

تعيين قناة الترقية التلقائية لنظام تشغيل العقدة على نظام مجموعة جديد

  • قم بتعيين قناة الترقية التلقائية لنظام التشغيل العقدة على نظام مجموعة جديد باستخدام az aks create الأمر مع المعلمة --node-os-upgrade-channel . يعين المثال التالي قناة الترقية التلقائية لنظام التشغيل للعقدة إلى SecurityPatch.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-os-upgrade-channel SecurityPatch \
        --generate-ssh-keys
    

تعيين قناة الترقية التلقائية لنظام التشغيل للعقدة على نظام مجموعة موجود

  • قم بتعيين قناة الترقية التلقائية لنظام تشغيل العقدة على مجموعة موجودة باستخدام az aks update الأمر مع المعلمة --node-os-upgrade-channel . يعين المثال التالي قناة الترقية التلقائية لنظام التشغيل للعقدة إلى SecurityPatch.

    az aks update --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

تحديث الملكية والجدول الزمني

يعني إيقاع الإعداد الافتراضي أنه لا توجد نافذة صيانة مخططة مطبقة.

القناة تحديث الملكية إيقاع افتراضي
Unmanaged تحديثات الأمان المستندة إلى نظام التشغيل. لا تتحكم AKS في هذه التحديثات. ليلا حول 6AM UTC ل Ubuntu وAzure Linux. شهريا لنظام التشغيل Windows.
SecurityPatch تم اختبار AKS وإدارتها بالكامل وتطبيقها مع ممارسات النشر الآمنة. لمزيد من المعلومات، راجع زيادة الأمان والمرونة لأحمال العمل المتعارف عليها على Azure. أسبوعي.
NodeImage تم اختبار AKS وإدارتها بالكامل وتطبيقها مع ممارسات النشر الآمنة. لمزيد من المعلومات في الوقت الحقيقي حول الإصدارات، ابحث عن صور عقدة AKS في متعقب الإصدار أسبوعي.

إشعار

بينما يتم إصدار تحديثات أمان Windows على أساس شهري، فإن استخدام القناة Unmanaged لن يطبق هذه التحديثات تلقائيا على عقد Windows. إذا اخترت القناة Unmanaged ، فستحتاج إلى إدارة عملية إعادة التشغيل لعقد Windows.

القيود المعروفة لقناة العقدة

إشعار

استخدم الإصدار 2.61.0 من CLI أو أعلى للقناة SecurityPatch .

نوافذ الصيانة المخططة لنظام تشغيل العقدة

تبدأ الصيانة المخطط لها للترقية التلقائية لنظام التشغيل للعقدة في نافذة الصيانة المحددة.

إشعار

لضمان الوظائف المناسبة، استخدم نافذة صيانة من أربع ساعات أو أكثر.

لمزيدٍ من المعلومات، راجع استخدم الصيانة المخطط لها لجدولة نوافذ الصيانة لنظام مجموعة Azure Kubernetes Service (AKS) .

الأسئلة المتداولة حول الترقيات التلقائية لنظام تشغيل العقدة

كيف يمكنني التحقق من قيمة nodeOsUpgradeChannel الحالية على نظام مجموعة؟

az aks show قم بتشغيل الأمر وتحقق من "autoUpgradeProfile" لتحديد القيمة التي nodeOsUpgradeChannel تم تعيينها إلى:

az aks show --resource-group myResourceGroup --name myAKSCluster --query "autoUpgradeProfile"

كيف يمكنني مراقبة حالة الترقيات التلقائية لنظام تشغيل العقدة؟

لعرض حالة الترقيات التلقائية لنظام التشغيل العقدة الخاصة بك، ابحث عن سجلات النشاط على نظام المجموعة الخاص بك. يمكنك أيضا البحث عن أحداث معينة متعلقة بالترقية كما هو مذكور في ترقية نظام مجموعة AKS. تصدر AKS أيضا أحداث Event Grid المتعلقة بالترقية. لمعرفة المزيد، راجع AKS كمصدر شبكة الأحداث.

هل يمكنني تغيير قيمة قناة الترقية التلقائية لنظام التشغيل للعقدة إذا تم تعيين قناة الترقية التلقائية لنظام المجموعة إلى node-image ؟

‏‏لا. حاليا، عند تعيين قناة الترقية التلقائية لنظام المجموعة إلى node-image، فإنه يقوم أيضا تلقائيا بتعيين قناة الترقية التلقائية لنظام التشغيل العقدة إلى NodeImage. لا يمكنك تغيير قيمة قناة الترقية التلقائية لنظام التشغيل للعقدة إذا كانت قناة الترقية التلقائية لنظام المجموعة هي node-image. لكي تتمكن من تغيير قيم قناة الترقية التلقائية لنظام التشغيل العقدة، تأكد من أن قناة الترقية التلقائية لنظام المجموعة ليست node-image.

على القناة Unmanaged ، لا تتحكم AKS في كيفية ووقت تسليم تحديثات الأمان. مع SecurityPatch، يتم اختبار تحديثات الأمان بالكامل واتباع ممارسات النشر الآمنة. SecurityPatch كما يكرم نوافذ الصيانة. لمزيد من التفاصيل، راجع زيادة الأمان والمرونة لأحمال العمل المتعارف عليها على Azure.

هل SecurityPatch يؤدي دائما إلى إعادة تعيين العقد الخاصة بي؟

تحد AKS من إعادة الرسم فقط عند الضرورة القصوى، مثل حزم نواة معينة قد تتطلب إعادة رسم للحصول على تطبيق كامل. SecurityPatch تم تصميمه لتقليل الاضطرابات قدر الإمكان. إذا قررت AKS أن إعادة تعيين العقد ليست ضرورية، فإنه سيتم تصحيح العقد مباشرة دون استنزاف الجرابات ولا يتم إجراء تحديث VHD في مثل هذه الحالات.

SecurityPatch لماذا تتطلب القناة الوصول snapshot.ubuntu.com إلى نقطة النهاية؟

مع القناة SecurityPatch ، يجب على عقد نظام مجموعة Linux تنزيل تصحيحات الأمان والتحديثات المطلوبة من خدمة لقطة ubuntu الموضحة في عمليات نشر ubuntu-snapshots-on-azure-ensuring-predictability-and-consistency-in-cloud-deployments.

كيف أعمل معرفة ما إذا كان SecurityPatch يتم تطبيق أو NodeImage ترقية على العقدة الخاصة بي؟

قم بتشغيل الأمر التالي للحصول على تسميات العقدة:

kubectl get nodes --show-labels

من بين التسميات التي تم إرجاعها، يجب أن تشاهد سطرا مشابها للإخراج التالي:

kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202311.07.0

هنا، إصدار صورة العقدة الأساسية هو AKSUbuntu-2204gen2containerd. إذا كان ذلك ممكنا، عادة ما يتبع إصدار تصحيح الأمان. في المثال أعلاه، يكون 202311.07.0.

كما يمكن البحث عن نفس التفاصيل في مدخل Microsoft Azure ضمن عرض تسمية العقدة:

لقطة شاشة لصفحة العقد لمجموعة AKS في مدخل Microsoft Azure. تعرض تسمية إصدار صورة العقدة بوضوح صورة العقدة الأساسية وأحدث تاريخ تصحيح أمان مطبق.

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

للحصول على مناقشة مفصلة حول أفضل ممارسات الترقية والاعتبارات الأخرى، راجع تصحيح AKS وإرشادات الترقية.