قياس عدد العقد يدويا في نظام مجموعة Azure Kubernetes Service (AKS)

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

توضح هذه المقالة كيفية زيادة أو تقليل عدد العقد يدويا في نظام مجموعة AKS.

قبل البدء

  • راجع حصص خدمة AKS وحدودها للتحقق من أن مجموعتك يمكن أن تتدرج إلى العدد المطلوب من العقد.

  • قد يحتوي اسم تجمع عقدة أحرف أبجدية رقمية صغيرة فقط ويجب أن تبدأ بحرف صغير.

    • بالنسبة لتجمعات عقد Linux، يجب أن يتراوح الطول بين 1-11 حرفا.
    • بالنسبة لتجمعات عقد Windows، يجب أن يتراوح الطول بين 1-6 أحرف.

تغيير سعة عقد نظام المجموعة

هام

إزالة العقد من تجمع عقدة باستخدام الأمر kubectl غير مدعوم. يمكن أن يؤدي القيام بذلك إلى إنشاء مشكلات في التحجيم مع نظام مجموعة AKS.

  1. احصل على اسم تجمع العقدة باستخدام az aks show الأمر . يحصل المثال التالي على اسم تجمع العقدة لنظام المجموعة المسمى myAKSCluster في مجموعة موارد myResourceGroup :

    az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
    

    يوضح إخراج المثال التالي أن الاسم هو nodepool1:

    [
      {
        "count": 1,
        "maxPods": 110,
        "name": "nodepool1",
        "osDiskSizeGb": 30,
        "osType": "Linux",
        "vmSize": "Standard_DS2_v2"
      }
    ]
    
  2. تحجيم عقد نظام المجموعة باستخدام az aks scale الأمر . يقوم المثال التالي بتحجيم مجموعة تسمى myAKSCluster إلى عقدة واحدة. قم بتوفير الخاص --nodepool-name بك من الأمر السابق، مثل nodepool1:

    az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
    

    يظهر إخراج المثال التالي نظام المجموعة تم تغيير حجمه بنجاح إلى عقدة واحدة، كما هو موضح في قسم agentPoolProfiles :

    {
      "aadProfile": null,
      "addonProfiles": null,
      "agentPoolProfiles": [
        {
          "count": 1,
          "maxPods": 110,
          "name": "nodepool1",
          "osDiskSizeGb": 30,
          "osType": "Linux",
          "vmSize": "Standard_DS2_v2",
          "vnetSubnetId": null
        }
      ],
      [...]
    }
    

تحجيم User تجمعات العقد إلى 0

على عكس System تجمعات العقد التي تتطلب دائما عقدا قيد التشغيل، User تسمح لك تجمعات العقد بالتحجيم إلى 0. لمعرفة المزيد حول الاختلافات بين تجمعات عقد النظام والمستخدم، راجع تجمعات عقد النظام والمستخدم.

هام

لا يمكنك قياس تجمع عقدة مستخدم مع تمكين مقياس المجموعة التلقائي إلى 0 عقدة. لتوسيع نطاق تجمع عقدة المستخدم إلى 0 عقد، يجب تعطيل مقياس المجموعة التلقائي أولا. لمزيد من المعلومات، راجع تعطيل مقياس المجموعة التلقائي على تجمع عقدة.

  • لتوسيع نطاق تجمع مستخدم إلى 0، يمكنك استخدام مقياس az aks nodepool كبديل للأمر أعلاه az aks scale ، وتعيينه 0 كعدد العقد.

    az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0 
    
  • يمكنك أيضا تحجيم تجمعات العقد تلقائيا User إلى عقد صفرية، عن طريق تعيين معلمة --min-count مقياس المجموعة التلقائي إلى 0.

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

في هذه المقالة، يمكنك تغيير سعة نظام مجموعة خدمة Azure Kubernetes يدويًا لزيادة أو إنقاص عدد العقد. يمكنك أيضا استخدام مقياس المجموعة التلقائي لتوسيع نطاق نظام المجموعة تلقائيا.