0Pricing
DevOps Bootcamp · درس

إتاحة التطبيقات باستخدام Services

افهم دور Services في توفير نقاط نهاية شبكية مستقرة للوحدات

إتاحة التطبيقات باستخدام Services درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

Pods: موجودة اليوم وتختفي غدًا

تُعدّ Pods أصغر الوحدات القابلة للنشر في Kubernetes. وقد صُممت لتكون مؤقتة، ويمكن لـ Kubernetes إنشاؤها أو إتلافها أو نقلها في أي وقت.

تُعدّ هذه المرونة رائعة لتعزيز المرونة، لكنها تخلق تحديًا: كيف يمكن للتطبيقات الأخرى العثور على Pods المتغيرة باستمرار والتواصل معها بشكل موثوق؟

مشكلة الهدف المتحرك

تحصل كل Pod على عنوان IP خاص بها. وعند إعادة تشغيل Pod أو توسيع نطاقها، غالبًا ما تحصل على عنوان IP جديد. إن الاتصال مباشرةً بعنوان IP الخاص بـ Pod يشبه محاولة إصابة هدف متحرك!

تخيلوا تطبيق ويب يضم عدة Pods. إذا أُعيد تشغيل إحدى Pods، فسيتغير عنوان IP الخاص بها، مما يؤدي إلى قطع الاتصالات من الخدمات أو المستخدمين الآخرين.

الخدمات للإنقاذ!

هنا يأتي دور Kubernetes Services! توفر Service نقطة نهاية شبكية ثابتة ومستقرة لمجموعة من Pods.

يمكنكم اعتبارها عنوانًا دائمًا لتطبيقكم، حتى إذا كانت Pods الموجودة خلفها تغيّر عناوينها الفردية باستمرار.

بوابة مستقرة لـ Pods

تعمل Service كـ طبقة تجريد فوق مجموعة من Pods. فهي تمنحها عنوان IP واحدًا ثابتًا واسم DNS موحدًا.

  • تستخدم التطبيقات الأخرى عنوان IP أو اسم Service المستقر.
  • ثم توجّه Service حركة المرور إلى Pods السليمة التي تديرها.
  • وهذا يفصل العملاء عن عناوين IP الفردية الخاصة بـ Pods.

ربط Services بـ Pods

كيف تعرف Service إلى أي Pods توجّه حركة المرور؟ تستخدم labels وselectors!

عند تعريف Service، تحددون selector. وستصبح أي Pod تطابق هذه labels جزءًا من مجموعة Service تلقائيًا.

يعني هذا الارتباط الديناميكي إضافة Pods الجديدة تلقائيًا وإزالة Pods غير السليمة.

توجيه حركة مرور الشبكة

تدير Services كيفية تدفق حركة مرور الشبكة. فهي تحدد المنافذ لربط الطلبات الواردة بالمنافذ الصحيحة على Pods الخاصة بكم.

مفاهيم المنافذ الأساسية:

  • port: المنفذ الذي تستمع إليه Service نفسها.
  • targetPort: المنفذ الموجود على Pod الذي توجّه Service حركة المرور إليه.

إنشاء بيان Service

مثل معظم موارد Kubernetes، تُعرَّف Services باستخدام ملفات YAML. لنلقِ نظرة على بنيتها الأساسية:

  • apiVersion: v1
  • kind: Service
  • metadata: الاسم وlabels
  • spec: يحتوي على التعريف الأساسي، بما في ذلك selector وports.

أول Service لكم: ClusterIP

يُعدّ نوع Service الأكثر شيوعًا للاتصال الداخلي هو ClusterIP. فهو يعرّض Service على عنوان IP داخلي ضمن العنقود.

فيما يلي مثال على تطبيق ويب بسيط:

apiVersion: v1
kind: Service
metadata:
  name: my-web-service
spec:
  selector:
    app: my-webapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

نشر Service الخاصة بكم

بعد إعداد YAML الخاص بـ Service، يمكنكم نشرها في عنقودكم باستخدام kubectl، تمامًا كما تفعلون مع Pods أو Deployments.

يخبر هذا الأمر Kubernetes بإنشاء Service استنادًا إلى تعريفكم:

kubectl apply -f service.yaml

استخدام Service الجديدة

بعد النشر، تحصل Service الخاصة بكم على عنوان IP ثابت واسم DNS داخل العنقود. ويمكن لـ Pods الأخرى الآن الوصول إلى تطبيقكم باستخدام هذا الاسم.

على سبيل المثال، يمكن لـ Pod أخرى الاتصال بـ my-web-service:80، وستتولى Service توجيه الطلب إلى Pods الصحيحة من my-webapp.

فحص Service

لقد تعلمتم كيف توفر Kubernetes Services وصولًا شبكيًا مستقرًا إلى Pods الديناميكية.

أيّ من الخيارات التالية يصف الدور الأساسي لـ Kubernetes Service على أفضل وجه؟

مراجعة: اتصالات مستقرة

أحسنتم! استكشفنا في هذا الدرس Kubernetes Services.

  • Pods مؤقتة ولها عناوين IP ديناميكية.
  • توفر Services نقاط نهاية شبكية مستقرة لـ Pods.
  • تستخدم selectors للعثور على Pods المستهدفة.
  • تربط Services بين port الخارجي وtargetPort الداخلي.
  • يُعدّ ClusterIP نوعًا شائعًا للاتصال الداخلي.

سنتعمق بعد ذلك في أنواع Services المختلفة واستخداماتها!

الأسئلة الشائعة

هل درس «إتاحة التطبيقات باستخدام Services» مجاني؟

نعم — نص درس «إتاحة التطبيقات باستخدام Services» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «إتاحة التطبيقات باستخدام Services»؟

افهم دور Services في توفير نقاط نهاية شبكية مستقرة للوحدات تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «إتاحة التطبيقات باستخدام Services»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إتاحة التطبيقات باستخدام Services
  2. أنواع Service: ClusterIP وNodePort وLoadBalancer
  3. Ingress للوصول الخارجي
  4. DNS واكتشاف الخدمات
← العودة إلى DevOps Bootcamp