ما المقصود بالدخول (Ingress) والخروج (Egress) في Kubernetes؟

منظر علوي لشخصين يجلسان على طاولة منحنية.

المؤلفون

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

ما المقصود بالدخول والخروج في Kubernetes؟

في Kubernetes، يُشير الدخول والخروج إلى كيفية دخول حركة مرور الشبكة وخروجها من بيئة تطبيق حاويات سحابية أصلية.

  • يتحكم الدخول (Ingress) في كيفية وصول المستخدمين أو الأنظمة الخارجية إلى الخدمات داخل مجموعة Kubernetes.

تشكل تدفقات المرور هذه عنصرًا أساسيًا لتشغيل التطبيقات الحديثة ضمن البنية التحتية السحابية. إن إدارتها بشكل فعَّال تدعم مجموعة واسعة من حالات الاستخدام، مثل توجيه حركة مرور العملاء إلى تطبيقات الويب أو الوصول بشكل آمن إلى واجهات برمجة التطبيقات التابعة لجهات خارجية.

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

كيف يعمل Kubernetes؟

نظام Kubernetes، المعروف أيضًا باسم k8s أو kube، هو منصة تنسيق حاويات تعمل على أتمتة نشر التطبيقات وتوسيع نطاقها وصيانتها عبر مجموعة من موارد الحوسبة. بدلًا من إدارة الخوادم مباشرةً، تستخدم فرق عمليات التطوير وتكنولوجيا المعلومات Kubernetes لتشغيل التطبيقات في حاويات - وهي وحدات برمجية خفيفة الوزن قائمة بذاتها تتضمن كل ما يلزم لتشغيل التطبيق.

وفقًا لتقرير CNCF، يُعَد Kubernetes ثاني أكبر مشروع مفتوح المصدر في العالم (بعد Linux)، وأداة تنسيق الحاويات الأساسية لحوالي 71% من المدرجة على قائمة Fortune 100.

تُعَد Docker الأداة الأكثر استخدامًا لبناء صور الحاويات. في Kubernetes، يتم تجميع الحاويات في وحدات تُسمَّى الحجيرات (pods)، وهي أصغر الوحدات القابلة للنشر ويمكن أن تحتوي على حاوية واحدة أو أكثر. يقوم Kubernetes بجدولة هذه الحجيرات عبر مجموعة من الأجهزة المعروفة باسم العُقَد.

يتم تنظيم الحاويات والموارد المرتبطة بها في مساحات أسماء، والتي توفِّر فصلًا منطقيًا لإدارة الفرق أو المشاريع أو البيئات المختلفة داخل المجموعة نفسها. يتعامل Kubernetes مع وظائف المجموعة الرئيسية، مثل موازنة التحميل، والتعافي من الأعطال، والتوسع، والإصلاح الذاتي، ما يؤدي إلى تجريد الكثير من تعقيد البنية التحتية منخفضة المستوى.

داخل مجموعة Kubernetes، غالبًا ما تحتاج الخدمات إلى التواصل مع بعضها وأحيانًا مع أنظمة خارجية. يتولى Kubernetes إدارة حركة المرور والتحكم فيها بطريقة تعمل على عزل المكونات الداخلية لتحسين الأداء والأمان. ونتيجةً لذلك، يجب تعريف حركة المرور الواردة والصادرة وإدارتها وتكوينها بشكل صريح.

الدخول مقابل الخروج في Kubernetes

في علوم الكمبيوتر الأساسية، يُشير الدخول مقابل الخروج إلى حركة المرور الواردة مقابل حركة المرور الصادرة في الشبكة أو النظام. توفِّر عمليات الدخول والخروج في Kubernetes لفرق المنصة إطارًا منضبطًا للتحكم في كيفية تدفق حركة المرور إلى داخل مجموعة Kubernetes وخارجها. وهذا الجانب ضروري لتشغيل بيئات إنتاج آمنة وقابلة للتوسع.

ما المقصود بالدخول في Kubernetes؟

يُشير الدخول إلى حركة المرور الواردة من المستخدمين أو الأنظمة الخارجية إلى مجموعة Kubernetes، عادةً عبر HTTP أو HTTPS (وكلاهما يعمل على بروتوكول TCP). فبدلًا من عرض كل خدمة مباشرةً على الإنترنت، تحدِّد المؤسسات قواعد الدخول من خلال مورد الدخول. عادةً ما تتم كتابة هذا المورد بلغة YAML، والتي تُرشد Kubernetes إلى كيفية توجيه حركة المرور استنادًا إلى معايير مثل مسارات URL أو أسماء النطاقات.

