انتقل إلى المحتوى الرئيسي

اختبار الوحدة 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