استخدم التسميات في مجموعة خدمة Azure Kubernetes (AKS)
إذا كان لديك تجمعات عقد متعددة، فقد تحتاج إلى إضافة تسمية أثناء إنشاء تجمع العقدة. تعالج تسميات Kubernetes قواعد الجدولة للعقد. يمكنك إضافة تسميات إلى تجمع عقدة في أي وقت وتطبيقها على جميع العقد في تجمع العقدة.
في هذا الدليل الإرشادي، ستتعلم كيفية استخدام التسميات في نظام مجموعة Azure Kubernetes Service (AKS).
المتطلبات الأساسية
تحتاج إلى الإصدار 2.2.0 من Azure CLI أو تثبيتها وتكوينها لاحقًا. قم بتشغيل az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
إنشاء نظام مجموعة AKS باستخدام تسمية
إنشاء نظام مجموعة AKS مع تسمية باستخدام
az aks create
الأمر وتحديد المعلمة--node-labels
لتعيين التسميات الخاصة بك. يجب أن تكون التسميات زوج مفتاح/قيمة وأن يكون لها بناء جملة صالح.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 2 \ --nodepool-labels dept=IT costcenter=9000 \ --generate-ssh-keys
تحقق من تعيين التسميات باستخدام
kubectl get nodes --show-labels
الأمر .kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
إنشاء تجمع عقدة مع تسمية
إنشاء تجمع عقدة مع تسمية باستخدام
az aks nodepool add
الأمر وتحديد اسم للمعلمات--name
والتسميات للمعلمة--labels
. يجب أن تكون التسميات أيضًا زوج مفتاح/قيمة وأن يكون لها بناء جملة صالحينشئ الأمر المثال التالي تجمع عقدة يسمى labelnp مع تسميات dept=HR و costcenter=5000.
az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name labelnp \ --node-count 1 \ --labels dept=HR costcenter=5000 \ --no-wait
يظهر إخراج المثال التالي من
az aks nodepool list
الأمر تجمع عقدة labelnp هو Create nodes with the specified nodeLabels:[ { ... "count": 1, ... "name": "labelnp", "orchestratorVersion": "1.15.7", ... "provisioningState": "Creating", ... "nodeLabels": { "costcenter": "5000", "dept": "HR" }, ... }, ... ]
تحقق من تعيين التسميات باستخدام
kubectl get nodes --show-labels
الأمر .kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
تحديث التسميات على تجمعات العقد الموجودة
تحديث تسمية على تجمع عقدة موجود باستخدام
az aks nodepool update
الأمر . يؤدي تحديث التسميات على تجمعات العقد الموجودة إلى استبدال التسميات القديمة بالتسميات الجديدة. يجب أن تكون التسميات زوج مفتاح/قيمة وأن يكون لها بناء جملة صالح.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name labelnp \ --labels dept=ACCT costcenter=6000 \ --no-wait
تحقق من تعيين التسميات باستخدام
kubectl get nodes --show-labels
الأمر .kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
التسميات غير المتوفرة
تسميات النظام المحجوزة
منذ إصدار AKS 2021-08-19، أوقفت AKS القدرة على إجراء تغييرات على التسميات المحجوزة ل AKS. تؤدي محاولة تغيير هذه التسميات إلى ظهور رسالة خطأ.
التسميات التالية هي تسميات محجوزة من AKS. يحدد استخدام العقدة الظاهرية ما إذا كانت هذه التسميات يمكن أن تكون ميزة نظام مدعومة على العقد الظاهرية. لا تتوفر بعض الخصائص التي تغيرها ميزات النظام هذه على العقد الظاهرية لأنها تتطلب تعديل المضيف.
Label | القيمة | مثال/خيارات | استخدام العقدة الظاهرية |
---|---|---|---|
kubernetes.azure.com/agentpool | <اسم تجمع العامل> | nodepool1 | متشابه |
kubernetes.io/arch | amd64 | وقت التشغيل.GOARCH | غير متوفر |
kubernetes.io/os | <نوع نظام التشغيل> | Linux، Windows | متشابه |
node.kubernetes.io/instance-type | <حجم الجهاز الظاهري> | Standard_NC6s_v3 | ظاهري |
topology.kubernetes.io/region | <منطقة Azure> | غرب الولايات المتحدة2 | متشابه |
topology.kubernetes.io/zone | <منطقة Azure> | 0 | متشابه |
kubernetes.azure.com/cluster | <MC_RgName> | MC_aks_myAKSCluster_westus2 | متشابه |
kubernetes.azure.com/managedby | aks | aks | غير متوفر |
kubernetes.azure.com/mode | <الوضع> | المستخدم أو النظام | المستخدم |
kubernetes.azure.com/role | agent | المندوب | متشابه |
kubernetes.azure.com/scalesetpriority | <أولوية VMSS> | موضعي أو عادي | غير متوفر |
kubernetes.io/hostname | <اسم المضيف> | aks-nodepool-00000000-vmss000000 | متشابه |
kubernetes.azure.com/storageprofile | <ملف تعريف تخزين قرص نظام التشغيل> | مُدار | غير متوفر |
kubernetes.azure.com/storagetier | <طبقة تخزين قرص نظام التشغيل> | Premium_LRS | غير متوفر |
kubernetes.azure.com/instance-sku | <عائلة SKU> | Standard_N | ظاهري |
kubernetes.azure.com/node-image-version | <إصدار VHD> | AKSUbuntu-1804-2020.03.05 | إصدار العقدة الظاهرية |
kubernetes.azure.com/subnet | <اسم الشبكة الفرعية nodepool> | subnetName | اسم الشبكة الفرعية للعقدة الظاهرية |
kubernetes.azure.com/vnet | <اسم nodepool vnet> | vnetName | الشبكة الظاهرية للعقدة الظاهرية |
kubernetes.azure.com/ppg | <nodepool ppg name> | ppgName | غير متوفر |
kubernetes.azure.com/encrypted-set | <اسم مجموعة مشفرة nodepool> | encrypted-set-name | غير متوفر |
kubernetes.azure.com/accelerator | <مسرع الحل> | نفيديا | غير متوفر |
kubernetes.azure.com/fips_enabled | <هل تم تمكين fips؟> | صحيح | غير متوفر |
kubernetes.azure.com/os-sku | <os/sku> | إنشاء أو تحديث نظام التشغيل SKU | Linux |
- يتم تضمين نفس الشيء في الأماكن التي لا تختلف فيها القيم المتوقعة للتسميات بين تجمع عقدة قياسي وتجمع عقدة ظاهرية. نظرا لأن جرابات العقدة الظاهرية لا تعرض أي جهاز ظاهري أساسي (VM)، يتم استبدال قيم SKU للجهاز الظاهري بـ SKU Virtual.
- يشير إصدار العقدة الظاهرية إلى الإصدار الحالي من إصدار موصل Kubelet-ACI الظاهري.
- اسم الشبكة الفرعية للعقدة الظاهرية هو اسم الشبكة الفرعية حيث يتم توزيع جرابات العقدة الظاهرية في مثيل حاوية Azure (ACI).
- الشبكة الظاهرية للعقدة الظاهرية هي اسم الشبكة الظاهرية، والتي تحتوي على الشبكة الفرعية حيث يتم توزيع جرابات العقدة الظاهرية على ACI.
البادئات المحجوزة
البادئات التالية هي بادئات AKS المحجوزة ولا يمكن استخدامها لأي عقدة:
- kubernetes.azure.com/
- kubernetes.io/
لمزيد من المعلومات حول البادئات المحجوزة، راجع تسميات Kubernetes المعروفة والتعليقات التوضيحية والملامح.
تسميات مهملة
يتم التخطيط للتسميات التالية للإهمال مع إصدار Kubernetes v1.24. يجب تغيير أي مراجع تسمية إلى البديل الموصى به.
Label | البديل الموصى به | المشرف |
---|---|---|
failure-domain.beta.kubernetes.io/region | topology.kubernetes.io/region | Kubernetes |
failure-domain.beta.kubernetes.io/zone | topology.kubernetes.io/zone | Kubernetes |
beta.kubernetes.io/arch | kubernetes.io/arch | Kubernetes |
beta.kubernetes.io/instance-type | node.kubernetes.io/instance-type | Kubernetes |
beta.kubernetes.io/os | kubernetes.io/os | Kubernetes |
node-role.kubernetes.io/agent* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
kubernetes.io/role* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
Agentpool* | kubernetes.azure.com/agentpool | Azure Kubernetes Service |
StorageProfile* | kubernetes.azure.com/storageprofile | Azure Kubernetes Service |
Storagetier* | kubernetes.azure.com/storagetier | Azure Kubernetes Service |
مسرع الحل* | kubernetes.azure.com/accelerator | Azure Kubernetes Service |
*مهمل حديثا. لمزيد من المعلومات، راجع ملاحظات الإصدار.
الخطوات التالية
تعرف على المزيد حول تسميات Kubernetes في وثائق تسميات Kubernetes.
Azure Kubernetes Service