اختبار الوحدة 4 - الخدمات والشبكات
تعليمات
يحتوي هذا الاختبار على 30 سؤالاً متعدد الخيارات للتحقق من فهمك للوحدة 4.
نصيحة: أجب عن كل سؤال قبل الكشف عن الإجابة.
السؤال 1
ما هو الدور الرئيسي للخدمة في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: عرض مجموعة من الـ Pods كخدمة شبكة مع IP ثابت
التفسير: توفر الخدمة IP ثابت واسم DNS للوصول إلى مجموعة من الـ Pods، حتى لو تغيرت IPs الـ Pods.
السؤال 2
ما هو نوع الخدمة المستخدم افتراضيًا ولا يمكن الوصول إليه إلا من داخل العنقود؟
عرض التفسير
الإجابة الصحيحة: ClusterIP
التفسير: ClusterIP هو النوع الافتراضي. يعرض الخدمة على IP داخلي للكتلة، يمكن الوصول إليه فقط من الداخل.
السؤال 3
ما هو نوع الخدمة الذي يعرض التطبيق على منفذ ثابت لكل عقدة؟
عرض التفسير
الإجابة الصحيحة: NodePort
التفسير: NodePort يعرض الخدمة على منفذ ثابت (30000-32767) لكل عقدة، مما يسمح بالوصول إلى الخدمة من خارج العنقود عبر [NodeIP]:[NodePort].
السؤال 4
ما هو نوع الخدمة الذي ينشئ تلقائيًا موازن تحميل خارجي في بيئات السحابة؟
عرض التفسير
الإجابة الصحيحة: LoadBalancer
التفسير: LoadBalancer يمد NodePort وينشئ تلقائيًا موازن تحميل خارجي في بيئات السحابة (AWS ELB، Azure Load Balancer، GCP Load Balancer).
السؤال 5
ما هو تنسيق DNS لخدمة في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: [service-name].[namespace].svc.cluster.local
التفسير: الخدمات لها اسم DNS كامل يتضمن اسم الخدمة، الـ namespace، ونطاق العنقود، مما يسمح بحل DNS في جميع أنحاء العنقود.
السؤال 6
ما هو المكون في Kubernetes الذي يدير حل DNS للخدمات؟
عرض التفسير
الإجابة الصحيحة: CoreDNS
التفسير: CoreDNS هو خدمة DNS التي تحل أسماء الخدمات وتسمح باكتشاف الخدمات عبر DNS في العنقود.
السؤال 7
ما هو الـ Endpoint في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: مورد يسرد عناوين IP للـ Pods التي تتوافق مع محددات خدمة
التفسير: يتم إنشاء الـ Endpoints تلقائيًا لكل خدمة وتحتوي على عناوين IP للـ Pods الخلفية التي تتوافق مع محددات الخدمة.
السؤال 8
ما هو الـ EndpointSlice؟
عرض التفسير
الإجابة الصحيحة: نسخة محسنة من Endpoint تسمح بإدارة كميات كبيرة من الخلفيات بشكل أكثر فعالية
التفسير: EndpointSlice هو بديل حديث لـ Endpoint الذي يقسم الـ endpoints إلى عدة slices، مما يحسن الأداء للخدمات ذات الخلفيات العديدة.
السؤال 9
ما هو وضع موازنة التحميل الافتراضي لخدمة ClusterIP؟
عرض التفسير
الإجابة الصحيحة: Round-robin عبر iptables أو IPVS (حسب تكوين kube-proxy)
التفسير: يستخدم kube-proxy iptables (افتراضيًا) أو IPVS لتوزيع الحركة بين الـ Pods الخلفية بطريقة round-robin.
السؤال 10
ما هي الخدمة headless؟
عرض التفسير
الإجابة الصحيحة: خدمة مع clusterIP: None التي تعيد مباشرة IPs الـ Pods
التفسير: خدمة headless (clusterIP: None) تسمح بالحصول مباشرة على عناوين IP للـ Pods عبر DNS، مفيدة لـ StatefulSets واكتشاف الخدمات.
السؤال 11
ما هي سياسة الشبكة؟
عرض التفسير
الإجابة الصحيحة: مورد يحدد قواعد الاتصال الشبكي بين الـ Pods
التفسير: تسمح سياسات الشبكة بالتحكم في حركة المرور الشبكية بين الـ Pods، وتعمل كجدار ناري على مستوى العنقود.
السؤال 12
ما هو الـ CNI plugin اللازم لاستخدام سياسات الشبكة؟
عرض التفسير
الإجابة الصحيحة: مكون CNI يدعم سياسات الشبكة (Calico، Cilium، Weave، إلخ.)
التفسير: ليس كل مكونات CNI تدعم سياسات الشبكة. يجب استخدام مكون متوافق مثل Calico، Cilium، أو Weave.
السؤال 13
ما هو المنفذ الافتراضي لخدمة إذا لم يتم تحديده؟
عرض التفسير
الإجابة الصحيحة: يجب تحديد المنفذ بشكل صريح
التفسير: لا يحدد Kubernetes منفذًا افتراضيًا للخدمات. يجب تحديد المنفذ في تعريف الخدمة.
السؤال 14
ما هي الخدمة من نوع ExternalName؟
عرض التفسير
الإجابة الصحيحة: خدمة تربط خدمة باسم DNS خارجي
التفسير: ExternalName تربط خدمة Kubernetes باسم DNS خارجي، مما يسمح بالوصول إلى الخدمات الخارجية كما لو كانت داخلية في العنقود.
السؤال 15
ما هي نطاق المنافذ لـ NodePort؟
عرض التفسير
الإجابة الصحيحة: 30000-32767
التفسير: يتم تعيين منافذ NodePort في النطاق 30000-32767 افتراضيًا، على الرغم من أنه يمكن تكوين هذا النطاق.
السؤال 16
ما هو sessionAffinity في خدمة؟
عرض التفسير
الإجابة الصحيحة: تكوين يضمن أن طلبات العميل تذهب دائمًا إلى نفس Pod الخلفية
التفسير: sessionAffinity: ClientIP يضمن أن جميع الطلبات القادمة من نفس IP العميل موجهة إلى نفس Pod الخلفية، مفيد للجلسات.
السؤال 17
ما هو دور kube-proxy في الشبكات Kubernetes؟
عرض التفسير
الإجابة الصحيحة: الحفاظ على قواعد الشبكة (iptables/IPVS) للخدمات وتنفيذ موازنة التحميل
التفسير: يراقب kube-proxy الخدمات والـ Endpoints، ويحدث قواعد iptables أو IPVS لتوجيه الحركة إلى الـ Pods الخلفية المناسبة.
السؤال 18
ما هي الخدمة بدون محدد؟
عرض التفسير
الإجابة الصحيحة: خدمة تشير إلى endpoints خارجية محددة يدويًا
التفسير: تتيح الخدمة بدون محدد إنشاء خدمة تشير إلى endpoints خارجية للكتلة عن طريق إنشاء كائن Endpoints يدويًا.
السؤال 19
ما هي ميزة استخدام IPVS بدلاً من iptables لـ kube-proxy؟
عرض التفسير
الإجابة الصحيحة: IPVS يوفر أداءً أفضل وخيارات موازنة تحميل أكثر للعديد من الخدمات
التفسير: يستخدم IPVS جداول التجزئة بدلاً من سلاسل iptables الطويلة، مما يوفر أداءً أفضل والمزيد من خوارزميات موازنة التحميل (rr، lc، dh، sh، sed، nq).
السؤال 20
ما هو cluster.local في DNS Kubernetes؟
عرض التفسير
الإجابة الصحيحة: النطاق DNS الافتراضي للكتلة
التفسير: cluster.local هو النطاق DNS الافتراضي المستخدم من قبل CoreDNS لحل أسماء الخدمات في العنقود (يمكن تكوينه بشكل مختلف).
السؤال 21
ما هو الفرق بين خدمة ClusterIP وخدمة NodePort؟
عرض التفسير
الإجابة الصحيحة: ClusterIP يمكن الوصول إليه فقط داخل العنقود، NodePort يعرض أيضًا منفذًا على كل عقدة
التفسير: يمكن الوصول إلى خدمة ClusterIP فقط من داخل العنقود، بينما يمد NodePort ClusterIP بعرض منفذ ثابت على كل عقدة.
السؤال 22
ما هو حساب الخدمة في سياق الشبكات؟
عرض التفسير
الإجابة الصحيحة: هوية للـ Pods، تستخدم للمصادقة مع API Server
التفسير: يوفر حساب الخدمة هوية للـ Pods، مما يسمح بالمصادقة والتفويض عند الوصول إلى API Server، ولكنه ليس مرتبطًا مباشرة بشبكات الخدمات.
السؤال 23
ما هو دور Ingress في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: عرض الخدمات HTTP/HTTPS من خارج العنقود مع توجيه يعتمد على المسار أو اسم المضيف
التفسير: يسمح Ingress بعرض عدة خدمات عبر نقطة دخول واحدة مع توجيه يعتمد على مسار URL أو اسم المضيف، مع دعم TLS/SSL.
السؤال 24
ما هو CNI plugin؟
عرض التفسير
الإجابة الصحيحة: مكون شبكة يقوم بتكوين شبكات الـ Pods في Kubernetes
التفسير: CNI (واجهة شبكة الحاويات) هي واجهة قياسية تسمح للمكونات الشبكية (Calico، Flannel، Weave، إلخ.) بتكوين شبكات الـ Pods.
السؤال 25
ما هي الأمر لرؤية Endpoints لخدمة؟
عرض التفسير
الإجابة الصحيحة: kubectl get endpoints
التفسير: يعرض هذا الأمر الـ Endpoints التي تسرد عناوين IP للـ Pods الخلفية لكل خدمة.
السؤال 26
ما هو Service mesh؟
عرض التفسير
الإجابة الصحيحة: بنية تحتية مخصصة تدير الاتصال بين الخدمات المصغرة مع قابلية المراقبة، الأمان، والتحكم في الحركة
التفسير: يضيف Service mesh (مثل Istio، Linkerd) طبقة شبكية تدير الاتصال بين الخدمات مع ميزات متقدمة مثل mTLS، كسر الدائرة، وقابلية المراقبة.
السؤال 27
ما هو الفرق بين خدمة و Ingress؟
عرض التفسير
الإجابة الصحيحة: خدمة تعرض مجموعة من الـ Pods، Ingress تعرض خدمات HTTP/HTTPS مع توجيه متقدم
التفسير: تعرض الخدمة الـ Pods مع IP ثابت وموازنة التحميل. Ingress هي طبقة فوق ذلك تسمح بالتوجيه HTTP/HTTPS بناءً على المسار أو اسم المضيف إلى عدة خدمات.
السؤال 28
ما هو ExternalIP في خدمة؟
عرض التفسير
الإجابة الصحيحة: عنوان IP خارجي يمكن استخدامه للوصول إلى الخدمة من خارج العنقود
التفسير: externalIPs يسمح بتحديد عناوين IP خارجية سيتم توجيهها إلى الخدمة، مما يسمح بالوصول الخارجي بدون LoadBalancer.
السؤال 29
ما هي الأمر لاختبار حل DNS لخدمة؟
عرض التفسير
الإجابة الصحيحة: nslookup [service-name].[namespace].svc.cluster.local من Pod
التفسير: يمكنك اختبار حل DNS عن طريق تنفيذ nslookup أو dig من Pod للتحقق من أن CoreDNS يحل اسم الخدمة بشكل صحيح.
السؤال 30
ما هي الخدمة بدون targetPort محدد؟
عرض التفسير
الإجابة الصحيحة: يستخدم targetPort نفس القيمة مثل المنفذ
التفسير: إذا لم يتم تحديد targetPort في خدمة، فإنه يستخدم نفس القيمة مثل المنفذ، مما يعني أن الحركة إلى منفذ الخدمة موجهة إلى نفس المنفذ على الـ Pods الخلفية.
نتيجة الاختبار
تهانينا على إكمال اختبار الوحدة 4!
النتيجة:
- 25-30 إجابة صحيحة: ممتاز!
- 20-24 إجابة صحيحة: جيد جدًا!
- 15-19 إجابة صحيحة: جيد!
- أقل من 15: يوصى بمراجعة الوحدة.
تم إنشاء الاختبار في: ديسمبر 2024