إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا المقال، ستتعلم كيفية نقل مجموعات عقد AKS الحالية إلى Azure Container Linux (ACL) لصالح AKS. يمكنك ترحيل العقد الحالية باستخدام إحدى الطرق التالية:
- ترحيل وحدة تخزين نظام التشغيل في مكانها: غير وحدة تخزين نظام التشغيل في مجموعات العقد الحالية إلى ACL، الذي يعيد تصوير العقد تلقائيا.
- إزالة مجموعات العقد الحالية وإضافة مجموعات عقد ACL جديدة: أنشئ مجموعات عقد ACL جديدة، نقل أعباء العمل، وإزالة مجموعات العقد القديمة.
مهم
إذا كنت تستخدم Azure Container Linux (ACL) على AKS، تأكد من مراجعة الاعتبارات والقيود التالية:
- يتوفر ACL بشكل عام بدءا من AKS v1.34.
- يتطلب ACL التشغيل الموثوق مع Secure Boot وvTPM. نسخ الإطلاق غير الموثوقة غير متوفرة.
- يتطلب ACL على Arm64 وحدات SKU مبنية على كوبالت (v6) لتمكين التوافق مع Trusted Launch.
-
NodeImageوهيNoneقنوات ترقية نظام التشغيل (OS) المدعومة الوحيدة.UnmanagedوغيرSecurityPatchمتوافقة مع ACL بسبب المجلد غير القابل/usrللتغيير. - دفق القطع الأثرية غير مدعوم.
- Pod Sandboxing غير مدعوم.
- الأجهزة الظاهرية السرية (CVMs) غير مدعومة.
- الجيل الأول من الأجهزة الافتراضية غير مدعومة.
قيود ترحيل وحدات SKU في نظام التشغيل في مكانها
بالإضافة إلى القيود العامة لوحدة الربط، تنطبق ما يلي تحديدا على ترحيل وحدات تخزين نظام التشغيل في المكان:
- لا تتوفر ميزة ترحيل نظام التشغيل SKU من خلال PowerShell أو مدخل Microsoft Azure.
- لا تدعم ميزة ترحيل رمز SKU لنظام التشغيل إعادة تسمية تجمعات العقد الموجودة.
- مجموعات العقد مع
UseGPUDedicatedVHDتفعيل لا يمكنها تنفيذ ترحيل وحدة تخزين نظام التشغيل. - ترحيل Windows OS SKU غير مدعوم.
المتطلبات المسبقه
- عنقود AKS موجود مع تجمع عقد واحد على الأقل في لينكس.
- Azure CLI الإصدار 2.86.0 أو أحدث. قم بتشغيل
az --versionللعثور على الإصدار. إذا كنت بحاجة إلى تثبيت أو ترقية، راجع تثبيت Azure CLI. - نوصي بالتحقق من تشغيل أحمال العمل بنجاح على ACL من خلال نشر عنقود ACL في بيئة تطوير أو مرحلة قبل ترحيل عناقيد الإنتاج.
- تأكد من أن ميزة الترحيل تعمل لك في الاختبار/التطوير قبل استخدام العملية على مجموعة إنتاج.
- تأكد من أن بوداتك لديها ميزانية كافية لتعطيل الكبسولات (PDB) تسمح ل AKS بنقل الكبسولات بين الأجهزة الافتراضية أثناء الانتقال.
إضافة تجمعات عقد ACL وإزالة مجموعات العقد الموجودة
أضف مجموعة عقد ACL جديدة باستخدام
az aks nodepool addالأمر. استخدم--mode Systemحتى يكون التجمع الجديد بمثابة تجمع وكلاء النظام، مما يسمح لك بحذف تجمع العقد الأصلي في الخطوة التالية.az aks nodepool add \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <new-node-pool-name> \ --os-sku AzureContainerLinux \ --mode System \ --node-count 3مثال على الإخراج:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool", "name": "myNewNodePool", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }قم بإزالة مجموعة العقد الحالية باستخدام
az aks nodepool deleteالأمر.az aks nodepool delete \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <existing-node-pool-name>
ترحيل نظام التشغيل SKU الموضعي
يمكنك نقل مجموعات عقد لينكس الحالية إلى ACL عن طريق تغيير وحدة SKU الخاصة بنظام التشغيل في تجمع العقد، الذي يمرر الكتلة عبر عملية ترقية صورة العقدة القياسية. هذه الطريقة لا تتطلب إنشاء مجموعات عقد جديدة؛ بدلا من ذلك، يتم إعادة تصوير مجموعات العقد الحالية تلقائيا.
إجراء ترحيل SKU لنظام التشغيل الموضعي
مهم
يتطلب ACL التشغيل الموثوق. يجب عليك تضمين --enable-secure-boot وعند --enable-vtpm الانتقال إلى وحدة SKU الخاصة بنظام AzureContainerLinux التشغيل. يجب أن يدعم حجم الجهاز الافتراضي (VM) لمجموعة العقد الخاص بك أيضا التشغيل الموثوق. إذا كان حجم الآلة الافتراضية الحالي لا يدعم ذلك، عليك إعادة تكبير أو إعادة إنشاء مجموعة العقد التي تحتوي على حجم مدعم للجهاز الافتراضي قبل الانتقال.
قم بترحيل وحدة SKU الخاصة بنظام التشغيل الخاص بمجموعة العقد الخاصة بك إلى ACL باستخدام az aks nodepool update الأمر. يقوم هذا الأمر بإعادة تصوير مجموعة العقد لديك، وتحديث وحدة SKU الخاصة بنظام التشغيل إلى AzureContainerLinux. يؤدي تغيير نظام التشغيل 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/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"provisioningState": "Succeeded"
}
ملاحظة
إذا واجهت مشكلات أثناء ترحيل نظام التشغيل SKU، يمكنك العودة إلى نظام التشغيل SKU السابق.
تحقق من ترحيل نظام التشغيل SKU
تلميح
نوصي بمراقبة صحة خدمتك لبضعة أسابيع قبل نقل مجموعات الإنتاج الخاصة بك.
بمجرد اكتمال الترحيل على مجموعات الاختبار الخاصة بك، نوصي بمراقبة العنقود وأعباء العمل لبضعة أسابيع للتأكد من أن كل شيء يعمل كما هو متوقع قبل نقل عناقيد الإنتاج. استخدم الأوامر التالية للتحقق من الترحيل ومراقبة مجموعتك:
تأكد من أن العقد الجديدة تعمل بنظام ACL باستخدام
kubectl get nodes -o wideالأمر. يجب أن يظهر المخرج صورة نظام ACL OS.kubectl get nodes -o wideتحقق من أن جميع الكبسولات ومجموعات الشياطين تعمل على مجموعة العقد الجديدة باستخدام
kubectl get pods -o wide -Aالأمر.kubectl get pods -o wide -Aتحقق من أن جميع تسميات العقد في مجموعة العقد المطورة هي ما تتوقعه باستخدام الأمر
kubectl get nodes --show-labels.kubectl get nodes --show-labelsتحقق من نسخة صورة العقدة باستخدام
az aks nodepool listالأمر.az aks nodepool list \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'مثال على الإخراج:
[ { "name": "myNodePool", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
الرجوع إلى SKU لنظام التشغيل السابق
إذا واجهت مشكلات أثناء ترحيل نظام التشغيل SKU، يمكنك العودة إلى نظام التشغيل SKU السابق. للقيام بذلك، قم بتغيير حقل وحدة تخزين نظام التشغيل إلى القيمة السابقة وإعادة تقديم النشر، مما يؤدي إلى عملية ترقية أخرى ويعيد تصوير مجموعة العقد إلى وحدة SKU السابقة لنظام التشغيل. إذا عدت من ACL إلى وحدة تشغيل النظام السابقة، فإن مجموعة العقد تستخدم نسخة صورة Trusted Launch (Gen2) افتراضيا ما لم يتم تعطيل Trusted Launch Launch.
العودة إلى نظام التشغيل 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، راجع ما هو لينكس الحاويات Azure (ACL) ل خدمة Azure Kubernetes (AKS)؟