إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا الدرس، الجزء three من خمسة، تقوم بنقل عقدك الحالية إلى Azure لينكس. يمكنك ترحيل العقد الموجودة إلى Azure Linux باستخدام إحدى الطرق التالية:
- قم بإزالة تجمعات العقد الموجودة وإضافة تجمعات عقد Azure Linux جديدة.
- قم بتنفيذ ترحيل وحدة تخزين SKU لنظام التشغيل (OS) في المكان.
تستخدم الأوامر في هذا الدرس متغيرات البيئة المحددة في Tutorial 1: إنشاء عنقود باستخدام مضيف حاويات لينكس Azure ل AKS.
إذا لم يكن لديك أي عقد موجودة لترحيلها إلى Azure Linux، فانتقل إلى البرنامج التعليمي التالي. في البرامج التعليمية اللاحقة، ستتعلم كيفية تمكين القياس عن بعد والمراقبة في مجموعاتك وترقية عقد Azure Linux.
المتطلبات المسبقه
- في البرامج التعليمية السابقة، قمت بإنشاء ونشر مضيف حاوية Azure Linux لمجموعة AKS. لإكمال هذا البرنامج التعليمي، تحتاج إلى إضافة تجمع عقدة Azure Linux إلى نظام المجموعة الحالي. إذا لم تكن قد فعلت هذه الخطوة وترغب في المتابعة، فابدأ بالبرنامج التعليمي 2: إضافة تجمع عقدة Azure Linux إلى مجموعة AKS الحالية.
ملاحظة
عند إضافة تجمع عقدة Azure Linux جديد، تحتاج إلى إضافة واحدة على الأقل ك --mode System. وإلا، لن تسمح لك AKS بحذف تجمع العقدة الحالي.
- تحتاج إلى أحدث إصدار من Azure CLI. قم بتشغيل
az --versionللعثور على الإصدار. إذا كنت بحاجة إلى تثبيت أو ترقية، راجع تثبيت Azure CLI.
تعيين متغيرات البيئة
قم بتعيين المتغيرات البيئية التالية لإنشاء أسماء موارد فريدة لكل نشر. استبدل الاسم المؤقت <your-node-pool-name> باسم من اختيارك. يمكنك اختياريا إضافة لاحقة عشوائية لضمان التفرد. يجب أن يبدأ اسم تجمع العقدة بحرف صغير ويمكن أن يحتوي فقط على أحرف أبجدية رقمية. بالنسبة لتجمعات عقد Linux، يجب أن يتراوح الطول بين حرف واحد و12 حرفا.
# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"
إضافة تجمعات عقد Azure Linux وإزالة تجمعات العقد الموجودة
إضافة تجمع عقدة Azure Linux جديد باستخدام
az aks nodepool addالأمر . يضيف هذا الأمر تجمع عقدة جديد إلى نظام المجموعة الخاص بك مع العلامة--mode System، مما يجعله تجمع عقدة نظام. تجمعات عقد النظام مطلوبة لمجموعات Azure Linux.az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxمثال على الإخراج:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool", "name": "systempool", "provisioningState": "Succeeded" }قم بإزالة العقد الموجودة باستخدام
az aks nodepool deleteالأمر .
ترحيل نظام التشغيل SKU الموضعي
يمكنك نقل مجموعات عقد Ubuntu الحالية إلى Azure Linux عن طريق تغيير SKU الخاص بنظام التشغيل في تجمع العقد، الذي يمرر العنقود عبر عملية ترقية صورة العقدة القياسية. لا تتطلب هذه الميزة الجديدة إنشاء تجمعات عقد جديدة.
قيود ترحيل وحدات SKU في نظام التشغيل في مكانها
هناك العديد من الإعدادات التي يمكن أن تمنع طلب ترحيل SKU لنظام التشغيل. لضمان نجاح الترحيل، راجع الإرشادات والقيود التالية:
- لا تتوفر ميزة ترحيل نظام التشغيل SKU من خلال PowerShell أو مدخل Microsoft Azure.
- لا تتمكن ميزة ترحيل نظام التشغيل SKU من إعادة تسمية تجمعات العقد الموجودة.
- Ubuntu وAzure Linux وAzure Linux مع OS Guard هي أهداف ترحيل SKU لنظام التشغيل Linux OS الوحيدة المدعومة.
- التشغيل الموثوق به مطلوب افتراضيا ل Azure Linux مع OS Guard. يجب تفعيل Trusted Launch لتتمكن من الترحيل إلى Azure Linux باستخدام OS Guard. نظرا لأنك لا تستطيع تفعيل Trusted Launch على مجموعات العقد الحالية، تحتاج إلى إنشاء تجمع عقد جديد مع تفعيل Trusted Launch ونقل أعباء العمل إلى تلك المجموعة العقدية.
- العملاء الذين يستخدمون أحجام الأجهزة الافتراضية (VM) الخاصة بالجيل الأول فقط لا يمكنهم الترحيل إلى Azure Linux باستخدام OS Guard لأنه لا توجد صورة مدعومة من الجيل الأول. في هذه الحالة، تحتاج إلى إنشاء مجموعات عقد جديدة بحجم جهاز افتراضي يدعم الجيل الثاني.
- لا يمكن ل Ubuntu OS SKU مع
UseGPUDedicatedVHDتمكين إجراء ترحيل SKU لنظام التشغيل. - لا يمكن ل Ubuntu OS SKU مع تمكين CVM 20.04 إجراء ترحيل SKU لنظام التشغيل.
- لا يمكن لتجمعات العقد مع تمكين Kata إجراء ترحيل SKU لنظام التشغيل.
- ترحيل Windows OS SKU غير مدعوم.
متطلبات ترحيل SKU لنظام التشغيل In-place
- مجموعة AKS موجودة مع تجمع عقدة Ubuntu واحد على الأقل.
- نوصي بالتأكد من تكوين أحمال العمل الخاصة بك وتشغيلها بنجاح على مضيف حاوية Azure Linux قبل محاولة استخدام ميزة ترحيل SKU لنظام التشغيل عن طريق نشر نظام مجموعة Azure Linux في dev/prod والتحقق من أن الخدمة الخاصة بك لا تزال سليمة.
- تأكد من أن ميزة الترحيل تعمل لك في الاختبار/التطوير قبل استخدام العملية على مجموعة إنتاج.
- تأكد من أن كبسولاتك لديها ميزانية كافية لتعطيل الكبسولات (PDB) للسماح ل AKS بنقل الكبسولات بين الأجهزة الافتراضية أثناء الترقية.
- تحتاج إلى الإصدار 2.61.0 من Azure CLI أو أعلى. قم بتشغيل
az --versionللعثور على الإصدار. إذا كنت بحاجة إلى تثبيت أو ترقية، راجع تثبيت Azure CLI. - إذا كنت تستخدم Terraform، يجب أن يكون لديك إصدار 3.111.0 أو أكثر من وحدة AzureRM Terraform.
- واجهة سطر الأوامر Azure (Azure CLI)
- قالب ARM
- التيرافورم
ترحيل نظام التشغيل SKU لتجمع عقدة Ubuntu
قم بترحيل OS SKU لتجمع العقدة إلى Azure Linux باستخدام az aks nodepool update الأمر . يحدث هذا الأمر نظام التشغيل SKU لتجمع العقدة من Ubuntu إلى Azure Linux. يؤدي تغيير نظام التشغيل SKU إلى تشغيل عملية ترقية فورية، والتي تستغرق عدة دقائق لإكمالها.
az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux
مثال على الإخراج:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureLinux",
"provisioningState": "Succeeded"
}
ملاحظة
إذا واجهت مشكلات أثناء ترحيل نظام التشغيل SKU، يمكنك العودة إلى نظام التشغيل SKU السابق.
تحقق من ترحيل نظام التشغيل SKU
بمجرد اكتمال الترحيل على مجموعات الاختبار الخاصة بك، يجب التحقق مما يلي لضمان نجاح الترحيل:
- إذا كان هدف الترحيل الخاص بك هو Azure Linux، فقم
kubectl get nodes -o wideبتشغيل الأمر . يجب أن يظهرMicrosoft Azure Linux 3.0الإخراج كصورة نظام التشغيل الخاص بك وفي.azl3نهاية إصدار kernel الخاص بك. -
kubectl get pods -o wide -Aقم بتشغيل الأمر للتحقق من تشغيل كافة القرون و daemonsets على تجمع العقدة الجديد. -
kubectl get nodes --show-labelsقم بتشغيل الأمر للتحقق من أن جميع تسميات العقدة في تجمع العقدة التي تمت ترقيتها هي ما تتوقعه.
تلميح
نوصي بمراقبة صحة الخدمة الخاصة بك لمدة أسبوعين قبل ترحيل مجموعات الإنتاج الخاصة بك.
تشغيل ترحيل OS SKU على مجموعات الإنتاج الخاصة بك
قم بتحديث القوالب الموجودة لتعيين
OSSKU=AzureLinux. تأكد من تعيينapiVersionإلى2023-07-01أو إصدار أحدث.-
قوالب ARM: استخدمها
"OSSKU": "AzureLinux"فيagentPoolProfileالقسم. -
Bicep: استخدم
osSku: "AzureLinux"في قسمagentPoolProfile. -
Terraform: استخدم
os_sku = "AzureLinux"في القسمdefault_node_pool.
-
قوالب ARM: استخدمها
أعد نشر قالب ARM أو Bicep أو Terraform لنظام المجموعة لتطبيق الإعداد الجديد
OSSKU. أثناء هذا التوزيع، يتصرف نظام المجموعة كما لو أنه يأخذ ترقية صورة عقدة. يقوم نظام المجموعة الخاص بك بتكريس السعة، ثم إعادة تشغيل العقد الموجودة واحدا تلو الآخر في أحدث صورة AKS من نظام التشغيل SKU الجديد.
الرجوع إلى SKU لنظام التشغيل السابق
إذا واجهت مشكلات أثناء ترحيل نظام التشغيل SKU، يمكنك العودة إلى نظام التشغيل SKU السابق. للقيام بذلك، تحتاج إلى تغيير حقل OS SKU في القالب الخاص بك وإعادة إرسال النشر، والذي يؤدي إلى عملية ترقية أخرى ويستعيد تجمع العقدة إلى وحدة SKU لنظام التشغيل السابقة الخاصة به.
يمكنك العودة إلى وحدة SKU السابقة لنظام التشغيل باستخدام الأمر az aks nodepool update . يقوم هذا الأمر بتحديث نظام التشغيل SKU لتجمع العقدة من Azure Linux مرة أخرى إلى Ubuntu.
الخطوة التالية
في هذا الدرس، قمت بنقل العقد الموجودة إلى Azure Linux عن طريق إزالة مجموعات العقد الموجودة وإضافة مجموعات عقد جديدة ل Azure Linux أو عن طريق إجراء ترحيل SKU لنظام التشغيل في المكان.
في البرنامج التعليمي التالي، ستتعلم كيفية تمكين القياس عن بعد لمراقبة مجموعاتك.