Namespaces وLabels للتنظيم
نظّموا موارد العنقود باستخدام namespaces للعزل، وlabels وselectors لتجميع الكائنات والاستعلام عنها
Namespaces وLabels للتنظيم درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
لماذا التنظيم؟
تشغّل المجموعة الحقيقية العديد من التطبيقات التابعة لفرق متعددة. وتُعد مساحات الأسماء والتسميات أداتين مضمّنتين في Kubernetes للحفاظ على ترتيب جميع هذه الكائنات وإتاحة الاستعلام عنها.
ما مساحة الأسماء؟
تمثل مساحة الأسماء مجموعة افتراضية داخل مجموعتك. ويجب أن تكون أسماء الموارد فريدة داخل مساحة الأسماء، لكن يمكن تكرار الاسم نفسه عبر مساحات أسماء مختلفة.
مساحات الأسماء الافتراضية
تأتي كل مجموعة مع عدد قليل منها: default (حيث توضع كائناتك ما لم تحدد خلاف ذلك)، وkube-system (لمكوّنات المجموعة)، وkube-public.
kubectl get namespacesإنشاء مساحة أسماء
أنشئ مساحة أسماء جديدة لفصل فريق أو بيئة، على سبيل المثال.
kubectl create namespace team-aالعمل ضمن مساحة أسماء
حدّد مساحة أسماء لكل أمر باستخدام -n، أو عيّن مساحة افتراضية لسياقك حتى لا تضطر إلى تكرار الخيار.
kubectl get pods -n team-aمساحات الأسماء لا توفر عزلاً كاملاً
تحدد مساحات الأسماء نطاق الأسماء وتتيح الحصص وRBAC، لكنها لا تعزل حركة الشبكة بمفردها؛ إذ تحتاج إلى إضافة NetworkPolicies لهذا الغرض.
ما المقصود بالتسميات؟
التسميات هي أزواج مفتاح/قيمة تُرفق بالكائنات. وتحمل دلالة للمستخدمين، مثل app: web أو env: prod، وتتيح التجميع.
metadata:
labels:
app: web
env: prodإضافة تسميات باستخدام kubectl
أضف تسمية إلى كائن موجود أثناء التشغيل.
kubectl label pod nginx tier=frontendالتحديد حسب التسمية
استعلم عن الكائنات حسب التسمية باستخدام -l. بهذه الطريقة يمكنك التعامل مع مجموعات كاملة دفعة واحدة.
kubectl get pods -l app=web,env=prodالمحددات تربط المكونات ببعضها
لا تقتصر التسميات على استخدام البشر لها؛ إذ تستخدم Services وDeployments محددات التسميات للعثور على Pods التي تديرها. ويُعد هذا الاقتران المرن من أساسيات Kubernetes.
selector:
matchLabels:
app: webالتعليقات التوضيحية مقابل التسميات
تخزن التعليقات التوضيحية أيضًا بيانات مفتاح/قيمة، لكنها مخصصة للبيانات الوصفية غير التعريفية، مثل معلومات البناء وتلميحات الأدوات، ولا تستخدمها المحددات.
اختبار سريع
ما الفرق بين التسميات ومساحات الأسماء؟
مراجعة
يمكنك الآن الحفاظ على تنظيم المجموعة:
- مساحات الأسماء تحدد نطاق الأسماء وتتيح الحصص وRBAC؛ حدّدها باستخدام
-n - التسميات هي علامات مفتاح/قيمة؛ استعلم عنها باستخدام
-l - تربط المحددات Services وDeployments بـ Pods
- تحتفظ التعليقات التوضيحية بالبيانات الوصفية غير التعريفية
يمكن توسيع هذه الأساسيات من تطبيق واحد إلى مجموعة مزدحمة تضم فرقًا متعددة.
الأسئلة الشائعة
هل درس «Namespaces وLabels للتنظيم» مجاني؟
نعم — نص درس «Namespaces وLabels للتنظيم» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «Namespaces وLabels للتنظيم»؟
نظّموا موارد العنقود باستخدام namespaces للعزل، وlabels وselectors لتجميع الكائنات والاستعلام عنها تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «Namespaces وLabels للتنظيم»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- معمارية Kubernetes
- الوحدات: أصغر الوحدات
- أساسيات أوامر kubectl
- Namespaces وLabels للتنظيم