يتم فرض قواعد الدخول بواسطة وحدة التحكم في الدخول - وهي قطعة من البرامج (غالبًا ما تعتمد على NGINX أو وكيل عكسي آخر) تعمل كنقطة دخول فعلية. تستقبل وحدة التحكم الطلبات الواردة، وتقوم بفك تشفير حركة المرور إذا لزم الأمر، ثم ترسلها إلى الخدمة الصحيحة داخل المجموعة.

على سبيل المثال، قد يتم تكوين قواعد الدخول للقيام بما يلي:

  • توجيه حركة المرور إلى api.company.com إلى خدمة واجهة برمجة التطبيقات الخلفية التي تتعامل مع طلبات البيانات.
  • توجيه حركة المرور إلى app.company.com إلى تطبيق الواجهة الأمامية الذي يتفاعل معه المستخدمون.
  • معالجة جميع طلبات HTTPS من خلال شهادة TLS واحدة تتم إدارتها في طبقة Kubernetes ingress، ما يعمل على تبسيط الأمان وإدارة الشهادات.

فوائد الدخول في Kubernetes

  • العمليات المبسَّطة: يساعد التوجيه المركزي وتكوين النطاق وإدارة الشهادات على تقليل التعقيد الإداري وضمان الاتساق عبر الخدمات.
  • الأمان المعزز: تحدث عملية إنهاء SSL/TLS لحركة المرور الواردة عند نقطة تحكُّم واحدة، ويمكن تطبيق سياسات مثل الحد من المعدل أو المصادقة أو جدران حماية تطبيقات الويب بشكل موحَّد. يساعد هذا الإعداد على منع التهديدات الأمنية الشائعة مثل الوصول غير المصرح به من خلال فرض عمليات فحص الأمان قبل وصول حركة المرور إلى خدمات الواجهة الخلفية.
  • إمكانية التوسع بشكل أفضل: يدعم Ingress التوجيه القائم على المسار واسم المضيف، ما يجعل من السهل توسيع الخدمات خلف نقطة دخول واحدة مرنة. على سبيل المثال، يُتيح التوجيه المستند إلى مسارات واجهة برمجة التطبيقات للفرق توسيع نطاق الخدمات بشكل مستقل دون إضافة وجهات خارجية جديدة.

الدخول مقارنةً بأنواع خدمات Kubernetes

يوفر Kubernetes عدة طرق مدمجة لعرض الخدمات خارج المجموعة. تعمل موارد Ingress مع أنواع معينة من الخدمات ولكنها توفِّر نهجًا أكثر مرونة ومركزية، خاصةً لحركة المرور المستندة إلى الويب.

فيما يلي بعض أنواع الخدمات الأكثر شيوعًا:

  • تعرُض ClusterIP الخدمات الموجودة داخل المجموعة فقط. وهي مفيدة للاتصالات الداخلية بين الخدمات ولكن لا يمكن الوصول إليها خارجيًا.
  • يفتح NodePort منفذًا محددًا على كل عقدة في المجموعة لعرض الخدمة خارجيًا. على الرغم من بساطته، إلا إنه غير مرن ويكشف البنية التحتية على مستوى العقدة بشكل مباشر، ما يفرض تحديات تشغيلية وأمنية.
  • يوفر LoadBalancer موازن تحميل تتم إدارته بواسطة مزود الخدمة السحابي لكل خدمة. يعمل هذا بشكل جيد للوصول الخارجي ولكنه لا يتسم بالكفاءة، حيث تتطلب كل خدمة جديدة موازن التحميل الخاص بها، ما يؤدي إلى زيادة التعقيد والتكلفة.
  • تعمل Gateway API كبوابة API وتوفِّر توجيه حركة مرور وإدارة سياسات متقدمة ومرنة وقابلة للتوسيع تتجاوز موارد Ingress التقليدية.

وبالمقارنة، يسمح مورد Ingress بالوصول إلى خدمات متعددة من خلال عنوان IP خارجي واحد باستخدام قواعد التوجيه الذكية، استنادًا إلى أسماء النطاقات أو المسارات. ويعمل على توحيد معالجة HTTP(S) والتحكم في حركة المرور، ما يجعله خيارًا قويًا لأعباء العمل الإنتاجية.

ما المقصود بالخروج في Kubernetes؟

يشير الخروج (Egress) إلى حركة المرور الصادرة - عندما تحتاج الخدمات داخل مجموعة Kubernetes إلى التواصل مع وجهات أو أنظمة حركة المرور الخارجية (على سبيل المثال، واجهات برمجة التطبيقات، والخدمات السحابية، وقواعد البيانات، وما إلى ذلك).على الرغم من أن Kubernetes يسمح بحركة مرور خارجية غير مقيدة بشكل افتراضي، فإن هذه السياسة المفتوحة نادراً ما تكون مناسبة لبيئات الإنتاج.

