إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
مع خدمة Azure Kubernetes (AKS)، يمكنك تعيين Azure العلامات على مجموعة AKS ومواردها ذات الصلة باستخدام Azure Resource Manager و Azure CLI. يمكنك أيضا استخدام كوبيرنيتس (Kubernetes) لتعيين علامات Azure لبعض الموارد. تعد Azure العلامات موردا مفيدا لتتبع العمليات التجارية، مثل chargeback.
تشرح هذه المقالة كيفية تعيين علامات Azure لمجموعات AKS والموارد ذات الصلة.
قبل البدء
راجع المعلومات التالية قبل البدء:
- تنطبق العلامات التي تم تعيينها على نظام مجموعة AKS على جميع الموارد المتعلقة بالمجموعة، ولكن ليس تجمعات العقد. هذه العملية تستبدل قيم المفاتيح الموجودة.
- العلامات التي تم تعيينها على تجمع عقدة فحسب تنطبق على الموارد المتعلقة بتجمع العقدة هذا. هذه العملية تستبدل قيم المفاتيح الموجودة. الموارد خارج تجمع العقدة هذا لا تتأثر، بما في ذلك الموارد لبقية المجموعة وتجمعات العقد الأخرى.
- عناوين IP العامة والملفات والأقراص يمكن أن تحتوي على علامات تم تعيينها بواسطة Kubernetes من خلال بيان Kubernetes. بالنسبة للأقراص والملفات التي يتم إنشاؤها عبر
StorageClass، يتم تطبيق معاملtagsعلى مورد Azure الأساسي عندما يقوم AKS بتوفير الحجم. تحديث الإصدارStorageClassاللاحق يؤثر فقط على الأحجام التي تم توفيرها حديثا. عند إزالة عناوين IP أو الملفات أو الأقراص العامة من خلال Kubernetes، تتم إزالة أي علامات تم تعيينها بواسطة Kubernetes. لا تتأثر العلامات الموجودة على تلك الموارد التي لا يتتبعها Kubernetes.
المتطلبات الأساسية
- إصدار Azure CLI 2.0.59 أو أحدث. للعثور على الإصدار الخاص بك، قم بتشغيل
az --version. إذا كنت بحاجة لتثبيته أو تحديث نسختك، راجع تثبيت Azure CLI. - Kubernetes الإصدار 1.20 أو أحدث.
القيود
- وسوم Azure تحتوي على مفاتيح غير حساسة لعلامات الحروف للعمليات، مثل عند استرجاع علامة عن طريق البحث عن المفتاح. في هذه الحالة، يتم تحديث علامة بالمفتاح المحدد أو استردادها بغض النظر عن الغلاف. قيم العلامة حساسة لحالة الأحرف.
- في AKS، إذا تم تعيين علامات متعددة مع مفاتيح متطابقة لكن بشكل كتابة مختلف، العلامات المستخدمة بالترتيب الأبجدي. على سبيل المثال،
{"Key1": "val1", "kEy1": "val2", "key1": "val3"}ينتجKey1ويتمval1تعيينه. - بالنسبة للموارد المشتركة، لا يمكن للعلامات تحديد الانقسام في استخدام الموارد بمفردها.
- بالنسبة للأقراص والملفات التي تدعم وحدة تخزين مستمرة من Kubernetes،
PersistentVolumeتكون المواصفات ثابتة بعد الإنشاء. تعديل أو تحديث ملف موجودPersistentVolumeلتغيير الوسوم أو سمات الحجم الأخرى يفشل في ذلك. - تحديث العلامات مباشرة على مورد Azure الأساسي لا يزامن قيم الوسوم مع Kubernetes
PersistentVolumeYAML أو البيانات الوصفية.
وسوم Azure وعناقيد AKS
عند إنشاء أو تحديث عنقود AKS باستخدام معامل --tags، يتم تعيين العلامات Azure التالية التي حددتها:
- مجموعة AKS نفسها والموارد ذات الصلة:
- جدول مسار
- عنوان IP عام
- موازن التحميل
- مجموعة أمان الشبكة
- الشبكة الظاهرية
- kubelet msi المدار بواسطة AKS
- الوظيفة الإضافية التي تديرها AKS msi
- Private DNS المنطقة المرتبطة ب التجمع الخاص
- نقطة النهاية الخاصة المقترنة بالمجموعة الخاصة
- مجموعة موارد العقدة
إشعار
Azure Private DNS يدعم فقط 15 علامة. لمزيد من المعلومات، راجع موارد العلامة.
إنشاء علامات أو تحديثها على نظام مجموعة AKS
قم بإنشاء مجموعة AKS جديدة
هام
إذا كنت تستخدم موارد موجودة عند إنشاء مجموعة جديدة، مثل عنوان IP أو جدول التوجيه، فإن az aks create الأمر يحل محل مجموعة العلامات. إذا قمت بحذف نظام المجموعة لاحقا، فستتم إزالة أي علامات تم تعيينها بواسطة نظام المجموعة.
أنشئ مجموعة وخصص Azure وسوم باستخدام أمر
az aks createمع معامل--tags.إشعار
لتعيين العلامات على تجمع العقدة الأولي، ومجموعة مقياس الجهاز الظاهري، وكل مثيل لمجموعة مقياس الجهاز الظاهري المقترن بتجمع العقدة الأولي، يمكنك أيضا تعيين المعلمة
--nodepool-tags.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --tags dept=IT costcenter=9999 \ --generate-ssh-keysتحقق من تطبيق العلامات على نظام المجموعة والموارد ذات الصلة باستخدام
az aks showالأمر .az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'يظهر إخراج المثال التالي العلامات المطبقة على نظام المجموعة:
{ "clusterTags": { "dept": "IT", "costcenter": "9999" } }
تحديث نظام مجموعة AKS موجود
هام
يؤدي تعيين العلامات على نظام مجموعة باستخدام az aks update الأمر إلى الكتابة فوق مجموعة العلامات. على سبيل المثال، إذا كانت مجموعتك تحتوي على العلامات dept=IT و costcenter=9999، وكنت تستخدم az aks update مع فريق العلامات =alpha و costcenter=1234، فإن القائمة الجديدة للعلامات ستكون team=alpha و costcenter=1234.
تحديث العلامات على نظام مجموعة موجود باستخدام
az aks updateالأمر مع المعلمة--tags.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --tags team=alpha costcenter=1234تحقق من تطبيق العلامات على نظام المجموعة والموارد ذات الصلة باستخدام
az aks showالأمر .az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'يظهر إخراج المثال التالي العلامات المطبقة على نظام المجموعة:
{ "clusterTags": { "team": "alpha", "costcenter": "1234" } }
إضافة علامات إلى تجمعات العقد
يمكنك تطبيق وسم Azure على مجموعة عقد جديدة أو موجودة في عنقود AKS الخاص بك. يتم تطبيق العلامات المطبقة على تجمع عقدة على كل عقدة داخل تجمع العقدة ويتم استمرارها من خلال الترقيات. كما يتم تطبيق العلامات على العقد الجديدة المضافة إلى تجمع عقدة أثناء عمليات توسعة أفقية. يمكن أن تساعد إضافة علامة في مهام مثل تتبع النهج أو تقدير التكلفة.
عند إنشاء تجمع عقدة أو تحديثه باستخدام المعلمة --tags ، يتم تعيين العلامات التي تحددها إلى الموارد التالية:
- تجمع العقدة.
- مجموعة مقياس الجهاز الظاهري وكل مثيل لمجموعة مقياس الجهاز الظاهري المرتبط بتجمع العقدة.
إنشاء تجمع عقدة جديد
أنشئ تجمع عقد مع وسم Azure باستخدام أمر
az aks nodepool addمع معامل--tags.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name tagnodepool \ --node-count 1 \ --tags abtest=a costcenter=5555 \ --no-waitتحقق من تطبيق العلامات على تجمع العقدة
az aks showباستخدام الأمر .az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'يظهر إخراج المثال التالي العلامات المطبقة على تجمع العقدة:
[ { "nodepoolName": "nodepool1", "tags": null }, { "nodepoolName": "tagnodepool", "tags": { "abtest": "a", "costcenter": "5555" } } ]
تحديث تجمع عقدة موجود
هام
يؤدي تعيين العلامات على تجمع عقدة az aks nodepool update باستخدام الأمر إلى الكتابة فوق مجموعة العلامات. على سبيل المثال، إذا كان تجمع العقدة يحتوي على العلامات abtest=a وcostcenter=5555، وتستخدم az aks nodepool update مع العلامات appversion=0.0.2 وcostcenter=4444، فإن القائمة الجديدة للعلامات ستكون appversion=0.0.2 وcostcenter=4444.
قم بتحديث مجموعة العقد بعلامة Azure باستخدام أمر
az aks nodepool update.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name tagnodepool \ --tags appversion=0.0.2 costcenter=4444 \ --no-waitتحقق من تطبيق العلامات على تجمع العقدة باستخدام
az aks showالأمر .az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'يظهر إخراج المثال التالي العلامات المطبقة على تجمع العقدة:
[ { "nodepoolName": "nodepool1", "tags": null }, { "nodepoolName": "tagnodepool", "tags": { "appversion": "0.0.2", "costcenter": "4444" } } ]
إضافة علامات باستخدام Kubernetes
هام
يؤدي تعيين العلامات على الملفات والأقراص وIPs العامة باستخدام Kubernetes إلى تحديث مجموعة العلامات. على سبيل المثال، إذا كان القرص يحتوي على العلامات dept=IT وcostcenter=5555، وكنت تستخدم Kubernetes لتعيين فريق العلامات =beta وcostcenter=3333، ستكون قائمة العلامات الجديدة dept=IT وteam=beta وcostcenter=3333.
تحتفظ أي تحديثات تجريها على العلامات من خلال Kubernetes بالقيمة التي تم تعيينها من خلال Kubernetes. على سبيل المثال، إذا كان القرص يحتوي على العلامات dept=IT وcostcenter=5555 التي تم تعيينها بواسطة Kubernetes، وتستخدم المدخل لتعيين فريق العلامات team=beta وcostcenter=3333، ستكون قائمة العلامات الجديدة dept=IT وteam=beta وcostcenter=5555. إذا أزلت بعد ذلك القرص من خلال Kubernetes، فسيكون لدى القرص فريق العلامة =beta.
بالنسبة للأقراص والملفات التي تدعم وحدة تخزين دائمة، tags تكون القيمة في a StorageClass إعداد وقت التجهيز. بعد إنشاء الحجم، يصبح التخصص PersistentVolume غير قابل للتغيير، لذا فإن تعديل أو تحديث ال PV لتغيير العلامات أو سمات الحجم الأخرى يفشل. التغييرات التي تجريها مباشرة على مورد Azure الأساسي لا تزامن مع ملف YAML أو البيانات الوصفية في PV.
يمكنك تطبيق علامات Azure على عناوين IP العامة والأقراص والملفات باستخدام ملف Kubernetes.
بالنسبة إلى عناوين IP العامة، استخدم service.beta.kubernetes.io/azure-pip-tags ضمن التعليقات التوضيحية. على سبيل المثال:
apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/azure-pip-tags: costcenter=3333,team=beta spec: ...بالنسبة للملفات والأقراص، استخدم العلامات ضمن المعلمات. على سبيل المثال:
--- apiVersion: storage.k8s.io/v1 ... parameters: ... tags: costcenter=3333,team=beta ...
تحديث العلامات للأحجام الدائمة الموجودة
لتحديث العلامات لحجم دائم مدعوم بالقرص أو مدعوم بالملفات، قم بتحديث العلامات على المورد Azure الأساسي بدلا من تحرير PersistentVolume. هذه العملية لا تقطع التركيبات أو الكبسولات أو الوصول إلى البيانات الموجودة.
بالنسبة للوحدات الدائمة المدعومة ب Azure Disk، قم بتحديث القرص المدار مباشرة. على سبيل المثال:
az disk update \ --name myManagedDisk \ --resource-group MC_myResourceGroup_myAKSCluster_eastus \ --set tags.abc=ABC123بالنسبة للأحجام الدائمة المدعومة من ملفات Azure، قم بتحديث حساب التخزين مباشرة. على سبيل المثال:
az storage account update \ --name mystorageaccount \ --resource-group MC_myResourceGroup_myAKSCluster_eastus \ --set tags.abc=ABC123
التغييرات تؤثر StorageClass فقط على الأحجام التي تم توفيرها حديثا ولا تحدث الأحجام الدائمة الموجودة.
الخطوات التالية
تعرف على المزيد حول استخدام التسميات في نظام مجموعة AKS.