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

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

توضح هذه المقالة كيفية ترقية صور عقدة نظام مجموعة AKS وكيفية تحديث صور تجمع العقد دون ترقية إصدار Kubernetes. للحصول على معلومات حول ترقية إصدار Kubernetes لنظام المجموعة، راجع ترقية نظام مجموعة AKS.

إشعار

يجب أن تستخدم الكتلة AKS مجموعات مقياس الجهاز الظاهري للعقد.

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

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

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

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

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

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

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

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

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

    إشعار

    قد يختلف هذا الأمر قليلا اعتمادا على shell الذي تستخدمه. لمزيد من المعلومات حول بيئات Windows وPowerShell، راجع وثائق Kubernetes JSONPath.

    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 <resource-group> \
        --name <cluster-name>
    

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

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

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

    إشعار

    قد يختلف هذا الأمر قليلا اعتمادا على shell الذي تستخدمه. لمزيد من المعلومات حول بيئات Windows وPowerShell، راجع وثائق Kubernetes JSONPath.

    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 <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

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

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

  1. ترقية صور العقدة مع زيادة العقدة az aks nodepool update باستخدام الأمر مع العلامة --max-surge لتكوين عدد العقد المستخدمة للترقيات.

    إشعار

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

    az aks nodepool update \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --max-surge 33% \
        --no-wait
    
  2. يمكنك التحقق من حالة صور العقدة kubectl get nodes باستخدام الأمر .

    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 <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

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