कुछ स्पष्टीकरण (वास्तव में उत्तर नहीं)
कुबेरनेट्स में, हर पॉड को एक आईपी एड्रेस दिया जाता है, और पॉड में हर कंटेनर को उसी आईपी एड्रेस को असाइन किया जाता है। इस प्रकार, जैसा कि एलेक्स रॉबिन्सन ने अपने जवाब में कहा था , आप बस hostname -i
अपने कंटेनर के अंदर उपयोग कर सकते हैं ताकि पॉड आईपी एड्रेस प्राप्त हो सके।
मैंने पॉड के साथ दो डंबल कंटेनरों का परीक्षण किया, और वास्तव hostname -i
में दोनों कंटेनरों के अंदर एक ही आईपी एड्रेस को आउटपुट कर रहा था। इसके अलावा, वह IP प्राप्त करने वाले उपयोग के बराबर थाkubectl describe pod
बाहर से जाने वाले , जो पूरी बात IMO को मान्य करता है।
हालाँकि, PiersyP का जवाब मुझे ज्यादा साफ लगता है।
सूत्रों का कहना है
से Kubernetes डॉक्स :
एक फली में आवेदन सभी एक ही नेटवर्क नेमस्पेस (एक ही आईपी और पोर्ट स्पेस) का उपयोग करते हैं, और इस प्रकार एक दूसरे को "खोज" कर सकते हैं और स्थानीयहोस्ट का उपयोग करके संवाद कर सकते हैं। इस वजह से, एक फली में अनुप्रयोगों को बंदरगाहों के अपने उपयोग का समन्वय करना चाहिए। प्रत्येक पॉड में एक फ्लैट साझा नेटवर्किंग स्पेस में एक आईपी एड्रेस होता है जिसका नेटवर्क भर में अन्य भौतिक कंप्यूटरों और पॉड्स के साथ पूर्ण संचार होता है।
कुबेरनेट्स डॉक्स का एक और टुकड़ा :
अब तक इस दस्तावेज़ में कंटेनरों के बारे में बात की गई है। वास्तव में, कुबेरनेट्स पॉड के दायरे में आईपी पते लागू करते हैं - एक पॉड के भीतर कंटेनर अपने आईपी पते सहित अपने नेटवर्क नामस्थानों को साझा करते हैं। इसका मतलब है कि एक पॉड के भीतर कंटेनर सभी स्थानीयहोस्ट पर एक दूसरे के बंदरगाहों तक पहुंच सकते हैं।
printenv | grep '10.254.24.167'
उपयोगकर्ता परिभाषित चर MY_POD_IP को छोड़कर कुछ भी वापस नहीं करता है। वैसे भी, मेरा वोट ले लीजिए सर :)