ترقية صور العقدة خدمة Azure Kubernetes ‏(AKS)

يوفر خدمة Azure Kubernetes ‏(AKS) صور عقدة جديدة بانتظام، لذا قم بترقية صور العقدة بشكل متكرر لاستخدام أحدث ميزات AKS. يتم تحديث صور عقد لينكس أسبوعيا، وصور عقد Windows يتم تحديثها شهريا. تتضمن ملاحظات إصدار AKS إعلانات ترقية الصور. قد يستغرق طرح هذه التحديثات في جميع المناطق ما يصل إلى أسبوعين. راجع متعقب الإصدار لحالة الطرح. يمكنك أيضا إجراء ترقيات صورة العقدة تلقائيا وجدولتها باستخدام الصيانة المخطط لها. لمزيد من المعلومات، راجع ترقية صور نظام تشغيل العقدة تلقائيا.

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

هام

ابتداء من 30 نوفمبر 2025، لم تعد خدمة خدمة Azure Kubernetes ‏(AKS) تدعم أو توفر تحديثات الأمان ل Azure Linux 2.0. صورة عقدة Azure Linux 2.0 مجمدة عند إصدار 202512.06.0. ابتداء من 31 مارس 2026، سيتم إزالة صور العقد، ولن تتمكن من توسيع مجموعات العقد الخاصة بك. انتقل إلى نسخة Azure Linux المدعومة عن طريق ترقية مجموعات العقد إلى نسخة Kubernetes مدعومة أو الانتقال إلى osSku AzureLinux3. لمزيد من المعلومات، راجع مشكلة GitHub للتقاعدوإعلان تقاعد Azure Updates. للبقاء على اطلاع بالإعلانات والتحديثات، تابع ملاحظات إصدار AKS.

إشعار

تقوم المجموعات التي تستخدم التزويد التلقائي للعقدة (NAP) بتحديث صور العقدة تلقائيا عند توفر صورة جديدة. يمكنك تكوين نافذة صيانة للتحكم في وقت التقاط NAP لصورة جديدة، ولكن النافذة لا تحدد بالضرورة متى يتم تعطيل العقد الموجودة. يتحكم منطق انحراف NAP، وميزانيات تعطيل عقدة Karpenter، وميزانيات تعطيل الجراب في كيفية حدوث التعطيل ومتى يحدث. لمزيد من المعلومات، راجع تحديثات صورة العقدة ل NAP.

لا يمكنك الرجوع إلى إصدار صورة عقدة (على سبيل المثال، AKSUbuntu-2404 إلى AKSUbuntu-2204، أو AKSUbuntu-2404-202601.27.0 إلى AKSUbuntu-2404-202601.13.0).

Prerequisites

  • مجموعة AKS موجودة وتجمع عقدة.
  • Azure CLI تثبيت حساب Azure الخاص بك وتسجيل الدخول إليه.
  • إذن لاسترداد بيانات اعتماد نظام المجموعة وقراءة وتحديث مجموعة AKS وتجمعات العقد.
  • Bash shell. تستخدم الأوامر الواردة في هذه المقالة بناء جملة متغير بيئة Bash.

تعيين متغيرات البيئة لأسماء مجموعة الموارد والكتلة وتجمع العقد لاستخدامها في الأوامر اللاحقة:

export AKS_RESOURCE_GROUP="<resource-group-name>"
export AKS_CLUSTER="<cluster-name>"
export AKS_NODEPOOL="<node-pool-name>"

قم بالاتصال بمجموعة AKS

  1. اتصل بمجموعة AKS الخاصة بك باستخدام az aks get-credentials الأمر .

    az aks get-credentials \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER
    

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

  1. تحقق من ترقيات صورة العقدة المتوفرة az aks nodepool get-upgrades باستخدام الأمر .

    az aks nodepool get-upgrades \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. في الإخراج، ابحث عن القيمة وقم بتدوينها latestNodeImageVersion . هذه القيمة هي أحدث إصدار صورة عقدة متاح لتجمع العقدة.

  3. تحقق من إصدار صورة العقدة الحالية للمقارنة مع أحدث إصدار باستخدام az aks nodepool show الأمر .

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. nodeImageVersion إذا كانت القيمة مختلفة عن ، يمكنك ترقية latestNodeImageVersionصورة العقدة.

