إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: ✔️ AKS Automatic ✔️ AKS Standard
أثناء إدارة المجموعات في Azure Kubernetes Service (AKS)، غالبا ما تحتاج إلى عزل الفرق وأحمال العمل. باستخدام العزل المنطقي، يمكنك استخدام نظام مجموعة AKS واحد لأحمال عمل أو فرق أو بيئات متعددة. تشكل مساحات أسماء Kubernetes حدود العزل المنطقي لأحمال العمل والموارد. يتضمن إجراء العزل المنطقي تنفيذ البرامج النصية والعمليات لإنشاء مساحات الأسماء، وتعيين حدود الموارد، وتطبيق نهج الشبكة، ومنح وصول الفريق عبر التحكم في الوصول المستند إلى الدور. تعرف على كيفية استخدام مساحات الأسماء المدارة في Azure Kubernetes Service (AKS) لتبسيط إدارة مساحة الاسم وتعدد الإيجارات لنظام المجموعة وعزل الموارد.
عادة ما يوفر الفصل المنطقي للمجموعات كثافة جراب أعلى من المجموعات المعزولة ماديا، مع سعة حساب أقل فائضة في حالة الخمول في نظام المجموعة. عند دمجها مع التحجيم التلقائي لنظام المجموعة أو التزويد التلقائي للعقدة، يمكنك توسيع نطاق عدد العقد لأعلى أو لأسفل لتلبية المتطلبات. يقلل نهج أفضل الممارسات هذا التكاليف عن طريق تشغيل العدد المطلوب فقط من العقد.
نهج الشبكة
سياسات الشبكة هي موارد من Kubernetes يمكنك استخدامها للتحكم في تدفق الحركة بين الكبسولات، ومساحات الأسماء، والنقاط الخارجية. تسمح لك سياسات الشبكة بتحديد قواعد حركة مرور الدخول (الواردة) والخروج (الصادرة)، مما يضمن السماح بالاتصال المصرح به فقط. من خلال تطبيق نهج الشبكة، يمكنك تحسين أمان أعباء العمل وعزلها داخل نظام المجموعة الخاص بك.
إشعار
تختار قاعدة نهج شبكة الدخول الافتراضية للسماح لنفس مساحة الاسم موقفا آمنا بشكل افتراضي. إذا كنت بحاجة إلى إمكانية الوصول إلى خدمات Kubernetes أو الإدخالات أو البوابات من خارج مساحة الاسم حيث يتم نشرها، على سبيل المثال من وحدة تحكم الدخول المنشورة في مساحة اسم منفصلة، فأنت بحاجة إلى تحديد السماح بالكل. يمكنك بعد ذلك تطبيق سياسة الشبكة الخاصة بك لتقييد الدخول ليكون من تلك المساحة فقط.
تأتي مساحات الأسماء المدارة مع مجموعة من النهج المضمنة.
- السماح بالكل: يسمح بجميع زيارات الشبكة.
- السماح بمساحة الاسم نفسها: يسمح بجميع حركة مرور الشبكة داخل مساحة الاسم نفسها.
- رفض الكل: يرفض كل حركة مرور الشبكة.
يمكنك تطبيق أي من النهج المضمنة على كل من قواعد الدخولوالخروج ولها القيم الافتراضية التالية.
| النهج | القيمة الافتراضية |
|---|---|
| مدخل | السماح بنفس مساحة الاسم |
| Egress | السماح بالكل |
إشعار
يمكن للمستخدمين الذين لديهم Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write إجراء مثل Azure Kubernetes Service RBAC Writer، على دور Microsoft Entra ID الذي تم تعيينه لهم إضافة المزيد من سياسات الشبكة عبر واجهة برمجة تطبيقات Kubernetes.
على سبيل المثال، إذا طبق Deny All مسؤول سياسة للدخول/الخروج، وطبق Allow المستخدم سياسة لمساحة اسم عبر واجهة برمجة تطبيقات Kubernetes، فإن السياسة Allow تأخذ الأولوية على Deny All السياسة، ويسمح لحركة المرور بتدفق إلى مساحة الاسم.
الحصص النسبية للموارد
حصص الموارد هي موارد Kubernetes التي يتم استخدامها لإدارة والحد من استهلاك الموارد لمساحات الأسماء داخل نظام مجموعة. تسمح هذه الأنظمة للمسؤولين بتحديد قيود على كمية وحدة المعالجة المركزية أو الذاكرة أو التخزين أو الموارد الأخرى التي تستخدمها أحمال العمل في مساحة الاسم. من خلال تطبيق حصص الموارد، يمكنك ضمان التوزيع العادل للموارد، ومنع الإفراط في استخدام الموارد، والحفاظ على استقرار نظام المجموعة.
يمكن إنشاء مساحات الأسماء المدارة باستخدام حصص الموارد التالية:
- طلبات وحدة المعالجة المركزية وحدودها: حدد الحد الأدنى والحد الأقصى لمقدار موارد وحدة المعالجة المركزية التي يمكن أن تطلبها أحمال العمل في مساحة الاسم أو تستهلكها. تضمن الحصة أن أحمال العمل لديها موارد كافية للمعالج للعمل مع منع الإفراط في الاستخدام الذي قد يؤثر على مساحات أسماء أخرى. يتم تعريف الحصة في شكل المعالج الضخم.
-
طلبات الذاكرة وحدودها: حدد الحد الأدنى والحد الأقصى لمقدار موارد الذاكرة التي يمكن لأحمال العمل في مساحة الاسم طلبها أو استهلاكها. تساعد الحصة النسبية في الحفاظ على الاستقرار من خلال تجنب الالتزام المفرط بالذاكرة وضمان التخصيص العادل للموارد عبر مساحات الأسماء. يتم تعريف الحصة في شكل قوة اثنين من المكافئين مثل
Ei،PiTiGiMi، ، .Ki
التسميات والتعليقات التوضيحية
تسميات Kubernetes والتعليقات التوضيحية هي بيانات تعريف مرفقة بكائنات Kubernetes، مثل مساحات الأسماء، لتوفير معلومات إضافية. التسميات هي أزواج من القيم الرئيسية تستخدم لتنظيم الموارد وتحديدها، مما يتيح التجميع والاستعلام بكفاءة. تخزن التعليقات بيانات وصفية غير محددة، مثل تفاصيل التكوين أو التعليمات التشغيلية، التي تستهلكها الأدوات أو الأنظمة.
يمكنك اختياريا تعيين تسميات Kubernetes والتعليقات التوضيحية ليتم تطبيقها على مساحة الاسم.
سياسة التبني
يحدد نهج الاعتماد كيفية معالجة مساحة اسم موجودة في Kubernetes عند إنشاء مساحة اسم مدارة.
تحذير
إدخال مساحة أسماء موجودة لإدارتها يمكن أن يسبب اضطرابا. إذا كانت الحصة النسبية للموارد المطبقة أقل مما هو مطلوب بالفعل بواسطة pods، رفض عمليات النشر الجديدة والجراب التي تتجاوز الحصة النسبية. النشرات الحالية لا تتأثر، لكن يتم رفض التوسع. تطبيق سياسات الشبكة على مساحة أسماء موجودة يمكن أن يؤثر على حركة المرور الحالية. تأكد من اختبار السياسات والتحقق من صحتها لتجنب الانقطاعات غير المقصودة في الاتصال بين الجراب أو نقاط النهاية الخارجية.
يتوفر الخياران التاليان:
- أبدا: إذا كانت مساحة الاسم موجودة بالفعل في نظام المجموعة، فستشل محاولات إنشاء مساحة الاسم هذه كمساحة اسم مدارة.
- IfIdentical: تولي مساحة الاسم الحالية المراد إدارتها، شريطة عدم وجود اختلافات بين مساحة الاسم الحالية والتكوين المطلوب.
- دائما: استحوذ دائما على مساحة الاسم الموجودة المراد إدارتها، حتى إذا تم استبدال بعض الحقول في مساحة الاسم.
سياسة الحذف
يحدد نهج الحذف كيفية معالجة مساحة اسم Kubernetes عند حذف مورد مساحة الاسم المدارة.
تحذير
يؤدي حذف مساحة اسم مدارة باستخدام نهج الحذف إلى حذف كافة الموارد الموجودة داخل مساحة الاسم هذه، مثل عمليات التوزيع والخدمات وعمليات الدخول وكائنات Kubernetes الأخرى. تأكد من إجراء نسخ احتياطي أو ترحيل أي موارد مهمة قبل المتابعة.
يتوفر الخياران التاليان:
-
احتفظ: احذف مورد مساحة الاسم المدار فقط مع الحفاظ على مساحة اسم Kubernetes سليمة. بالإضافة إلى ذلك، تتم إزالة التسمية
ManagedByARMمن مساحة الاسم. - حذف: حذف كل من مورد مساحة الاسم المدارة ومساحة اسم Kubernetes معا.
الأدوار المضمنة في مساحات الأسماء المدارة
تستخدم مساحات الأسماء المدارة الأدوار المضمنة التالية لمستوى التحكم.
| الدور | الوصف |
|---|---|
| مساهم مساحة اسم خدمة Azure Kubernetes | يسمح بالوصول إلى إنشاء مساحات أسماء مدارة وتحديثها وحذفها على نظام مجموعة. |
| مستخدم مساحة اسم خدمة Azure Kubernetes | يسمح بالوصول للقراءة فقط إلى مساحة اسم مدارة على نظام مجموعة. يسمح بالوصول إلى بيانات اعتماد القائمة على مساحة الاسم. |
تستخدم مساحات الأسماء المدارة الأدوار المضمنة التالية لمستوى البيانات.
| الدور | الوصف |
|---|---|
| قارئ RBAC لخدمة Azure Kubernetes | يسمح بالوصول للقراءة فقط لرؤية معظم الكائنات في مساحة الاسم. لا يسمح بعرض الأدوار أو روابط الأدوار. لا يسمح هذا الدور بعرض الأسرار، نظرا لأن قراءة محتويات الأسرار تتيح الوصول إلى بيانات اعتماد ServiceAccount في مساحة الاسم، مما يسمح بالوصول إلى واجهة برمجة التطبيقات مثل أي ServiceAccount في مساحة الاسم (شكل من أشكال تصعيد الامتياز). |
| كاتب RBAC لخدمة Azure Kubernetes | يسمح بالوصول للقراءة/الكتابة إلى معظم الكائنات في مساحة الاسم. لا يسمح هذا الدور بعرض الأدوار أو روابط الأدوار أو تعديلها. ومع ذلك، يسمح هذا الدور بالوصول إلى الأسرار وتشغيل Pods كأي ServiceAccount في مساحة الاسم، بحيث يمكن استخدامه للحصول على مستويات الوصول إلى واجهة برمجة التطبيقات لأي ServiceAccount في مساحة الاسم. |
| مسؤول RBAC لخدمة Azure Kubernetes | يسمح بالوصول للقراءة/الكتابة إلى معظم الموارد في مساحة الاسم، بما في ذلك القدرة على إنشاء الأدوار وروابط الأدوار داخل مساحة الاسم. لا يسمح هذا الدور بالوصول للكتابة إلى الحصة النسبية للمورد أو إلى مساحة الاسم ذاتها. |
حالات استخدام مساحات الأسماء المدارة
إعداد مساحات الأسماء بشكل صحيح مع حصص أو سياسات الشبكة المرتبطة قد يكون معقدا ويستغرق وقتا طويلا. تسمح لك مساحات الأسماء المدارة بإعداد مساحات أسماء معدة مسبقا في مجموعات AKS الخاصة بك يمكنك التفاعل معها باستخدام واجهة تحكم Azure.
توضح الأقسام التالية بعض حالات الاستخدام الشائعة لمساحات الأسماء المدارة.
إدارة الفرق والموارد على AKS
لنفترض أنك مسؤول في شركة ناشئة صغيرة. لديك عنقود AKS موجه وتريد إعداد مساحات أسماء للمطورين من فرق الماليةوالشؤون القانونيةوالتصميم . أثناء إعداد بيئة شركتك، تريد التأكد من أن الوصول محكم، والموارد محددة بشكل صحيح، والبيئات منظمة بشكل صحيح.
يقوم فريق المالية باستقبال النماذج والملفات من فرق من جميع أنحاء الشركة، لكنهم يحتفظون بمعلومات حساسة يفضل ألا تغادر بيئتهم. تطبيقاتهم وسير العمل لديهم أخف من ناحية الحوسبة لكنها تستهلك الكثير من الذاكرة. نتيجة لذلك، تقرر إنشاء مساحة أسماء تسمح بدخول جميع الشبكة، وخروج الشبكة فقط داخل مساحة أسمائهم، وتحديد نطاق مواردهم وفقا لذلك. وجود تسمية لمساحة الأسماء يساعد في تحديد الفريق الذي يستخدمها بسهولة.
az aks namespace add \ --name $FINANCE_NAMESPACE \ --cluster-name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --cpu-request 250m \ --cpu-limit 500m \ --memory-request 512Mi \ --memory-limit 2Gi \ --ingress-policy AllowAll \ --egress-policy AllowSameNamespace \ --labels team=financeيتعامل الفريق القانوني بشكل أساسي مع البيانات الحساسة. تطبيقاتهم تستهلك كمية لا بأس بها من الذاكرة لكنها تتطلب موارد حوسبة قليلة. تقرر إنشاء مساحة أسماء مقيدة للغاية لكل من سياسات الدخول/الخروج، وتحدد حصص الموارد الخاصة بهم وفقا لذلك.
az aks namespace add \ --name $LEGAL_NAMESPACE \ --cluster-name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --cpu-request 250m \ --cpu-limit 500m \ --memory-request 2Gi \ --memory-limit 5Gi \ --ingress-policy DenyAll \ --egress-policy DenyAll \ --labels team=legalيحتاج فريق التصميم إلى القدرة على تدفق البيانات بحرية لعرض عملهم عبر الشركة. كما يشجعون الفرق على إرسال محتوى لهم للرجوع إليه. تطبيقاتهم مكثفة وتتطلب كمية كبيرة من الذاكرة والمعالج. تقرر أن تضع لهم مساحة أسماء محدودة جدا وتخصص لها كمية كبيرة من الموارد.
az aks namespace add \ --name $DESIGN_NAMESPACE \ --cluster-name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --cpu-request 2000m \ --cpu-limit 2500m \ --memory-request 5Gi \ --memory-limit 8Gi \ --ingress-policy AllowAll \ --egress-policy AllowAll \ --labels team=design
مع إعداد هذه المساحات الأسماء، لديك الآن بيئات للفرق الثلاثة في مؤسستك التي يجب أن تسمح لكل فريق بالبدء في بيئة تناسب احتياجاتهم بشكل أفضل. يمكن للمسؤولين استخدام استدعاءات Azure CLI لتحديث المساحات الاسمية حسب الحاجة.
عرض مساحات الأسماء المدارة
مع زيادة عدد الفرق التي تتعامل معها، أو مع نمو منظمتك، قد تجد نفسك بحاجة لمراجعة مساحات الأسماء التي أنشأتها.
لنفترض أنك تريد مراجعة مساحات الأسماء في مجموعتك من القسم السابق للتأكد من وجود ثلاث مساحات أسماء.
استخدم الأمر az aks namespace list لمراجعة مساحات الأسماء الخاصة بك.
az aks namespace list \
--cluster-name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--output table
يجب أن يبدو الإخراج مشابها لإخراج المثال التالي:
Name ResourceGroup Location
------------------ --------------- ----------
$CLUSTER_NAME/$DESIGN_NAMESPACE $RESOURCE_GROUP <LOCATION>
$CLUSTER_NAME/$LEGAL_NAMESPACE $RESOURCE_GROUP <LOCATION>
$CLUSTER_NAME/$FINANCE_NAMESPACE $RESOURCE_GROUP <LOCATION>
التحكم في الوصول إلى مساحات الأسماء المدارة
يمكنك أيضا استخدام أدوار Azure RBAC، المخصصة لكل مساحة اسم، لتحديد أي المستخدمين لديهم إمكانية الوصول إلى بعض الإجراءات داخل مساحة الاسم. مع التكوين المناسب، يمكنك التأكد من حصول المستخدمين على كل الوصول الذي يحتاجونه داخل مساحة الاسم، مع تقييد وصولهم إلى مساحات أسماء أخرى أو موارد على مستوى العنقود.
الخطوات التالية
- تعرف على كيفية إنشاء مساحات الأسماء المدارة واستخدامها على Azure Kubernetes Service (AKS).
- تعرف على مساحات الأسماء المدارة متعددة العناقيد باستخدام Azure Kubernetes Fleet Manager.