GKE में आउटबाउंड कनेक्शन के लिए स्थिर सार्वजनिक IP या IP श्रेणी


21

मैं डिमांड पॉड्स पर चलने के लिए Google कुबेरनेट इंजन का उपयोग करता हूं। प्रत्येक पॉड सार्वजनिक रूप से एक नोडपोर्ट सेवा का उपयोग करके इंटरनेट के संपर्क में है।

मैं आउटबाउंड कनेक्शन के लिए एकल IP या IP रेंज प्राप्त करने के लिए GKE में एक रास्ता खोज रहा हूं, ताकि उन्हें तीसरे पक्ष के API को श्वेतसूची में दिया जा सके।

GKE नोड IPs प्रबंधनीय नहीं हैं जब नोड्स ऑटोस्केल करते हैं या जब मैं उन्हें अपग्रेड करता हूं। मुझे एक निरंतर आउटबाउंड आईपी बनाए रखने का एक तरीका चाहिए।

मैंने कुबेरनेट्स नोड्स ( यहाँ से उदाहरण का उपयोग करके) के लिए एक सरल NAT गेटवे का उपयोग करने की कोशिश की है , और जब यह NAT गेटवे के आउटबाउंड कनेक्शन को रूट करता है, तो यह पॉड्स (Nodeport सेवा) के लिए इनबाउंड ट्रैफ़िक को तोड़ देता है क्योंकि मैं उस पर से उतर जाता हूं नैट गेटवे।

  • क्या एक Google क्लाउड क्षेत्र के लिए एक डिफ़ॉल्ट IP रेंज है जो मैं श्वेतसूची (या) को तृतीय पक्ष को प्रदान कर सकता हूं

  • यदि GKE स्थिर IP की पूर्व आरक्षित सूची से नोड बाहरी IP का चयन करने का एक तरीका प्रदान करता है (या)

  • क्या एकल स्थिर IP या IP श्रेणी को पूरा करने का कोई अन्य तरीका है जो पॉड्स से आउटबाउंड ट्रैफ़िक का प्रतिनिधित्व करता है

मुझे इस तरह के समान प्रश्न मिले हैं , लेकिन वे मेरी समस्या का समाधान नहीं करते हैं क्योंकि फली बाहरी रूप से कनेक्ट करने योग्य होनी चाहिए, जो NAT का उपयोग करते समय टूट जाती है।

जवाबों:


6

Google क्लाउड अब एक प्रबंधित NAT गेटवे सेवा प्रदान करता है - Cloud NAT

इस गेटवे का उपयोग जीकेके क्लस्टर के साथ किया जा सकता है, जो इसके अंदर सभी पॉड्स को एक स्थिर पब्लिक इग्रेस आईपी प्रदान करता है, जो उन्हें थर्ड पार्टी सर्विस प्रोवाइडर्स द्वारा श्वेतसूची में सक्षम बनाता है।

GKE के साथ क्लाउड NAT का उपयोग करने के लिए उदाहरण कार्यान्वयन यहां दिया गया है - https://cloud.google.com/nat/docs/gke-example


क्या क्लस्टर का निजी होना जरूरी है?
गजस

3
हां, क्लस्टर को निजी होना चाहिए, लेकिन मास्टर सार्वजनिक हो सकता है। यदि आपकी किसी भी सेवा को सार्वजनिक करने की आवश्यकता है, तो उन्हें एक लोडबेलर द्वारा उजागर किया जा सकता है।
पराग

@Parag क्या यह अनिवार्य है कि क्लस्टर को निजी होना चाहिए? क्या कोई रास्ता है, मैं उपयोग कर सकता हूं यदि नोड आईपी सार्वजनिक हैं।
सुहास चिक्कन्ना

1
@SuhasChikkanna with CloudNAT no। यदि आप चाहते हैं कि नोड्स के पास बाहरी आईपी हो, लेकिन एकल आउटबाउंड आईपी भी चाहते हैं, तो आप स्क्विड का उपयोग करके अपना नैट गेटवे इंस्टेंस बना सकते हैं, और सशर्त रूटिंग कर सकते हैं, जो आपके आंतरिक सर्वर को सीधे इंस्टेंसेस तक पहुंचाएगा, लेकिन बाहर से कोई भी ट्रैफ़िक नहीं आता है। NAT के माध्यम से। यह आपके उपयोगकर्ताओं को एकल आउटबाउंड आईपी देगा, जबकि आपके नोड्स को चयनित आईपी स्रोतों तक पहुंच योग्य बनाता है।
पराग

@Pagag अच्छा लगता है! निश्चित रूप से कोशिश करेंगे कि। बहुत बहुत धन्यवाद :)
Suhas Chikkanna

1

आप इस समाधान की कोशिश कर सकते हैं:

https://cloud.google.com/solutions/using-a-nat-gateway-with-kubernetes-engine

सामान्य परिस्थितियों में, Google कुबेरनेट्स इंजन नोड नोड के साथ जुड़े इंटरनेट गेटवे के माध्यम से सभी निकास ट्रैफ़िक को रूट करता है। इंटरनेट गेटवे कनेक्शन, बदले में, नोड क्लस्टर से जुड़े कंप्यूट इंजन नेटवर्क द्वारा परिभाषित किया गया है। क्लस्टर के प्रत्येक नोड में एक पंचांग बाह्य आईपी पता होता है। जब नोड्स ऑटोस्कोलिंग के दौरान बनाए जाते हैं और नष्ट हो जाते हैं, तो नए नोड आईपी पते स्वचालित रूप से आवंटित किए जाते हैं।

सामान्य परिस्थितियों में डिफ़ॉल्ट गेटवे व्यवहार अच्छी तरह से काम करता है। हालाँकि, आप संशोधित करना चाह सकते हैं कि पंचांग बाह्य आईपी पते किस प्रकार आवंटित किए जाते हैं:

  • लगातार बाहरी आईपी पते के साथ एक तृतीय-पक्ष सेवा प्रदान करें।
  • Google Kubernetes इंजन क्लस्टर के बाहर मॉनिटर और फ़िल्टर इज़रेशन ट्रैफ़िक।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.