इस प्रोजेक्ट के बारे में
फ्लैनेल एक सीधा और कुशल नेटवर्क फैब्रिक समाधान है जो मुख्य रूप से Kubernetes वातावरण के लिए डिज़ाइन किया गया है, हालांकि यह Docker डिप्लॉयमेंट्स का भी समर्थन करता है। इसका मुख्य कार्य क्लस्टर के भीतर कई नोड्स के बीच एक Layer 3 IPv4 नेटवर्क स्थापित करना है, यह सुनिश्चित करते हुए कि प्रत्येक कंटेनर (पॉड) के पास एक अद्वितीय, रूट करने योग्य IP पता हो। यह मॉडल होस्ट IP साझा करने से जुड़ी जटिलताओं को समाप्त करके नेटवर्किंग को सरल बनाता है।
### मुख्य आर्किटेक्चर
फ्लैनेल एक हल्के बाइनरी एजेंट के माध्यम से संचालित होता है जिसे `flanneld` कहा जाता है, जो क्लस्टर के हर होस्ट पर चलता है। एजेंट प्रत्येक होस्ट को एक बड़े, पूर्व-कॉन्फ़िगर किए गए एड्रेस स्पेस से एक विशिष्ट सबनेट लीज़ आवंटित करने के लिए जिम्मेदार है। स्थिति और कॉन्फ़िगरेशन बनाए रखने के लिए, फ्लैनेल या तो Kubernetes API (जिसे kube subnet manager के रूप में जाना जाता है) या एक बाहरी etcd क्लस्टर का उपयोग करता है। यह लचीलापन इसे नेटवर्क कॉन्फ़िगरेशन, आवंटित सबनेट्स, और होस्ट पब्लिक IP जैसे सहायक डेटा संग्रहीत करने की अनुमति देता है।
### बैकएंड तंत्र
होस्ट्स के बीच पैकेट फॉरवर्डिंग विभिन्न बैकएंड तंत्रों के माध्यम से संभाली जाती है। इनमें ओवरले नेटवर्क के लिए VXLAN और विभिन्न क्लाउड प्रदाताओं के लिए तैयार किए गए विशिष्ट इंटीग्रेशन शामिल हैं। उपयोगकर्ता अपनी इंफ्रास्ट्रक्चर आवश्यकताओं के अनुकूल बैकएंड का चयन कर सकते हैं।
### नेटवर्क पॉलिसी समर्थन
जबकि फ्लैनेल पॉलिसी प्रवर्तन के बजाय कनेक्टिविटी पर केंद्रित है, यह नेटवर्क पॉलिसी एकीकृत करने के विकल्प प्रदान करता है:
- **एकीकृत नियंत्रक:** फ्लैनेल Helm चार्ट में फ्लैनेल के साथ Kubernetes SIGs नेटवर्क पॉलिसी नियंत्रक को तैनात करने का विकल्प शामिल है।
- **तृतीय-पक्ष नियंत्रक:** उपयोगकर्ता उन्नत पॉलिसी प्रवर्तन के लिए फ्लैनेल को Calico या Cilium जैसी अन्य परियोजनाओं के साथ जोड़ सकते हैं, संभवतः CNI चेनिंग का उपयोग करके।
### डिप्लॉयमेंट विकल्प
Kubernetes क्लस्टर के लिए, फ्लैनेल को मैन्युअल रूप से या पैकेज मैनेजर के माध्यम से तैनात किया जा सकता है:
- **kubectl:** उपयोगकर्ता `kubectl apply` का उपयोग करके आधिकारिक मैनिफेस्ट सीधे लागू कर सकते हैं।
- **Helm:** एक समर्पित Helm रिपॉजिटरी आसान स्थापना और कॉन्फ़िगरेशन प्रबंधन की अनुमति देता है।
संगतता सुनिश्चित करने के लिए विशिष्ट रिलीज़ से जुड़े मैनिफेस्ट का उपयोग करने की अनुशंसा की जाती है। इसके अतिरिक्त, फ्लैनेल को तैनात करने के लिए `br_netfilter` कर्नेल मॉड्यूल और `/opt/cni/bin` में CNI नेटवर्क प्लगइन्स की स्थापना की आवश्यकता होती है।
गैर-Kubernetes वातावरण, जैसे स्टैंडअलोन Docker सेटअप के लिए, फ्लैनेल हमेशा अपने डेटास्टोर के रूप में etcd पर निर्भर करता है। दस्तावेज़ीकरण इन परिदृश्यों के लिए विस्तृत मार्गदर्शन प्रदान करता है।
### समुदाय और लाइसेंसिंग
फ्लैनेल एक ओपन-सोर्स प्रोजेक्ट है जो Apache 2.0 के तहत लाइसेंस प्राप्त है। यह नियमित मेंटेनर बैठकों, समर्थन के लिए Slack चैनल (#k3s on Rancher Slack, #flannel-users on Calico Slack) और निर्माण, कॉन्फ़िगरेशन, समस्या निवारण और इंटीग्रेशन को कवर करने वाले व्यापक दस्तावेज़ीकरण के साथ एक सक्रिय समुदाय बनाए रखता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.