ترغب المؤسسات عادةً في التحكم في الخدمات التي يمكنها الاتصال بنقاط النهاية الخارجية ومراقبتها، لأسباب تتعلق بالأمان والامتثال. على سبيل المثال، قد ترغب إحدى شركات البيع بالتجزئة في أن تصل خدمة الدفع الخاصة بها فقط إلى بوابات الدفع المعتمدة وتحظر جميع الوجهات الأخرى.

كيفية إدارة الخروج في Kubernetes

يوفر Kubernetes عدة طرق لإدارة الخروج بفاعلية وأمان. من خلال تنفيذ هذه الضوابط، يمكن للمؤسسات التأكد من السماح فقط بتدفق حركة المرور المصرح بها إلى الشبكات الخارجية، وبالتالي تعزيز الأمان والامتثال.

سياسات الشبكة

يمكن لسياسات شبكة Kubernetes تقييد الوحدات المسموح لها بإجراء اتصالات خارجية وتحديد العناوين أو النطاقات التي يمكنها الوصول إليها - غالبًا باستخدام تدوين CIDR لنطاقات IP. تدعم هذه السياسات نماذج الثقة الصفرية من خلال السماح بالاتصالات المصرح بها صراحةً فقط. تحدِّد قواعد الخروج ضمن سياسات الشبكة هذه قيود حركة المرور الصادرة، ما يتحكم في الوجهات الخارجية التي يمكن للحجيرات الوصول إليها.

بوابات الخروج

يمكن لبوابات الخروج، والتي يتم نشرها غالبًا كجزء من شبكة الخدمة، توجيه حركة المرور الصادرة بأكملها من خلال نقطة تحكُّم مراقَبة، ما يُتيح التحكم المتقدم في حركة المرور، والتشفير وقابلية الملاحظة.

عُقَد الخروج المخصصة

يمكن أيضًا استخدام عُقَد الخروج المخصصة أو بوابات NAT لتوحيد الاتصالات الصادرة وتسجيلها، ما يوفر إمكانية التتبُّع وعزل الأداء المحسَّن.

فوائد الخروج في Kubernetes

  • الحماية القوية للبيانات: تساعد سياسات شبكة الخروج على تقييد حركة المرور الصادرة، ما يقلل من خطر تسرُّب البيانات أو تعرُّض الخدمات للخطر عند الاتصال بنقاط نهاية خارجية ضارة.
  • الامتثال: يضمن التحكم في حركة مرور Kubernetes الخارجة تلبية أعباء العمل الحساسة للمتطلبات التنظيمية من خلال تقييد الاتصالات بنقاط النهاية المعتمدة وتوفير الرؤية في عمليات التدقيق.
  • تحسين التحكُّم في التكاليف: تساعد إدارة حركة المرور الخارجة على منع الرسوم السحابية غير المتوقعة الناتجة عن المكالمات الصادرة غير الخاضعة للرقابة أو عمليات نقل البيانات الكبيرة.
  • تحسين قابلية الملاحظة: توفِّر إدارة حركة المرور الخارجة رؤية واضحة حول الأنظمة الخارجية التي تعتمد عليها التطبيقات - ما يدعم إدارة المورِّدين واستكشاف الأخطاء وإصلاحها وتحديد تبعيات الخدمة الخارجية.
حلول ذات صلة
مراقبة Kubernetes - IBM Instana

ملاحظة ومراقبة وإصلاح مجموعة Kubernetes بأكملها تلقائيًا لتحسين أداء وتوفّر تطبيقك.

استكشف IBM Instana
خدمات الاستشارات السحابية 

تسريع نمو ومرونة الأعمال—حدِّث تطبيقاتك باستمرار على أي منصة باستخدام خدماتنا السحابية والاستشارات التي نقدِّمها.

استكشاف الخدمات الاستشارية ذات الصلة بتقنيات السحابة
حلول الحاويات

حلول الحاويات تقوم بتشغيل وتوسيع نطاق أحمال التشغيل التي تعمل ضمن حاويات بأمان وابتكار مفتوح المصدر ونشر سريع.

استكشف الحاويات
اتخِذ الخطوة التالية

يوفر IBM Instana Observability قابلية الملاحظة المؤتمتة لـ Kubernetes وقدرات مراقبة أداء التطبيقات (APM) المصممة لمراقبة مجموعة تطبيقات Kubernetes التي تستخدمها بالكامل - بدءًا من العقد والحجيرات وصولاً إلى الحاويات والتطبيقات لجميع توزيعات Kubernetes.

  1. استكشف IBM Instana Observability
  2. استمتع بتجربة Instana