ترقية جميع صور العقدة في جميع تجمعات العقد

  1. ترقية جميع صور العقدة في كافة تجمعات العقد في نظام المجموعة باستخدام az aks upgrade الأمر مع العلامة --node-image-only .

    az aks upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER \
        --node-image-only \
        --yes
    
  2. يمكنك التحقق من حالة صور العقدة kubectl get nodes باستخدام الأمر .

    إشعار

    قد يختلف هذا الأمر قليلا اعتمادا على shell الذي تستخدمه. لمزيد من المعلومات حول بيئات Windows وPowerShell، راجع ><وثائق JSONPath الخاصة ب وورطة Kubernetes. يسرد هذا الأمر اسم كل عقدة جنبا إلى جنب مع قيمة التسمية الخاصة بها kubernetes.azure.com/node-image-version ، والتي تحدد إصدار الصورة الحالية للعقدة.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. عند اكتمال الترقية، استخدم az aks show الأمر للحصول على تفاصيل تجمع العقدة المحدثة. يتم عرض صورة العقدة الحالية في الخاصية nodeImageVersion.

    az aks show \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER  \
        --query "agentPoolProfiles[].{Name:name, NodeImageVersion:nodeImageVersion}"
    

ترقية مجموعة عقدة معينة

  1. تحديث صورة نظام التشغيل لتجمع عقدة دون إجراء ترقية نظام مجموعة Kubernetes باستخدام az aks nodepool upgrade الأمر مع العلامة --node-image-only .

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  2. يمكنك التحقق من حالة صور العقدة kubectl get nodes باستخدام الأمر .

    إشعار

    قد يختلف هذا الأمر قليلا اعتمادا على shell الذي تستخدمه. لمزيد من المعلومات حول بيئات Windows وPowerShell، راجع ><وثائق JSONPath الخاصة ب وورطة Kubernetes. يسرد هذا الأمر اسم كل عقدة جنبا إلى جنب مع قيمة التسمية الخاصة بها kubernetes.azure.com/node-image-version ، والتي تحدد إصدار الصورة الحالية للعقدة.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. عند اكتمال الترقية، استخدم az aks nodepool show الأمر للحصول على تفاصيل تجمع العقدة المحدثة. يتم عرض صورة العقدة الحالية في الخاصية nodeImageVersion.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    

ترقية صور العقدة مع ارتفاع العقدة

يقوم هذا الإجراء بترقية صورة العقدة لتجمع عقدة معين، وليس كافة تجمعات العقد في نظام المجموعة. بشكل افتراضي، تستخدم AKS عقدة إضافية واحدة لتكوين الترقيات. لتسريع عملية ترقية صورة العقدة، قم بترقية صور العقدة باستخدام قيمة طفرة عقدة قابلة للتخصيص.

  1. تكوين عدد عقد الطفرة لتجمع العقدة باستخدام az aks nodepool update الأمر مع العلامة --max-surge . يستمر هذا الإعداد للترقيات اللاحقة.

    إشعار

    لمعرفة المزيد حول المقايضات من إعدادات --max-surge المتنوعة، راجع تخصيص ترقية طفرة العقدة.

    az aks nodepool update \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --max-surge 33%
    
  2. قم بترقية صورة العقدة az aks nodepool upgrade باستخدام الأمر مع العلامة --node-image-only .

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  3. يمكنك التحقق من حالة صور العقدة kubectl get nodes باستخدام الأمر . يسرد هذا الأمر اسم كل عقدة جنبا إلى جنب مع قيمة التسمية الخاصة بها kubernetes.azure.com/node-image-version ، والتي تحدد إصدار الصورة الحالية للعقدة.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  4. احصل على تفاصيل تجمع العقدة المحدثة az aks nodepool show باستخدام الأمر . يتم عرض صورة العقدة الحالية في الخاصية nodeImageVersion.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion