0Pricing
DevOps Bootcamp · درس

Ingress والتوجيه الخارجي

أتيحوا عدة خدمات للعالم الخارجي عبر نقطة دخول واحدة باستخدام موارد Ingress والتوجيه حسب المضيف والمسار ووحدة تحكم Ingress

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

ما بعد NodePort وLoadBalancer

يمكن لـ Service إتاحة تطبيق، لكن منح كل تطبيق عنوان IP خارجيًا خاصًا به يصبح مكلفًا وفوضويًا. يوفر Ingress نقطة دخول ذكية واحدة لـ HTTP، توجه الطلبات إلى خدمات متعددة.

ما المقصود بـ Ingress؟

إن Ingress كائن في Kubernetes يصف قواعد توجيه HTTP/HTTPS: أي مضيف أو مسار URL يرتبط بأي Service.

تحتاج إلى وحدة تحكم

كائن Ingress ليس سوى مجموعة من القواعد. أما وحدة تحكم Ingress (nginx وTraefik وHAProxy) فتراقب تلك القواعد وتنفذ التوجيه فعليًا. من دون وحدة تحكم، لا يحدث أي تأثير.

kubectl get pods -n ingress-nginx

Ingress أساسي

يوجّه هذا الـ Ingress كل حركة المرور إلى Service خلفي واحد على المنفذ 80.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web-ingress
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: web
            port:
              number: 80

التوجيه حسب المضيف

أضف host للتوجيه حسب اسم النطاق، مثل توجيه api.example.com إلى خدمة وتوجيه shop.example.com إلى خدمة أخرى، مع استخدام عنوان IP نفسه.

rules:
- host: api.example.com
  http:
    paths:
    - path: /
      pathType: Prefix
      backend:
        service:
          name: api
          port:
            number: 8080

التوجيه حسب المسار

أو وجّه الطلبات حسب مسار URL ضمن مضيف واحد: /api إلى خدمة API، و/ إلى الواجهة الأمامية للويب.

paths:
- path: /api
  pathType: Prefix
  backend:
    service:
      name: api
      port:
        number: 8080
- path: /
  pathType: Prefix
  backend:
    service:
      name: web
      port:
        number: 80

إنهاء TLS

يمكن لـ Ingress إنهاء HTTPS باستخدام سر TLS، بحيث تتلقى خدماتك HTTP عاديًا بينما يحصل المستخدمون على التشفير.

spec:
  tls:
  - hosts:
    - shop.example.com
    secretName: shop-tls

التعليقات التوضيحية تضبط السلوك

تضبط التعليقات التوضيحية الخاصة بوحدة التحكم عمليات إعادة الكتابة والمهلات الزمنية وحدود المعدل وغير ذلك. وتوجد هذه التعليقات ضمن البيانات الوصفية لـ Ingress.

metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /

IngressClass

عند وجود وحدات تحكم متعددة، يخبر ingressClassName Kubernetes بالوحدة التي ينبغي أن تتولى معالجة Ingress هذا.

spec:
  ingressClassName: nginx

فحص Ingress

تحقق من قواعدك والعنوان المعيّن باستخدام kubectl get ingress، واستخدم describe لعرض الأحداث.

kubectl describe ingress web-ingress

البديل الحديث: Gateway API

يتجه Kubernetes نحو Gateway API، وهو بديل أكثر تعبيرًا لـ Ingress. ومع ذلك، لا يزال Ingress مستخدمًا على نطاق واسع، ويمثل نقطة البداية المناسبة.

اختبار سريع

لماذا تحتاج إلى وحدة تحكم Ingress؟

مراجعة

يمكنك الآن إتاحة التطبيقات بطريقة منظمة:

  • يحدد Ingress قواعد توجيه HTTP، وتنفذها وحدة تحكم Ingress
  • وجّه الطلبات حسب المضيف أو المسار عبر نقطة دخول واحدة
  • أنهِي TLS واضبط السلوك باستخدام التعليقات التوضيحية
  • يحدد ingressClassName وحدة التحكم

عنوان IP واحد، وخدمات متعددة، وتوجيه ذكي.

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

هل درس «Ingress والتوجيه الخارجي» مجاني؟

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

ماذا ستتعلم في «Ingress والتوجيه الخارجي»؟

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

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

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

كم من الوقت يستغرق درس «Ingress والتوجيه الخارجي»؟

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

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

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

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

  1. Deployments للتطبيقات عديمة الحالة
  2. Services للوصول عبر الشبكة
  3. ConfigMaps وSecrets
  4. Ingress والتوجيه الخارجي
← العودة إلى DevOps Bootcamp