التعليم: ترحيل العقد إلى Azure Container Linux (ACL)

في هذا الدرس، الجزء الثالث من خمسة، تقوم بنقل عقدك الحالية إلى ACL. يمكنك ترحيل العقد الحالية باستخدام إحدى الطرق التالية:

  • قم بإزالة مجموعات العقد الموجودة وإضافة مجموعات عقد ACL جديدة.
  • قم بتنفيذ ترحيل وحدة تخزين SKU لنظام التشغيل (OS) في المكان.

الأوامر في هذا الدرس تستخدم متغيرات البيئة المحددة في الدرس 1: إنشاء عنقود باستخدام ACL ل AKS.

إذا لم يكن لديك أي عقد موجودة لترحيلها، فانتقل إلى البرنامج التعليمي التالي. في الدروس اللاحقة، تتعلم كيفية تفعيل القياس عن بعد والمراقبة في عناقيد العناقيد وترقية عقد ACL.

المتطلبات المسبقه

  • في الدروس السابقة، كنت تنشئ وتنشر عنقود ACL. إذا لم تكمل هذه الخطوات وترغب في المتابعة، راجع الدرس 1: إنشاء عنقود باستخدام ACL ل AKS.
  • Azure يتطلب لينكس الحاويات إصدار Azure CLI 2.86.0 أو أعلى. استخدم الأمر az version للعثور على الإصدار. للترقية إلى أحدث إصدار، استخدم الأمر az upgrade .

اعتبارات وقيود Azure Container Linux (ACL)

قبل أن تبدأ، راجع الاعتبارات والقيود التالية لرابطة الرباط الصليبي الأمامي:

إضافة تجمعات عقد ACL وإزالة مجموعات العقد الموجودة

  1. أضف مجموعة عقد ACL جديدة باستخدام az aks nodepool add الأمر. استخدم --mode System حتى يكون التجمع الجديد بمثابة تجمع وكلاء النظام، مما يسمح لك بحذف تجمع العقد الأصلي في الخطوة التالية. المثال التالي ينشئ مجموعة عقد تسمى aclsystem تضيف ثلاث عقد إلى العنقود:

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name aclsystem \
        --mode System \
        --os-sku AzureContainerLinux \
        --node-count 3
    

    مثال على الإخراج:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem",
      "name": "aclsystem",
      "osSku": "AzureContainerLinux",
      "provisioningState": "Succeeded"
    }
    
  2. قم بإزالة مجموعة العقد الحالية باستخدام az aks nodepool delete الأمر.

    az aks nodepool delete \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name <existing-node-pool-name>
    

ترحيل نظام التشغيل SKU الموضعي

قيود ترحيل SKU لنظام التشغيل الموضعي

هناك العديد من الإعدادات التي يمكن أن تمنع طلب ترحيل SKU لنظام التشغيل. لضمان نجاح الترحيل، راجع الإرشادات والقيود التالية:

  • لا تتوفر ميزة ترحيل نظام التشغيل SKU من خلال PowerShell أو مدخل Microsoft Azure.
  • لا تدعم ميزة ترحيل رمز SKU لنظام التشغيل إعادة تسمية تجمعات العقد الموجودة.
  • أوبونتو، Azure Linux، وAzureContainerLinux هي الأهداف الوحيدة المدعومة لترحيل وحدات SKU لنظام تشغيل لينكس.
  • يتطلب ACL التشغيل الموثوق. إذا لم تكن مفعلة --enable-secure-boot بالفعل في مجموعة العقد، يجب عليك تضمين --enable-vtpm وعند AzureContainerLinux الترحيل إلى وحدة SKU لنظام التشغيل. يجب أن يدعم حجم الوحدة الافتراضية في مجموعة العقد أيضا التشغيل الموثوق. إذا كان حجم الآلة الافتراضية الحالي لا يدعم ذلك، عليك إعادة تكبير أو إعادة إنشاء مجموعة العقد التي تحتوي على حجم مدعم للجهاز الافتراضي قبل الانتقال.
  • الجيل الأول من الأجهزة الافتراضية غير مدعومة.
  • لا يمكن ل Ubuntu OS SKU مع UseGPUDedicatedVHD تمكين إجراء ترحيل SKU لنظام التشغيل.
  • الأجهزة الظاهرية السرية (CVMs) غير مدعومة.
  • Pod Sandboxing غير مدعوم.
  • ترحيل Windows OS SKU غير مدعوم.

