شروحات الكمبيوتر والإنترنت والموبايل

إعداد توجيه المنفذ في Minikube لرؤية العقد في الشبكة

عند العمل على نماذج أولية لمشاريع مؤسسية، يعد Minikube أداة قوية توفر بيئة محلية لاختبار التطبيقات على Kubernetes. في هذا المقال، سنناقش كيفية استخدام الــ Port Forwarding لكشف خدمة NodePort تعمل في بيئة Minikube على واجهة الإيثرنت باستخدام iptables، بحيث تتاح لل hosts الأخرى في الشبكة الوصول إليها.

فهم Minikube و NodePort

Minikube هو أداة مثالية لتطوير وتقييم التطبيقات الخاصة بك في بيئة Kubernetes. باستخدام NodePort، يمكنك الكشف عن الخدمات التي تعمل على Minikube، مما يتيح لك الوصول إلى التطبيقات من خارج بوابة الكوبرنيتيس. لكن، نظرًا لتشغيل Minikube تحت بيئة Docker، فإن هذه الخدمات تكون مرئية فقط على واجهة الجسر (bridge interface) الخاصة بـ Minikube، مما يؤدي إلى عدم إمكانية الوصول إليها من الأجهزة الأخرى في الشبكة.

التحدي

لنفترض أنك تمتلك Minikube مثبتًا على عنوان IP الخاص به 192.168.49.2 وتقوم بتشغيل خدمة على المنفذ 7051. تريد أن تكون هذه الخدمة متاحة على واجهة Ethernet (eth0) تحت عنوان IP 192.168.2.4 أيضًا على نفس المنفذ 7051. هنا تكمن أهمية استخدام iptables لتوجيه حركة المرور بين الواجهتين.

قواعد iptables المناسبة

عند استخدام iptables، من المهم إعداد القواعد بطريقة صحيحة لضمان تدفق البيانات بين الواجهات. في حالتك، يجب أن تبدو القواعد كالتالي:

  1. لتوجيه حركة المرور الواردة إلى مينيكوب من eth0 إلى bridged interface:

    sudo iptables -A FORWARD -i eth0 -o br-e2ab4e35d9ed -p tcp --syn --dport 7051 -m conntrack --ctstate NEW -j ACCEPT
  2. للسماح بحركة المرور المُنشأة بالفعل:

    sudo iptables -A FORWARD -i eth0 -o br-e2ab4e35d9ed -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  3. للسماح لحركة المرور الصادرة من Minikube إلى eth0:

    sudo iptables -A FORWARD -i br-e2ab4e35d9ed -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  4. وأخيرًا، لتوجيه الطلبات إلى Minikube باستخدام DNAT:
    sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 7051 -j DNAT --to-destination 192.168.49.2

التحقق من القواعد

بعد إعداد القواعد، يمكنك التحقق من القواعد المطبقة على جداول iptables الخاصة بك باستخدام الأمر:

sudo iptables -L -v -n

تأكد من وجود القواعد التي أضفتها، وأن سياسة الإدخال (INPUT) والإخراج (OUTPUT) مصممة للسماح بالحركة المطلوبة.

الإجراءات المستمرة

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

خاتمة

باستخدام الــ Port Forwarding لتوجيه حركة المرور بين واجهات eth0 وbr-e2ab4e35d9ed عبر iptables، يمكنك جعل Minikube NodePort مرئيًا لبقية الشبكة. هذه العملية قيمة للغاية خاصةً في بيئات التجريب والتطوير، مما يتيح لك اختبار التطبيقات بسلاسة وكفاءة.

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

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!