क्लस्टर नेटवर्किंग

क्लस्टर नेटवर्किंग

नेटवर्किंग कुबेरनेट्स का एक केंद्रीय हिस्सा है, लेकिन यह समझना चुनौतीपूर्ण हो सकता है कि यह वास्तव में कैसे काम करने की उम्मीद की जाती है। संबोधित करने के लिए 4 अलग-अलग नेटवर्किंग समस्याएं हैं:

  1. अत्यधिक-युग्मित कंटेनर-से-कंटेनर संचार: यह Pods और localhost संचार द्वारा हल किया जाता है।
  2. Pod-से-Pod संचार: यह इस दस्तावेज़ का प्राथमिक फोकस है।
  3. Pod-से-Service संचार: यह Services द्वारा कवर किया गया है।
  4. बाहरी-से-Service संचार: यह भी Services द्वारा कवर किया गया है।

कुबेरनेट्स एप्लिकेशन के बीच मशीनों को साझा करने के बारे में है। आम तौर पर, मशीनों को साझा करने के लिए यह सुनिश्चित करने की आवश्यकता होती है कि दो एप्लिकेशन एक ही पोर्ट का उपयोग करने का प्रयास न करें। कई डेवलपर्स के बीच पोर्ट्स का समन्वय करना बहुत कठिन है और उपयोगकर्ताओं को उनके नियंत्रण के बाहर क्लस्टर-स्तरीय मुद्दों के संपर्क में लाता है।

डायनामिक पोर्ट आवंटन सिस्टम में बहुत सी जटिलताएं लाता है - प्रत्येक एप्लिकेशन को पोर्ट्स को फ्लैग के रूप में लेना होता है, API सर्वर को कॉन्फ़िगरेशन ब्लॉक में डायनामिक पोर्ट नंबर डालने का तरीका जानना होता है, सेवाओं को एक दूसरे को खोजने का तरीका जानना होता है, आदि। इससे निपटने के बजाय, कुबेरनेट्स एक अलग दृष्टिकोण अपनाता है।

कुबेरनेट्स नेटवर्किंग मॉडल के बारे में जानने के लिए, यहां देखें।

कुबेरनेट्स IP एड्रेस रेंज

कुबेरनेट्स क्लस्टर को Pods, Services और Nodes के लिए गैर-ओवरलैपिंग IP एड्रेस आवंटित करने की आवश्यकता होती है, निम्नलिखित घटकों में कॉन्फ़िगर किए गए उपलब्ध एड्रेस की एक रेंज से:

  • नेटवर्क प्लगइन को Pods को IP एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
  • kube-apiserver को Services को IP एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
  • kubelet या cloud-controller-manager को Nodes को IP एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
एक आकृति जो कुबेरनेट्स क्लस्टर में विभिन्न नेटवर्क रेंज को दर्शाती है

क्लस्टर नेटवर्किंग प्रकार

कुबेरनेट्स क्लस्टर, कॉन्फ़िगर किए गए IP परिवारों के आधार पर, इस प्रकार वर्गीकृत किए जा सकते हैं:

  • केवल IPv4: नेटवर्क प्लगइन, kube-apiserver और kubelet/cloud-controller-manager को केवल IPv4 एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
  • केवल IPv6: नेटवर्क प्लगइन, kube-apiserver और kubelet/cloud-controller-manager को केवल IPv6 एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
  • IPv4/IPv6 या IPv6/IPv4 dual-stack:
    • नेटवर्क प्लगइन को IPv4 और IPv6 एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
    • kube-apiserver को IPv4 और IPv6 एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
    • kubelet या cloud-controller-manager को IPv4 और IPv6 एड्रेस असाइन करने के लिए कॉन्फ़िगर किया गया है।
    • सभी घटकों को कॉन्फ़िगर किए गए प्राथमिक IP परिवार पर सहमत होना चाहिए।

कुबेरनेट्स क्लस्टर केवल Pods, Services और Nodes ऑब्जेक्ट पर मौजूद IP परिवारों पर विचार करते हैं, प्रतिनिधित्व किए गए ऑब्जेक्ट के मौजूदा IP से स्वतंत्र रूप से। उदाहरण के लिए, एक सर्वर या एक pod के इंटरफेस को कई IP एड्रेस असाइन किए जा सकते हैं, लेकिन कुबेरनेट्स नेटवर्क मॉडल को लागू करते समय और क्लस्टर प्रकार को परिभाषित करते समय केवल node.status.addresses या pod.status.ips में IP एड्रेस पर विचार किया जाता है।

कुबेरनेट्स नेटवर्क मॉडल को कैसे लागू करें

नेटवर्क मॉडल को प्रत्येक नोड पर कंटेनर रनटाइम द्वारा लागू किया जाता है। सबसे आम कंटेनर रनटाइम अपने नेटवर्क और सुरक्षा क्षमताओं को प्रबंधित करने के लिए Container Network Interface (CNI) प्लगइन का उपयोग करते हैं। कई विभिन्न विक्रेताओं से कई अलग-अलग CNI प्लगइन मौजूद हैं। इनमें से कुछ केवल नेटवर्क इंटरफेस जोड़ने और हटाने की बुनियादी सुविधाएँ प्रदान करते हैं, जबकि अन्य अधिक परिष्कृत समाधान प्रदान करते हैं, जैसे कि अन्य कंटेनर ऑर्केस्ट्रेशन सिस्टम के साथ एकीकरण, कई CNI प्लगइन चलाना, उन्नत IPAM सुविधाएँ आदि।

कुबेरनेट्स द्वारा समर्थित नेटवर्किंग ऐडऑन की एक गैर-संपूर्ण सूची के लिए इस पेज को देखें।

आगे क्या है

नेटवर्किंग मॉडल के प्रारंभिक डिज़ाइन और इसके तर्क का अधिक विस्तार से नेटवर्किंग डिज़ाइन दस्तावेज़ में वर्णन किया गया है। भविष्य की योजनाओं और कुछ चल रहे प्रयासों के लिए जो कुबेरनेट्स नेटवर्किंग को बेहतर बनाने का लक्ष्य रखते हैं, कृपया SIG-Network KEPs को देखें।

अंतिम बार संशोधित July 01, 2026 at 4:18 PM PST: [hi] Localize cluster-administration/networking.md page (7edd06abdc)