المتطلبات الأساسية لترحيل SKU لنظام التشغيل الموضعي

  • عنقود AKS موجود مع تجمع عقد واحد على الأقل في لينكس.
  • نوصي بالتحقق من تشغيل أحمال العمل بنجاح على ACL من خلال نشر عنقود ACL في بيئة تطوير أو مرحلة قبل ترحيل عناقيد الإنتاج.
  • تأكد من أن ميزة الترحيل تعمل لك في الاختبار/التطوير قبل استخدام العملية على مجموعة إنتاج.
  • تأكد من أن كبسولاتك لديها ميزانية كافية لتعطيل الكبسولات (PDB) للسماح ل AKS بنقل الكبسولات بين الأجهزة الافتراضية أثناء الترقية.
  • تحتاج إلى الإصدار 2.61.0 من Azure CLI أو أعلى. استخدم الأمر az version للعثور على الإصدار. للترقية إلى أحدث إصدار، استخدم الأمر az upgrade .

الانتقال إلى ACL باستخدام ترحيل SKU في نظام التشغيل في الموقع

يمكنك نقل مجموعات عقد Ubuntu أو Azure Linux الحالية إلى ACL عن طريق تغيير وحدة SKU الخاصة بنظام التشغيل في مجموعة العقد، مما يمرر المجموعة عبر عملية ترقية صور العقدة القياسية. هذه الطريقة لا تتطلب إنشاء مجموعات عقد جديدة؛ بدلا من ذلك، يتم إعادة تصوير مجموعات العقد الحالية تلقائيا.

مهم

يتطلب ACL التشغيل الموثوق. يجب عليك تضمين --enable-secure-boot وعند --enable-vtpm الانتقال إلى وحدة SKU الخاصة بنظام AzureContainerLinux التشغيل. يجب أن يدعم حجم الوحدة الافتراضية في مجموعة العقد أيضا التشغيل الموثوق.

قم بترحيل وحدة SKU الخاصة بنظام التشغيل الخاص بمجموعة العقد الخاصة بك إلى ACL باستخدام az aks nodepool update الأمر. هذا الأمر يفعل إعادة تصوير مجموعة العقد الخاصة بك. يؤدي تغيير نظام التشغيل SKU إلى تشغيل عملية ترقية فورية، والتي تستغرق عدة دقائق لإكمالها.

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --name <existing-node-pool-name> \
    --os-sku AzureContainerLinux \
    --enable-secure-boot \
    --enable-vtpm

مثال على الإخراج:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureContainerLinux",
  "provisioningState": "Succeeded"
}

ملاحظة

إذا واجهت مشكلات أثناء ترحيل نظام التشغيل SKU، يمكنك العودة إلى نظام التشغيل SKU السابق.

تحقق من ترحيل نظام التشغيل SKU

بمجرد اكتمال الترحيل على مجموعات الاختبار الخاصة بك، تحقق مما يلي لضمان نجاح الترحيل:

  1. تأكد من أن العقد الجديدة تعمل بنظام ACL باستخدام الأمر التالي:

    kubectl get nodes -o wide
    
  2. تحقق من أن جميع الكبسولات ومجموعات الشياطين تعمل على مجموعة العقد الجديدة باستخدام الأمر التالي:

    kubectl get pods -o wide -A
    
  3. تحقق من أن جميع تسميات العقد في مجموعة العقد المطورة هي ما تتوقعه باستخدام الأمر التالي:

    kubectl get nodes --show-labels
    
  4. تحقق من نسخة صورة العقدة باستخدام az aks nodepool list الأمر.

    az aks nodepool list \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'
    

    مثال على الإخراج:

    [
      {
        "name": "nodepool1",
        "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0",
        "osSku": "AzureContainerLinux"
      }
    ]
    

تلميح

نوصي بمراقبة صحة خدمتك لبضعة أسابيع قبل نقل مجموعات الإنتاج الخاصة بك.

الرجوع إلى SKU لنظام التشغيل السابق

إذا واجهت مشكلات أثناء ترحيل نظام التشغيل SKU، يمكنك العودة إلى نظام التشغيل SKU السابق. للقيام بذلك، قم بتغيير حقل وحدة تخزين نظام التشغيل إلى القيمة السابقة وإعادة تقديم النشر، مما يؤدي إلى عملية ترقية أخرى ويعيد تصوير مجموعة العقد إلى وحدة SKU السابقة لنظام التشغيل.

العودة إلى نظام التشغيل SKU السابق باستخدام az aks nodepool update الأمر . هذا المثال يرجع من ACL إلى Azure Linux:

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --name <existing-node-pool-name> \
    --os-sku AzureLinux

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

في هذا الدرس، قمت بنقل العقد الموجودة إلى ACL. في الدرس التالي، تتعلم كيفية تفعيل القياس عن بعد والمراقبة لمجموعة الرباط الصليبي الأمامي الخاص بك.