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-nginxIngress أساسي
يوجّه هذا الـ 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Deployments للتطبيقات عديمة الحالة
- Services للوصول عبر الشبكة
- ConfigMaps وSecrets
- Ingress والتوجيه الخارجي