تصحيح خدمة Azure Kubernetes وإرشادات الترقية
يصف هذا القسم من دليل عمليات اليوم 2 لخدمة Azure Kubernetes (AKS) استراتيجيات التصحيح والترقية لعقد عامل AKS وإصدارات Kubernetes. كعامل تشغيل نظام مجموعة، تحتاج إلى خطة للحفاظ على مجموعاتك محدثة ومراقبة تغييرات Kubernetes API وإهمالها بمرور الوقت.
الخلفية وأنواع التحديثات
هناك ثلاثة أنواع من التحديثات ل AKS، كل منها مبني على التالي:
نوع التحديث | تكرار الترقية | الصيانة المخطط لها مدعومة | أساليب العملية المدعومة | استهداف | ارتباط إلى الوثائق |
---|---|---|---|---|---|
تصحيحات أمان نظام تشغيل العقدة | ليلاً | نعم | تلقائي (أسبوعي)، يدوي/غير مدار (ليلا) | العقدة | صور عقدة الترقية التلقائية |
ترقيات إصدار صورة العقدة | Linux: أسبوعي Windows: شهريا |
نعم | تلقائي، يدوي | تجمع العقدة | ترقية صورة عقدة AKS |
ترقيات إصدار Kubernetes (نظام المجموعة) | ربع سنوي | نعم | تلقائي، يدوي | تجمع نظام المجموعة والعقدة | ترقية نظام مجموعة AKS |
أنواع التحديث
تصحيحات أمان نظام تشغيل العقدة (Linux فقط). بالنسبة لعقد Linux، يجعل كل من Canonical Ubuntu وAzure Linux تصحيحات أمان نظام التشغيل متاحة مرة واحدة في اليوم. تقوم Microsoft باختبار هذه التصحيحات وتجميعها في التحديثات الأسبوعية لصور العقدة.
تحديثات أسبوعية لصور العقدة. توفر AKS تحديثات أسبوعية لصور العقدة. تتضمن هذه التحديثات أحدث تصحيحات أمان نظام التشغيل وAKS وإصلاحات الأخطاء والتحسينات. لا تغير تحديثات العقدة إصدار Kubernetes. يتم تنسيق الإصدارات حسب التاريخ (على سبيل المثال، 202311.07.0) لنظام التشغيل Linux وإصدار نظام التشغيل Windows Server والتاريخ (على سبيل المثال، 20348.2113.231115) لنظام التشغيل Windows. لمزيد من المعلومات، راجع حالة إصدار AKS.
إصدارات Kubernetes ربع السنوية. توفر AKS تحديثات ربع سنوية لإصدارات Kubernetes. تسمح هذه التحديثات لمستخدمي AKS بالاستفادة من أحدث ميزات Kubernetes وتحسيناتها. وهي تتضمن تصحيحات الأمان وتحديثات صورة العقدة. لمزيد من المعلومات، راجع إصدارات Kubernetes المدعومة في AKS.
اعتبارات ما قبل الترقية
التأثير الكلي للمجموعة
- تؤثر الترقيات الموضعية (كل من العقدة والمجموعة) على أداء بيئة Kubernetes أثناء تقدمها. يمكنك تقليل هذا التأثير من خلال التكوين المناسب لموازنات تعطيل الجراب وتكوين طفرة العقدة والتخطيط السليم.
- يؤدي استخدام استراتيجية التحديث الأزرق/الأخضر بدلا من الترقية في مكانها إلى إزالة أي تأثير على أداء نظام المجموعة ولكنه يزيد من التكلفة والتعقيد.
- بغض النظر عن استراتيجية الترقية والتصحيح الخاصة بك، تحتاج إلى إجراء عملية اختبار والتحقق من الصحة قوية لنظام المجموعة الخاص بك. قم بتصحيح البيئات المنخفضة وترقيتها أولا، وإجراء التحقق من صحة ما بعد الصيانة للتحقق من صحة نظام المجموعة والعقدة والنشر والتطبيق.
أفضل ممارسات حمل عمل AKS
لضمان التشغيل السلس لنظام مجموعة AKS أثناء الصيانة، اتبع أفضل الممارسات التالية:
- تعريف ميزانيات تعطيل الجراب (PDBs). يعد إعداد موازنات تعطيل الجراب لنشرك أمرا ضروريا. تفرض PDBs حدا أدنى من النسخ المتماثلة للتطبيقات المتاحة لضمان الأداء الوظيفي المستمر أثناء أحداث التعطيل. تساعد PDBs في الحفاظ على استقرار نظام المجموعة أثناء الصيانة أو فشل العقدة.
تحذير
يمكن أن تمنع PDBs التي تم تكوينها بشكل خاطئ عملية الترقية لأن واجهة برمجة تطبيقات Kubernetes تمنع الطوق والاستنزاف اللازمين الذي يحدث مع ترقية صورة العقدة المتداولة. بالإضافة إلى ذلك، إذا تم نقل عدد كبير جدا من الجرابات في وقت واحد، يمكن أن يحدث انقطاع في التطبيق. يعمل تكوين PDB على التخفيف من هذه المخاطر.
- تحقق من حدود الحوسبة والشبكة المتوفرة. تحقق من حدود الحوسبة والشبكة المتوفرة في اشتراك Azure عبر صفحة الحصة النسبية في مدخل Microsoft Azure، أو باستخدام الأمر حصة az. تحقق من موارد الحوسبة والشبكة، خاصة VM vCPUs للعقد الخاصة بك، وعدد الأجهزة الظاهرية ومجموعات مقياس الجهاز الظاهري. إذا كنت قريبا من الحد الأقصى، فاطلب زيادة الحصة النسبية قبل الترقية.
- تحقق من مساحة IP المتوفرة في الشبكات الفرعية للعقدة. أثناء التحديثات، يتم إنشاء عقد زيادة إضافية في نظام المجموعة ويتم نقل الحجيرات إلى هذه العقد. من المهم مراقبة مساحة عنوان IP في الشبكات الفرعية للعقدة للتأكد من وجود مساحة عنوان كافية لإجراء هذه التغييرات. تكوينات شبكة Kubernetes المختلفة لها متطلبات IP مختلفة. كنقطة بداية، راجع هذه الاعتبارات:
- أثناء الترقية، يزيد عدد عناوين IP للعقدة وفقا لقيمة الطفرة الخاصة بك. (الحد الأدنى لقيمة الارتفاع هو 1.)
- تقوم المجموعات التي تستند إلى Azure CNI بتعيين عناوين IP إلى وحدات الجراب الفردية، لذلك يجب أن تكون هناك مساحة IP كافية لحركة الجراب.
- يستمر نظام المجموعة الخاص بك في العمل أثناء الترقيات. تأكد من ترك مساحة IP كافية للسماح بتحجيم العقدة (إذا تم تمكينها).
- أعد بيئات متعددة. نوصي بإعداد بيئات منفصلة، مثل التطوير والتقسيم المرحلي والإنتاج، لتمكينك من اختبار التغييرات والتحقق من صحتها قبل طرحها في الإنتاج.
- ضبط قيم ترقية الارتفاع المفاجئ. بشكل افتراضي، لدى AKS قيمة زيادة 1، ما يعني أنه يتم إنشاء عقدة إضافية واحدة في كل مرة كجزء من عملية الترقية. يمكنك زيادة سرعة ترقية AKS عن طريق زيادة هذه القيمة. زيادة بنسبة 33٪ هي القيمة القصوى الموصى بها لأحمال العمل الحساسة للاضطرابات. لمزيد من المعلومات، راجع تخصيص ترقية طفرة العقدة.
- ضبط مهلة استنزاف العقدة. تحدد مهلة استنزاف العقدة الحد الأقصى للوقت الذي ستنتظره المجموعة أثناء محاولة إعادة جدولة الجرابات على عقدة يتم تحديثها. القيمة الافتراضية لهذا هي 30 دقيقة. بالنسبة لأحمال العمل التي تكافح لإعادة جدولة القرون، يمكن أن يكون من المفيد ضبط هذه القيمة الافتراضية.
- خطط وجدول نوافذ الصيانة. قد تؤثر عمليات الترقية على الأداء العام لمجموعة Kubernetes. جدولة عمليات الترقية الموضعية خارج نوافذ ذروة الاستخدام، ومراقبة أداء نظام المجموعة لضمان تغيير الحجم الكافي، خاصة أثناء عمليات التحديث.
- تحقق من التبعيات الأخرى في نظام المجموعة. غالبا ما ينشر مشغلو Kubernetes أدوات أخرى إلى مجموعة Kubernetes كجزء من العمليات، مثل متدرجات KEDA و Dapr وشبكات الخدمة. عند التخطيط لعمليات الترقية، تحقق من ملاحظات الإصدار لأي مكونات تستخدمها لضمان التوافق مع الإصدار الهدف.
إدارة التحديثات الأسبوعية لصور العقدة
تنشئ Microsoft صورة عقدة جديدة لعقد AKS مرة واحدة تقريبا في الأسبوع. تحتوي صورة العقدة على تصحيحات أمان نظام التشغيل محدثة وتحديثات نواة نظام التشغيل وتحديثات أمان Kubernetes والإصدارات المحدثة من الثنائيات مثل kubelet وتحديثات إصدار المكون المدرجة في ملاحظات الإصدار.
عند تحديث صورة عقدة، يتم تشغيل إجراء التطويق والاستنزاف على عقد تجمع العقدة الهدف:
- تتم إضافة عقدة مع الصورة المحدثة إلى تجمع العقدة. يخضع عدد العقد المضافة في نفس الوقت لقيمة الارتفاع المفاجئ.
- اعتمادا على قيمة الطفرة، يتم تطويق دفعة من العقد الموجودة واستنزافها. يضمن التطويق عدم جدولة العقدة للقرون. يؤدي الاستنزاف إلى إزالة القرون الخاصة به وجدولتها إلى العقد الأخرى.
- بعد استنزاف هذه العقد بالكامل، تتم إزالتها من تجمع العقدة. العقد المحدثة المضافة بواسطة الارتفاع المفاجئ تحل محلها.
- تتكرر هذه العملية لكل دفعة متبقية من العقد التي تحتاج إلى تحديث في تجمع العقدة.
تحدث عملية مماثلة أثناء ترقية نظام المجموعة.
ترقيات صورة العقدة التلقائية
بشكل عام، يجب أن تستخدم NodeImage
معظم المجموعات قناة التحديث. توفر هذه القناة صورة عقدة محدثة VHD على أساس أسبوعي ويتم تحديثها وفقا لنافذة صيانة نظام المجموعة.
تتضمن القنوات المتوفرة ما يلي:
None
. لا يتم تطبيق أي تحديثات تلقائيا.Unmanaged
. يتم تطبيق تحديثات Ubuntu وAzure Linux من قبل نظام التشغيل على أساس ليلي. يجب إدارة عمليات إعادة التشغيل بشكل منفصل. AKS غير قادرة على اختبار هذا ولا التحكم في إيقاع هذا.SecurityPatch
. تصحيحات أمان نظام التشغيل التي يتم اختبارها بواسطة AKS وإدارتها بالكامل وتطبيقها مع ممارسات النشر الآمنة. لا يحتوي على أي إصلاحات لأخطاء نظام التشغيل فقط تحديثات الأمان.NodeImage
. تقوم AKS بتحديث العقد ب VHD مصحح حديثا يحتوي على إصلاحات أمان وإصلاحات الأخطاء على إيقاع أسبوعي. يتم اختبار هذا بالكامل ونشره مع ممارسات النشر الآمنة. للحصول على معلومات في الوقت الحقيقي حول صور العقدة المنشورة حاليا، راجع تحديثات صورة عقدة AKS.
لفهم اللإيقاعات الافتراضية دون إنشاء نافذة صيانة، راجع ملكية التحديث والإيقاع.
إذا اخترت Unmanaged
قناة التحديث، فستحتاج إلى إدارة عملية إعادة التشغيل باستخدام أداة مثل kured. Unmanaged
لا يأتي مع ممارسات النشر الآمنة التي توفرها AKS ولن يعمل ضمن نوافذ الصيانة. إذا اخترت SecurityPatch
قناة التحديث، يمكن تطبيق التحديثات بشكل متكرر مثل الأسبوعية. يتطلب مستوى التصحيح هذا تخزين VHDs في مجموعة الموارد الخاصة بك، والتي تتحمل رسوما اسمية. التحكم في SecurityPatch
وقت تطبيق عن طريق تعيين مناسب aksManagedNodeOSUpgradeSchedule
يتوافق مع إيقاع يعمل بشكل أفضل لحمل العمل الخاص بك. لمزيد من المعلومات، راجع إنشاء نافذة صيانة. إذا كنت بحاجة أيضا إلى إصلاحات الأخطاء التي تأتي عادة مع صور عقدة جديدة (VHD)، فأنت بحاجة إلى اختيار القناة NodeImage
بدلا من SecurityPatch
.
كأفضل ممارسة، استخدم NodeImage
قناة التحديث وقم بتكوين aksManagedNodeOSUpgradeSchedule
نافذة صيانة إلى وقت تكون فيه المجموعة خارج نوافذ الاستخدام القصوى.
راجع إنشاء نافذة صيانة للسمات التي يمكنك استخدامها لتكوين نافذة صيانة نظام المجموعة. السمات الرئيسية هي:
name
. استخدمaksManagedNodeOSUpgradeSchedule
لتحديثات نظام التشغيل للعقدة.utcOffset
. تكوين المنطقة الزمنية.startTime
. تعيين وقت بدء نافذة الصيانة.dayofWeek
. تعيين أيام الأسبوع للنافذة. على سبيل المثال،Saturday
schedule
. تعيين تكرار النافذة. بالنسبةNodeImage
للتحديثات، نوصي بweekly
.durationHours
. تعيين هذه السمة إلى أربع ساعات على الأقل.
يعين هذا المثال نافذة صيانة أسبوعية إلى الساعة 8:00 مساء بالتوقيت الشرقي أيام السبت:
az aks maintenanceconfiguration add -g <ResourceGroupName> --cluster-name <AKSClusterName> --name aksManagedNodeOSUpgradeSchedule --utc-offset=-05:00 --start-time 20:00 --day-of-week Saturday --schedule-type weekly --duration 4
لمزيد من الأمثلة، راجع إضافة تكوين نافذة صيانة باستخدام Azure CLI.
من الناحية المثالية، سيتم نشر هذا التكوين كجزء من نشر البنية الأساسية كتعلم برمجية للمجموعة.
يمكنك التحقق من وجود نوافذ صيانة مكونة باستخدام Azure CLI:
az aks maintenanceconfiguration list -g <ResourceGroupName> --cluster-name <AKSClusterName>
يمكنك أيضا التحقق من تفاصيل نافذة صيانة معينة باستخدام CLI:
az aks maintenanceconfiguration show -g <ResourceGroupName> --cluster-name <AKSClusterName> --name aksManagedNodeOSUpgradeSchedule
إذا لم يتم تكوين نافذة صيانة نظام المجموعة، تحدث تحديثات صورة العقدة كل 2 أسابيع. أكبر قدر ممكن، تتم صيانة AKS داخل النافذة المكونة، ولكن وقت الصيانة غير مضمون.
هام
إذا كان لديك تجمع عقدة مع عدد كبير من العقد ولكن لم يتم تكوينه مع زيادة العقدة، فقد لا يتم تشغيل حدث الترقية التلقائية. ستتم ترقية صور العقدة في تجمع عقدة فقط بينما يكون إجمالي وقت الترقية المقدر في غضون 24 ساعة.
في هذه الحالة، يمكنك مراعاة أحد الإجراءات التالية:
- تقسيم العقد إلى تجمعات عقد مختلفة إذا كانت الحصة النسبية لوحدة المعالجة المركزية الظاهرية ممتلئة تقريبا ولا يمكنك زيادة الحصة النسبية لوحدة المعالجة المركزية الظاهرية
- تكوين طفرة العقدة لتقليل وقت الترقية المقدر إذا كانت الحصة النسبية لوحدة المعالجة المركزية الظاهرية كافية
يمكنك التحقق من حالة أحداث الترقية من خلال سجلات نشاط Azure، أو عن طريق مراجعة سجلات الموارد على نظام المجموعة الخاص بك.
يمكنك الاشتراك في أحداث خدمة Azure Kubernetes (AKS) باستخدام Azure Event Grid التي تتضمن أحداث ترقية AKS. يمكن أن تنبهك هذه الأحداث عند توفر إصدار جديد من Kubernetes والمساعدة في تعقب تغييرات حالة العقدة أثناء عمليات الترقية.
يمكنك أيضا إدارة عملية التحديث الأسبوعية باستخدام GitHub Actions. يوفر هذا الأسلوب تحكما أكثر دقة في عملية التحديث.
عملية تحديث العقدة اليدوية
يمكنك استخدام الأمر kubectl describe nodes لتحديد إصدار نواة نظام التشغيل وإصدار صورة نظام التشغيل للعقد في نظام المجموعة:
kubectl describe nodes <NodeName>
مثال على الإخراج (مقتطع):
System Info:
Machine ID: bb2e85e682ae475289f2e2ca4ed6c579
System UUID: 6f80de9d-91ba-490c-8e14-9e68b7b82a76
Boot ID: 3aed0fd5-5d1d-4e43-b7d6-4e840c8ee3cf
Kernel Version: 5.15.0-1041-azure
OS Image: Ubuntu 22.04.2 LTS
Operating System: linux
Architecture: arm64
Container Runtime Version: containerd://1.7.1+azure-1
Kubelet Version: v1.26.6
Kube-Proxy Version: v1.26.6
استخدم الأمر Azure CLI az aks nodepool list لتحديد إصدارات صورة العقدة من العقد في نظام مجموعة:
az aks nodepool list \
--resource-group <ResourceGroupName> --cluster-name <AKSClusterName> \
--query "[].{Name:name,NodeImageVersion:nodeImageVersion}" --output table
مثال على الإخراج:
Name NodeImageVersion
--------- ---------------------------------------------
systempool AKSUbuntu-2204gen2containerd-202307.12.0
usernodepool AKSUbuntu-2204gen2arm64containerd-202307.12.0
استخدم az aks nodepool get-upgrades لتحديد أحدث إصدار متاح لصورة العقدة لتجمع عقدة معين:
az aks nodepool get-upgrades \
--resource-group <ResourceGroupName> \
--cluster-name <AKSClusterName> \
--nodepool-name <NodePoolName> --output table
مثال على الإخراج:
KubernetesVersion LatestNodeImageVersion Name OsType
------------------- --------------------------------------------- ------- --------
1.26.6 AKSUbuntu-2204gen2arm64containerd-202308.10.0 default Linux
ترقيات نظام المجموعة
يصدر مجتمع Kubernetes إصدارات ثانوية من Kubernetes كل ثلاثة أشهر تقريبا. لإعلامك بإصدارات وإصدارات AKS الجديدة، يتم تحديث صفحة ملاحظات إصدار AKS بانتظام. يمكنك أيضا الاشتراك في موجز GitHub AKS RSS، الذي يوفر تحديثات في الوقت الحقيقي حول التغييرات والتحسينات.
تتبع AKS نهج دعم N - 2 ، ما يعني أنه يتم توفير الدعم الكامل لأحدث إصدار (N) وإصدارين ثانويين سابقين. يتم تقديم دعم محدود للنظام الأساسي للإصدار الثانوي الثالث السابق. لمزيد من المعلومات، راجع نهج دعم AKS.
للتأكد من أن مجموعات AKS الخاصة بك تظل مدعومة، تحتاج إلى إنشاء عملية ترقية نظام مجموعة مستمرة. تتضمن هذه العملية اختبار إصدارات جديدة في بيئات أقل والتخطيط للترقية إلى الإنتاج قبل أن يصبح الإصدار الجديد هو الإصدار الافتراضي. يمكن أن يحافظ هذا الأسلوب على إمكانية التنبؤ في عملية الترقية وتقليل الاضطرابات في التطبيقات. لمزيد من المعلومات، راجع الترقية إلى مقطع تخزين AKS.
إذا تطلب نظام المجموعة دورة ترقية أطول، فاستخدم إصدارات AKS التي تدعم خيار الدعم طويل الأجل (LTS). إذا قمت بتمكين خيار LTS، توفر Microsoft دعما موسعا لإصدارات Kubernetes لمدة عامين، ما يتيح دورة ترقية أكثر طولا وتحكما. لمزيد من المعلومات، راجع إصدارات Kubernetes المدعومة في AKS.
تتضمن ترقية نظام المجموعة ترقية عقدة وتستخدم عملية تطويق واستنزاف مماثلة.
قبل الترقية
كأفضل ممارسة، يجب عليك دائما الترقية والاختبار في بيئات أقل لتقليل مخاطر تعطيل الإنتاج. تتطلب ترقيات نظام المجموعة اختبارا إضافيا لأنها تتضمن تغييرات واجهة برمجة التطبيقات، والتي يمكن أن تؤثر على عمليات نشر Kubernetes. يمكن أن تساعدك الموارد التالية في عملية الترقية:
- مصنف AKS لواجهات برمجة التطبيقات المهملة. من صفحة نظرة عامة على نظام المجموعة في مدخل Microsoft Azure، يمكنك تحديد تشخيص المشكلات وحلها، والانتقال إلى فئة إنشاء وترقية وحذف ومقياس ، ثم تحديد إهمال واجهة برمجة تطبيقات Kubernetes. يؤدي القيام بذلك إلى تشغيل مصنف يتحقق من إصدارات واجهة برمجة التطبيقات المهملة التي يتم استخدامها في نظام المجموعة. لمزيد من المعلومات، راجع إزالة استخدام واجهات برمجة التطبيقات المهملة.
- صفحة ملاحظات إصدار AKS. توفر هذه الصفحة معلومات شاملة حول إصدارات وإصدارات AKS الجديدة. راجع هذه الملاحظات للبقاء على اطلاع بأحدث التحديثات والتغييرات.
- صفحة ملاحظات إصدار Kubernetes. توفر هذه الصفحة رؤى مفصلة حول أحدث إصدارات Kubernetes. انتبه بشكل خاص إلى ملاحظات الترقية العاجلة، والتي تسلط الضوء على المعلومات الهامة التي قد تؤثر على نظام مجموعة AKS.
- مكونات AKS التي تكسر التغييرات حسب الإصدار. يوفر هذا الجدول نظرة عامة شاملة على التغييرات العاجلة في مكونات AKS، حسب الإصدار. بالإشارة إلى هذا الدليل، يمكنك معالجة أي مشكلات توافق محتملة بشكل استباقي قبل عملية الترقية.
بالإضافة إلى موارد Microsoft هذه، ضع في اعتبارك استخدام أدوات مفتوحة المصدر لتحسين عملية ترقية نظام المجموعة. إحدى هذه الأدوات هي Fairwinds pluto، والتي يمكنها مسح عمليات التوزيع ومخططات Helm بحثا عن واجهات برمجة تطبيقات Kubernetes المهملة. يمكن أن تساعدك هذه الأدوات على التأكد من أن تطبيقاتك تظل متوافقة مع أحدث إصدارات Kubernetes.
عملية الترقية
للتحقق من الوقت الذي يتطلب فيه نظام المجموعة ترقية، استخدم az aks get-upgrades للحصول على قائمة بإصدارات الترقية المتوفرة لمجموعة AKS الخاصة بك. حدد الإصدار الهدف لنظام المجموعة الخاص بك من النتائج.
إليك مثال:
az aks get-upgrades \
--resource-group <ResourceGroupName> --name <AKSClusterName> --output table
مثال على الإخراج:
MasterVersion Upgrades
------------- ---------------------------------
1.26.6 1.27.1, 1.27.3
تحقق من إصدارات Kubernetes للعقد في تجمعات العقد لتحديد التجمعات التي تحتاج إلى ترقية:
az aks nodepool list \
--resource-group <ResourceGroupName> --cluster-name <AKSClusterName> \
--query "[].{Name:name,k8version:orchestratorVersion}" --output table
مثال على الإخراج:
Name K8version
------------ ------------
systempool 1.26.6
usernodepool 1.26.6
الترقية يدويا
لتقليل الاضطرابات والمساعدة في ضمان ترقية سلسة لمجموعة AKS، اتبع نهج الترقية هذا:
- ترقية وحدة التحكم AKS. ابدأ بترقية وحدة التحكم AKS. تتضمن هذه الخطوة ترقية مكونات وحدة التحكم المسؤولة عن إدارة نظام المجموعة وتنسيقها. تساعد ترقية مستوى التحكم أولا على ضمان التوافق والاستقرار قبل ترقية تجمعات العقد الفردية.
- ترقية تجمع عقدة النظام الخاص بك. بعد ترقية مستوى التحكم، قم بترقية تجمع عقدة النظام في نظام مجموعة AKS. تتكون تجمعات العقد من مثيلات الجهاز الظاهري التي تقوم بتشغيل أحمال عمل التطبيق الخاص بك. تؤدي ترقية تجمعات العقد بشكل منفصل إلى تمكين ترقية منتظمة ومتحكم بها للبنية الأساسية التي تدعم تطبيقاتك.
- ترقية تجمعات عقد المستخدم. بعد ترقية تجمع عقدة النظام، قم بترقية أي تجمعات عقدة مستخدم في نظام مجموعة AKS.
باتباع هذا الأسلوب، يمكنك تقليل الاضطرابات أثناء عملية الترقية والحفاظ على توفر التطبيقات الخاصة بك. هذه هي الخطوات التفصيلية:
قم بتشغيل الأمر az aks upgrade مع العلامة
--control-plane-only
لترقية مستوى التحكم في نظام المجموعة فقط وليس تجمعات عقدة نظام المجموعة:az aks upgrade \ --resource-group <ResourceGroupName> --name <AKSClusterName> \ --control-plane-only \ --kubernetes-version <KubernetesVersion>
شغّل az aks nodepool upgrade لترقية مجموعات العُقد إلى الإصدار الهدف:
az aks nodepool upgrade \ --resource-group <ResourceGroupName> --cluster-name <AKSClusterName> --name <NodePoolName> \ --no-wait --kubernetes-version <KubernetesVersion>
أثناء ترقية تجمع العقدة، تقوم AKS بإنشاء عقدة طفرة، وتطوق وتستنزف الجرابات في العقدة التي تتم ترقيتها، وتعيد تعيين العقدة، ثم تقوم بإلغاء تثبيت الحجيرات. ثم تتكرر هذه العملية لأي عقد أخرى في تجمع العقدة.
يمكنك التحقق من حالة عملية الترقية عن طريق تشغيل kubectl get events
.
للحصول على معلومات حول استكشاف مشكلات ترقية نظام المجموعة وإصلاحها، راجع وثائق استكشاف أخطاء AKS وإصلاحها.
تسجيل المجموعات في قنوات إصدار الترقية التلقائية
كما تقدم AKS حلا تلقائيا لترقية نظام المجموعة للحفاظ على نظام المجموعة محدثا. إذا كنت تستخدم هذا الحل، يجب إقرانه بنافذة صيانة للتحكم في توقيت الترقيات. يجب أن تكون نافذة الترقية أربع ساعات أو أكثر. عند تسجيل نظام مجموعة في قناة إصدار، تقوم Microsoft تلقائيا بإدارة الإصدار وترقية إيقاع المجموعة وتجمعات العقد الخاصة بها.
تقدم الترقية التلقائية لنظام المجموعة خيارات قناة إصدار مختلفة. فيما يلي بيئة موصى بها وتكوين قناة الإصدار:
البيئة | قناة الترقية | الوصف |
---|---|---|
الإنتاج | stable |
للاستقرار ونضج الإصدار، استخدم القناة الثابتة أو العادية لأحمال عمل الإنتاج. |
التقسيم المرحلي والاختبار والتطوير | نفس الإنتاج | للتأكد من أن اختباراتك تشير إلى الإصدار الذي ستقوم بترقية بيئة الإنتاج إليه، استخدم نفس قناة الإصدار مثل الإنتاج. |
الكاناري | rapid |
لاختبار أحدث إصدارات Kubernetes وميزات AKS الجديدة أو واجهات برمجة التطبيقات، استخدم القناة rapid . يمكنك تحسين وقتك في التسويق عند ترقية الإصدار في rapid إلى القناة التي تستخدمها للإنتاج. |
الاعتبارات
يصف الجدول التالي خصائص سيناريوهات ترقية وتصحيح AKS المختلفة:
السيناريو | المستخدم الذي بدأه | ترقية Kubernetes | ترقية نواة نظام التشغيل | ترقية صورة العقدة |
---|---|---|---|---|
تصحيح الأمان الجزئي | لا | لا | نعم، بعد إعادة التشغيل | نعم |
إنشاء نظام المجموعة | نعم | ربما | نعم، إذا كانت صورة عقدة محدثة تستخدم نواة محدثة | نعم، بالنسبة إلى نظام مجموعة موجود إذا كان هناك إصدار جديد متوفر |
ترقية Kubernetes لمستوى التحكم | نعم | نعم | لا | لا |
ترقية Kubernetes لتجمع العقدة | نعم | نعم | نعم، إذا كانت صورة عقدة محدثة تستخدم نواة محدثة | نعم، إذا كان هناك إصدار جديد متوفر |
توسيع نطاق تجمع العقدة | نعم | لا | لا | لا |
ترقية صورة العقدة | نعم | لا | نعم، إذا كانت صورة عقدة محدثة تستخدم نواة محدثة | نعم |
الترقية التلقائية لنظام المجموعة | لا | نعم | نعم، إذا كانت صورة عقدة محدثة تستخدم نواة محدثة | نعم، إذا كان هناك إصدار جديد متوفر |
- قد يقوم تصحيح أمان نظام التشغيل الذي يتم تطبيقه كجزء من ترقية صورة العقدة بتثبيت إصدار أحدث من النواة بدلا من تثبيت إنشاء نظام مجموعة جديد.
- يستخدم توسيع تجمع العقدة النموذج المقترن حاليا بمجموعة مقياس الجهاز الظاهري. تتم ترقية نواة نظام التشغيل عند تطبيق تصحيحات الأمان وإعادة تشغيل العقد.
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكاتب الرئيسي:
- أنتوني نيفيكو | مهندس حلول السحابة الأساسي
مساهمون آخرون:
- ريشابه ساها | مهندس الحلول الأساسي
- باولو سالفاتوري | مهندس العملاء الرئيسي، FastTrack for Azure
- علي اليفي | مهندس حلول السحابة
لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.
الخطوات التالية
- الوثائق الخاصة بالمنتج AKS
- متعقب إصدار AKS
- خارطة طريق AKS
- مسرع منطقة هبوط AKS
- استكشاف مشكلات AKS وإصلاحها
- تحسين ترقيات AKS
- الأسئلة المتداولة حول ترقية نظام تشغيل العقدة
- مجموعة بناء AKS
- أتمتة أساس AKS
- تحديد عمليات Day-2