إدارة تجمعات العقد لنظام مجموعة في خدمة Azure Kubernetes (AKS)
في خدمة Azure Kubernetes Service (AKS) يتم تجميع العقد من نفس التكوين معًا في تجمعات العقد. تحتوي تجمعات العقد هذه على VMs الأساسي الذي يقوم بتشغيل التطبيقات الخاصة بك. عند إنشاء نظام مجموعة AKS، يمكنك تحديد العدد الأولي للعقد وحجمها (SKU). مع تغير متطلبات التطبيق، قد تحتاج إلى تغيير الإعدادات على تجمعات العقد. على سبيل المثال، قد تحتاج إلى قياس عدد العقد في تجمع عقدة أو ترقية إصدار Kubernetes من تجمع عقدة.
توضح هذه المقالة كيفية إدارة تجمع عقدة واحد أو أكثر في مجموعة AKS.
قبل البدء
- راجع إنشاء تجمعات عقدة لمجموعة في خدمة Azure Kubernetes (AKS) لمعرفة كيفية إنشاء تجمعات العقد لمجموعات AKS الخاصة بك.
- تحتاج إلى الإصدار 2.2.0 من Azure CLI أو تثبيتها وتكوينها لاحقًا. قم بتشغيل
az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. - راجع خيارات التخزين للتطبيقات في Azure Kubernetes Service لتخطيط تكوين التخزين الخاص بك.
القيود
تنطبق القيود التالية عند إنشاء وإدارة الكتل AKS التي تدعم تجمعات عقد متعددة:
- راجع الحصص النسبية وقيود حجم الجهاز الظاهري وتوافر المنطقة في خدمة Azure Kubernetes (AKS).
- يجب أن تحتوي تجمعات النظام على عقدة واحدة على الأقل، وقد تحتوي تجمعات عقد المستخدم على صفر أو أكثر من العقد.
- لا يمكنك تغيير حجم الجهاز الظاهري لتجمع عقدة بعد إنشائه.
- عند إنشاء تجمعات عقد متعددة في وقت إنشاء نظام المجموعة، يجب أن تتطابق جميع إصدارات Kubernetes المستخدمة من قبل تجمعات العقد مع الإصدار الذي تم تعيينه لمستوى التحكم. يمكنك إجراء تحديثات بعد توفير نظام المجموعة باستخدام عمليات تجمع العقدة.
- لا يمكنك تشغيل عمليات الترقية والتحجيم في نفس الوقت على مجموعة أو تجمع عقدة. إذا حاولت تشغيلها في نفس الوقت، فستتلقى خطأ. يجب أن يكتمل كل نوع عملية على المورد الهدف قبل الطلب التالي على نفس المورد. راجع دليل الكشف عن الأخطاء وإصلاحها لمزيد من المعلومات.
ترقية تجمع عقدة واحدة
إشعار
يتم ربط إصدار نسخة تجمع عقدة OS إلى إصدار Kubernetes من الكتلة. يمكنك فقط الحصول على ترقيات صورة نظام التشغيل، بعد ترقية نظام المجموعة.
في هذا المثال، نقوم بترقية تجمع عقدة mynodepool . نظرا لوجود تجمعين للعقدة، يجب علينا استخدام الأمر للترقية az aks nodepool upgrade
.
تحقق من وجود أي ترقيات متوفرة باستخدام
az aks get-upgrades
الأمر .az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster
ترقية تجمع عقدة mynodepool باستخدام
az aks nodepool upgrade
الأمر .az aks nodepool upgrade \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --kubernetes-version KUBERNETES_VERSION \ --no-wait
سرد حالة تجمعات العقد باستخدام
az aks nodepool list
الأمر .az aks nodepool list --resource-group myResourceGroup --cluster-name myAKSCluster
يظهر إخراج المثال التالي أن mynodepool في حالة الترقية:
[ { ... "count": 3, ... "name": "mynodepool", "orchestratorVersion": "KUBERNETES_VERSION", ... "provisioningState": "Upgrading", ... "vmSize": "Standard_DS2_v2", ... }, { ... "count": 2, ... "name": "nodepool1", "orchestratorVersion": "1.15.7", ... "provisioningState": "Succeeded", ... "vmSize": "Standard_DS2_v2", ... } ]
يستغرق بضع دقائق لترقية العقد إلى الإصدار المحدد.
للحصول على أفضل ممارسة، يجب ترقية كافة تجمعات العقد في كتلة AKS إلى نفس إصدار Kubernetes. السلوك الافتراضي az aks upgrade
هو ترقية كافة تجمعات العقدة مع مستوى عنصر التحكم لتحقيق هذه المحاذاة. تتيح لك القدرة على ترقية تجمعات العقد الفردية إجراء ترقية متدرجة وجدولة القرون بين تجمعات العقد للحفاظ على وقت تشغيل التطبيق ضمن القيود المذكورة أعلاه.
قم بترقية مستوى عنصر تحكم نظام المجموعة مع تجمعات عقد متعددة
إشعار
يستخدم Kubernetes نظام تعيين إصدار قياسي الإصدار الدلالي لكل إصدار. يتم التعبير عن رقم الإصدار كـ x.y.z، حيث x هو الإصدار الرئيسي، و y هو الإصدار الثانوي، و z هو إصدار التصحيح. على سبيل المثال، في الإصدار 1.12.6، 1 هو الإصدار الرئيسي، 12 هو الإصدار الثانوي، و 6 هو إصدار التصحيح. يتم تعيين إصدار Kubernetes من مستوى التحكم وتجمع العقدة الأولية أثناء إنشاء الكتلة. تحتوي تجمعات العقد الأخرى على مجموعة إصدارات Kubernetes الخاصة بها عند إضافتها إلى نظام المجموعة. قد تختلف إصدارات Kubernetes بين تجمعات العقد وبين تجمع عقدة ولوحة التحكم.
يحتوي نظام مجموعة AKS على كائنين لمورد نظام المجموعة مع إصدارات Kubernetes المقترنة بهما:
- إصدار Kubernetes لمستوى التحكم في نظام المجموعة، و
- تجمع عقدة مع إصدار Kubernetes.
يتم تعيين وحدة التحكم إلى تجمع عقدة واحد أو عدة تجمعات. يعتمد سلوك عملية الترقية على أمر Azure CLI الذي تستخدمه.
az aks upgrade
ترقية مستوى التحكم وجميع تجمعات العقد في نظام المجموعة إلى نفس إصدار Kubernetes.az aks upgrade
مع العلامة--control-plane-only
ترقيات مستوى التحكم في نظام المجموعة فقط ويترك كافة تجمعات العقد دون تغيير.az aks nodepool upgrade
ترقية تجمع العقدة الهدف فقط مع إصدار Kubernetes المحدد.
قواعد التحقق من الصحة للترقيات
يتم التحقق من صحة ترقيات Kubernetes لمستوى التحكم في نظام المجموعة وتجمعات العقد باستخدام مجموعات القواعد التالية:
قواعد الإصدارات الصالحة لترقية تجمعات العقد:
- يجب أن يكون إصدار تجمع العقدة نفس الإصدار الرئيسي مثل لوحة التحكم.
- يجب أن يكون الإصدار الثانوي لتجمع العقدة ضمن إصدارين ثانويين من إصدار لوحة التحكم.
- لا يمكن أن يكون إصدار تجمع العقدة أكبر من إصدار عنصر
major.minor.patch
التحكم.
قواعد إرسال عملية ترقية:
- لا يمكنك تخفيض مستوى لوحة التحكم أو عقدة تجمع Kubernetes الإصدار.
- إذا لم يتم تحديد إصدار Kubernetes لتجمع العقدة، يعتمد السلوك على العميل. في قوالب Resource Manager، يعود الإعلان إلى الإصدار الحالي المحدد لتجمع العقدة. إذا لم يتم تعيين أي شيء، فإنه يستخدم إصدار وحدة التحكم للرجوع إليه.
- لا يمكنك إرسال عمليات متعددة في نفس الوقت على وحدة تحكم واحدة أو مورد تجمع عقدة. يمكنك إما ترقية أو توسيع نطاق وحدة تحكم أو تجمع عقدة في وقت معين.
قم بتغيير سعة تجمع عقدة يدويًّا
كما يتطلب تغيير حمل العمل التطبيق الخاص بك، قد تحتاج إلى تغيير عدد العقد في تجمع عقدة. يمكن تحجيم عدد العقد لأعلى أو لأسفل.
تحجيم عدد العقد في تجمع عقدة باستخدام
az aks node pool scale
الأمر .az aks nodepool scale \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --node-count 5 \ --no-wait
سرد حالة تجمعات العقد باستخدام
az aks node pool list
الأمر .az aks nodepool list --resource-group myResourceGroup --cluster-name myAKSCluster
يظهر إخراج المثال التالي أن mynodepool في حالة التحجيم مع عدد جديد من خمس عقد:
[ { ... "count": 5, ... "name": "mynodepool", "orchestratorVersion": "1.15.7", ... "provisioningState": "Scaling", ... "vmSize": "Standard_DS2_v2", ... }, { ... "count": 2, ... "name": "nodepool1", "orchestratorVersion": "1.15.7", ... "provisioningState": "Succeeded", ... "vmSize": "Standard_DS2_v2", ... } ]
يستغرق بضع دقائق لإكمال عملية المقياس.
تحجيم تجمع عقدة معين تلقائيا باستخدام مقياس المجموعة التلقائي
تقدم AKS ميزة منفصلة لتوسيع نطاق تجمعات العقد تلقائيًّا باستخدام ميزة تسمى مقياس الكتلة التلقائي. يمكنك تمكين هذه الميزة مع الحد الأدنى والحد الأقصى الفريد لعدد المقياس لكل تجمع عقدة.
لمزيد من المعلومات، راجع استخدام مقياس المجموعة التلقائي.
إزالة أجهزة ظاهرية معينة في تجمع العقدة الموجود (معاينة)
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
تسجيل الملحق أو تحديثه
aks-preview
az extension add
باستخدام الأمر أوaz extension update
.# Register the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
سرد العقد الموجودة باستخدام
kubectl get nodes
الأمر .kubectl get nodes
يجب أن يبدو الإخراج مشابها لإخراج المثال التالي:
NAME STATUS ROLES AGE VERSION aks-mynodepool-20823458-vmss000000 Ready agent 63m v1.21.9 aks-mynodepool-20823458-vmss000001 Ready agent 63m v1.21.9 aks-mynodepool-20823458-vmss000002 Ready agent 63m v1.21.9
احذف الأجهزة الظاهرية المحددة باستخدام
az aks nodepool delete-machines
الأمر . تأكد من استبدال العناصر النائبة بقيمك الخاصة.az aks nodepool delete-machines \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> --machine-names <vm-name-1> <vm-name-2>
تحقق من حذف الأجهزة الظاهرية بنجاح باستخدام
kubectl get nodes
الأمر .kubectl get nodes
يجب ألا يتضمن الإخراج الأجهزة الظاهرية التي حددتها في
az aks nodepool delete-machines
الأمر.
إقران مجموعات حجز السعة بتجمعات العقد
مع تغير متطلبات حمل العمل الخاص بك، يمكنك إقران مجموعات حجز السعة الحالية بتجمعات العقد لضمان السعة المخصصة لتجمعات العقد الخاصة بك.
المتطلبات الأساسية لاستخدام مجموعات حجز السعة مع AKS
استخدم إصدار CLI 2.56 أو أعلى وإصدار واجهة برمجة التطبيقات 2023-10-01 أو أعلى.
يجب أن تكون مجموعة حجز السعة موجودة بالفعل ويجب أن تحتوي على حجز سعة واحد على الأقل، وإلا تتم إضافة تجمع العقدة إلى المجموعة مع تحذير ولا يتم إقران مجموعة حجز السعة. لمزيد من المعلومات، راجع مجموعات حجز السعة.
تحتاج إلى إنشاء هوية مدارة معينة من قبل المستخدم لمجموعة الموارد التي تحتوي على مجموعة حجز السعة (CRG). لن تعمل الهويات المدارة المعينة من قبل النظام لهذه الميزة. في المثال التالي، استبدل متغيرات البيئة بالقيم الخاصة بك.
IDENTITY_NAME=myID RG_NAME=myResourceGroup CLUSTER_NAME=myAKSCluster VM_SKU=Standard_D4s_v3 NODE_COUNT=2 LOCATION=westus2 az identity create --name $IDENTITY_NAME --resource-group $RG_NAME IDENTITY_ID=$(az identity show --name $IDENTITY_NAME --resource-group $RG_NAME --query identity.id -o tsv)
تحتاج إلى تعيين
Contributor
الدور إلى الهوية المعينة من قبل المستخدم التي تم إنشاؤها أعلاه. لمزيد من التفاصيل، راجع خطوات تعيين دور Azure.إنشاء مجموعة جديدة وتعيين الهوية التي تم إنشاؤها حديثا.
az aks create \ --resource-group $RG_NAME \ --name $CLUSTER_NAME \ --location $LOCATION \ --node-vm-size $VM_SKU --node-count $NODE_COUNT \ --assign-identity $IDENTITY_ID \ --generate-ssh-keys
يمكنك أيضا تعيين الهوية المدارة من قبل المستخدم على مجموعة مدارة موجودة مع أمر التحديث.
az aks update \ --resource-group $RG_NAME \ --name $CLUSTER_NAME \ --location $LOCATION \ --node-vm-size $VM_SKU \ --node-count $NODE_COUNT \ --enable-managed-identity \ --assign-identity $IDENTITY_ID
إقران مجموعة حجز سعة موجودة بتجمع عقدة
إقران مجموعة حجز سعة موجودة بتجمع عقدة az aks nodepool add
باستخدام الأمر وتحديد مجموعة حجز السعة بالعلامة --crg-id
. يفترض المثال التالي أن لديك CRG يسمى "myCRG".
RG_NAME=myResourceGroup
CLUSTER_NAME=myAKSCluster
NODEPOOL_NAME=myNodepool
CRG_NAME=myCRG
CRG_ID=$(az capacity reservation group show --capacity-reservation-group $CRG_NAME --resource-group $RG_NAME --query id -o tsv)
az aks nodepool add --resource-group $RG_NAME --cluster-name $CLUSTER_NAME --name $NODEPOOL_NAME --crg-id $CRG_ID
إقران مجموعة حجز سعة موجودة بتجمع عقدة نظام
لربط مجموعة حجز سعة موجودة بتجمع عقدة نظام، قم بإقران المجموعة بالهوية المعينة من قبل المستخدم بدور المساهم على CRG الخاص بك وCRG نفسه أثناء إنشاء نظام المجموعة. az aks create
استخدم الأمر مع --assign-identity
علامات و--crg-id
.
IDENTITY_NAME=myID
RG_NAME=myResourceGroup
CLUSTER_NAME=myAKSCluster
NODEPOOL_NAME=myNodepool
CRG_NAME=myCRG
CRG_ID=$(az capacity reservation group show --capacity-reservation-group $CRG_NAME --resource-group $RG_NAME --query id -o tsv)
IDENTITY_ID=$(az identity show --name $IDENTITY_NAME --resource-group $RG_NAME --query identity.id -o tsv)
az aks create \
--resource-group $RG_NAME \
--cluster-name $CLUSTER_NAME \
--crg-id $CRG_ID \
--assign-identity $IDENTITY_ID \
--generate-ssh-keys
إشعار
يؤدي حذف تجمع عقدة ضمنيا إلى فصل تجمع العقدة هذا عن أي مجموعة حجز سعة مقترنة قبل حذف تجمع العقدة. يؤدي حذف نظام مجموعة ضمنيا إلى فصل كافة تجمعات العقد في تلك المجموعة عن مجموعات حجز السعة المقترنة بها.
إشعار
لا يمكنك تحديث تجمع عقدة موجود مع مجموعة حجز سعة. النهج الموصى به هو إقران مجموعة حجز السعة أثناء إنشاء تجمع العقدة.
قم بتحديد حجم VM لتجمع عقدة
قد تحتاج إلى إنشاء تجمعات عقدة بأحجام وقدرات مختلفة للجهاز الظاهري. على سبيل المثال، يمكنك إنشاء تجمع عقدة يحتوي على عقد ذات كميات كبيرة من وحدة المعالجة المركزية أو الذاكرة أو تجمع عقدة يوفر دعم وحدة معالجة الرسومات. في القسم التالي، يمكنك استخدام العيوب والتفاوتات لإخبار مجدول Kubernetes بكيفية الحد من الوصول إلى الحجيرات التي يمكن تشغيلها على هذه العقد.
في المثال التالي، نقوم بإنشاء تجمع عقدة يستند إلى وحدة معالجة الرسومات يستخدم حجم الجهاز الظاهري Standard_NC6s_v3 . يتم تشغيل هذه VMs بواسطة بطاقة NVIDIA Tesla K80. للحصول على معلومات، راجع الأحجام المتوفرة لأجهزة Linux الظاهرية في Azure.
إنشاء تجمع عقدة
az aks node pool add
باستخدام الأمر . حدد اسم gpunodepool واستخدم المعلمة--node-vm-size
لتحديد حجم Standard_NC6 .az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunodepool \ --node-count 1 \ --node-vm-size Standard_NC6s_v3 \ --no-wait
تحقق من حالة تجمع العقدة
az aks nodepool list
باستخدام الأمر .az aks nodepool list --resource-group myResourceGroup --cluster-name myAKSCluster
يظهر إخراج المثال التالي تجمع عقدة gpunodepool هو إنشاء العقد باستخدام VmSize المحدد:
[ { ... "count": 1, ... "name": "gpunodepool", "orchestratorVersion": "1.15.7", ... "provisioningState": "Creating", ... "vmSize": "Standard_NC6s_v3", ... }, { ... "count": 2, ... "name": "nodepool1", "orchestratorVersion": "1.15.7", ... "provisioningState": "Succeeded", ... "vmSize": "Standard_DS2_v2", ... } ]
يستغرق بضع دقائق لـ gpunodepool أن يتم إنشاؤه بنجاح.
قم بتحديد ملوث أو تسمية أو علامة لتجمع عقدة
عند إنشاء تجمع عقدة، يمكنك إضافة العيوب أو التسميات أو العلامات إليه. عند إضافة ملون أو تسمية أو علامة، تحصل كافة العقد داخل تجمع العقدة هذا أيضًا على ذلك الملون أو تسمية أو علامة.
هام
إضافة ملونات أو التسميات أو علامات إلى العقد يجب أن يتم لتجمع العقدة بأكمله باستخدام az aks nodepool
. لا نوصي باستخدام kubectl
لتطبيق العيوب أو التسميات أو العلامات على العقد الفردية في تجمع عقدة.
تعيين تلوث تجمع العقدة
يدعم AKS نوعين من تلوثات العقدة: تلوثات العقدة وملامح تهيئة العقدة (معاينة). لمزيد من المعلومات، راجع استخدام تشوهات العقدة في نظام مجموعة Azure Kubernetes Service (AKS).
لمزيد من المعلومات حول كيفية استخدام ميزات Kubernetes المجدولة المتقدمة، راجع أفضل الممارسات لميزات المجدول المتقدمة في AKS
تعيين تفاوتات تجمع العقدة
في الخطوة السابقة، قمت بتطبيق sku=gpu:NoSchedule taint عند إنشاء تجمع العقدة. يستخدم مثال بيان YAML التالي تفاوتا للسماح لجدولة Kubernetes بتشغيل جراب NGINX على عقدة في تجمع العقدة هذا.
إنشاء ملف مسمى
nginx-toleration.yaml
ونسخ YAML في المثال التالي:apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - image: mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine name: mypod resources: requests: cpu: 100m memory: 128Mi limits: cpu: 1 memory: 2G tolerations: - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule"
جدولة الجراب باستخدام
kubectl apply
الأمر .kubectl apply -f nginx-toleration.yaml
يستغرق بضع ثوان لجدولة جراب وسحب نسخة NGINX.
تحقق من الحالة باستخدام
kubectl describe pod
الأمر .kubectl describe pod mypod
يظهر إخراج المثال المكثف التالي تسامح sku =gpu:NoSchedule. في قسم الأحداث، قام المجدول بتعيين الجراب إلى عقدة aks-taintnp-28993262-vmss000000:
[...] Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300s sku=gpu:NoSchedule Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 4m48s default-scheduler Successfully assigned default/mypod to aks-taintnp-28993262-vmss000000 Normal Pulling 4m47s kubelet pulling image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine" Normal Pulled 4m43s kubelet Successfully pulled image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine" Normal Created 4m40s kubelet Created container Normal Started 4m40s kubelet Started container
يمكن جدولة القرون فقط التي لديها هذا التسامح تطبيقها على العقد في taintnp. تتم جدولة أي pods أخرى في تجمع عقدة nodepool1 . إذا قمت بإنشاء المزيد من تجمعات العقد، يمكنك استخدام العيوب والتفاوتات للحد من الجرابات التي يمكن جدولتها على موارد العقدة هذه.
تعيين تسميات تجمع العقدة
لمزيد من المعلومات، راجع استخدام التسميات في نظام مجموعة Azure Kubernetes Service (AKS).
تعيين علامات Azure لتجمع العقدة
لمزيد من المعلومات، راجع استخدام علامات Azure في خدمة Azure Kubernetes (AKS).
إدارة تجمعات العقد باستخدام قالب إدارة الموارد
عند استخدام قالب Azure Resource Manager لإنشاء الموارد وإدارتها، يمكنك تغيير الإعدادات في القالب وإعادة توزيعه لتحديث الموارد. مع تجمعات عقدة AKS، لا يمكنك تحديث ملف تعريف تجمع العقدة الأولي بمجرد إنشاء نظام مجموعة AKS. يعني هذا السلوك أنه لا يمكنك تحديث قالب Resource Manager موجود، وإجراء تغيير على تجمعات العقد، ثم إعادة نشر القالب. بدلا من ذلك، يجب إنشاء قالب Resource Manager منفصل يقوم بتحديث تجمعات العقد لمجموعة AKS الموجودة.
إنشاء قالب، مثل
aks-agentpools.json
، ولصق في بيان المثال التالي. تأكد من تحرير القيم حسب الحاجة. تكوين قالب المثال هذا الإعدادات التالية:- قم بتحديث تجمع عقدة Linux المسمى myagentpool لتشغيل ثلاث عقد.
- تعيين العقد في تجمع عقدة لتشغيل Kubernetes الإصدار 1.15.7.
- قم بتعريف حجم العقدة على أنه Standard_DS2_v2.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "clusterName": { "type": "string", "metadata": { "description": "The name of your existing AKS cluster." } }, "location": { "type": "string", "metadata": { "description": "The location of your existing AKS cluster." } }, "agentPoolName": { "type": "string", "defaultValue": "myagentpool", "metadata": { "description": "The name of the agent pool to create or update." } }, "vnetSubnetId": { "type": "string", "defaultValue": "", "metadata": { "description": "The Vnet subnet resource ID for your existing AKS cluster." } } }, "variables": { "apiVersion": { "aks": "2020-01-01" }, "agentPoolProfiles": { "maxPods": 30, "osDiskSizeGB": 0, "agentCount": 3, "agentVmSize": "Standard_DS2_v2", "osType": "Linux", "vnetSubnetId": "[parameters('vnetSubnetId')]" } }, "resources": [ { "apiVersion": "2020-01-01", "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'),'/', parameters('agentPoolName'))]", "location": "[parameters('location')]", "properties": { "maxPods": "[variables('agentPoolProfiles').maxPods]", "osDiskSizeGB": "[variables('agentPoolProfiles').osDiskSizeGB]", "count": "[variables('agentPoolProfiles').agentCount]", "vmSize": "[variables('agentPoolProfiles').agentVmSize]", "osType": "[variables('agentPoolProfiles').osType]", "type": "VirtualMachineScaleSets", "vnetSubnetID": "[variables('agentPoolProfiles').vnetSubnetId]", "orchestratorVersion": "1.15.7" } } ] }
انشر القالب باستخدام
az deployment group create
الأمر .az deployment group create \ --resource-group myResourceGroup \ --template-file aks-agentpools.json
تلميح
يمكنك إضافة علامة إلى تجمع العقدة الخاص بك عن طريق إضافة خاصية العلامة في القالب، كما هو موضح في المثال التالي:
... "resources": [ { ... "properties": { ... "tags": { "name1": "val1" }, ... } } ...
قد يستغرق الأمر بضع دقائق لتحديث نظام المجموعة AKS استنادًا إلى إعدادات تجمع العقد والعمليات التي تحددها في قالب إدارة الموارد.
الخطوات التالية
- لمزيد من المعلومات حول كيفية التحكم في وحدات pod عبر تجمعات العقدة، راجع أفضل الممارسات للميزات المتطورة للمجدول في AKS.
- استخدم مجموعات وضع القرب لتقليل زمن الوصول لتطبيقات AKS.
- استخدم عناوين IP العامة على مستوى المثيل لتمكين العقد الخاصة بك من خدمة نسبة استخدام الشبكة مباشرة.
Azure Kubernetes Service