Kubernetes की बुनियाद · पाठ

बहु-कंटेनर पॉड्स (साइडकार्स)

एक ही पॉड में साथ-साथ चलने वाले कई कंटेनर्स के पैटर्न जानिए, जैसे साइडकार कंटेनर्स।

पाठ 3, कुल 4 में से11 चरण

बहु-कंटेनर पॉड्स (साइडकार्स), CoddyKit पर Kubernetes की बुनियाद का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Kubernetes की बुनियाद सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Kubernetes की बुनियाद पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

एकल कंटेनर से आगे

अब तक हमने पॉड को एकल कंटेनर चलाने वाली इकाई के रूप में समझा है। लेकिन यदि आपके अनुप्रयोग को किसी सहायक प्रक्रिया की आवश्यकता हो तो?

Kubernetes किसी पॉड में कई कंटेनर चलाने की अनुमति देता है। ये कंटेनर हमेशा एक ही स्थान पर रहते हैं और संसाधन साझा करते हैं।

बहु-कंटेनर पॉड का उपयोग क्यों करें?

एक ही पॉड में कई कंटेनर चलाना उन अनुप्रयोगों के लिए आदर्श है जो घनिष्ठ रूप से जुड़े हों और निम्नलिखित साझा करना चाहते हों:

  • नेटवर्क नेमस्पेस (एक ही IP पता, localhost के माध्यम से संचार कर सकते हैं)
  • स्टोरेज वॉल्यूम
  • जीवनचक्र (वे साथ-साथ शुरू, बंद और पुनः शुरू होते हैं)

इससे संबंधित प्रक्रियाओं के प्रबंधन के लिए एकल इकाई उपलब्ध होती है।

साइडकार पैटर्न की व्याख्या

एक सामान्य डिज़ाइन साइडकार पैटर्न है। इसमें एक "साइडकार" कंटेनर आपके मुख्य अनुप्रयोग कंटेनर के साथ चलता है।

यह मुख्य अनुप्रयोग में स्वयं कोई बदलाव किए बिना उसकी कार्यक्षमता का विस्तार या सुधार करता है। इसे एक सहायक साथी की तरह समझिए!

साइडकार के उपयोग

साइडकार बहुत बहुमुखी होते हैं। इनके सामान्य उपयोगों में शामिल हैं:

  • लॉग संग्रह: साइडकार मुख्य अनुप्रयोग से लॉग एकत्र करके उन्हें किसी केंद्रीय लॉग सेवा को भेजता है।
  • प्रॉक्सी: साइडकार नेटवर्क प्रॉक्सी सुविधा प्रदान करता है, जैसे सुरक्षा (mTLS) या ट्रैफ़िक प्रबंधन के लिए।
  • फ़ाइल समकालिकीकरण: साइडकार साझा वॉल्यूम को कॉन्फ़िगरेशन या डेटा के साथ अद्यतन रखता है।

दो कंटेनर वाला पॉड (YAML)

आइए देखें कि आप पॉड के YAML मेनिफेस्ट में कई कंटेनर कैसे परिभाषित करते हैं। प्रत्येक कंटेनर containers ऐरे में एक आइटम होता है।

ध्यान दें कि nginx-proxy और main-app कंटेनर spec.containers के अंतर्गत परिभाषित हैं।

apiVersion: v1
kind: Pod
metadata:
  name: multi-container-pod
spec:
  containers:
  - name: nginx-proxy
    image: nginx:latest
    ports:
    - containerPort: 80
  - name: main-app
    image: busybox:latest
    command: ["sh", "-c", "echo 'Hello from main app!' && sleep 3600"]

साझा स्टोरेज: emptyDir

एक ही पॉड के भीतर मौजूद कंटेनर Kubernetes के वॉल्यूम का उपयोग करके डेटा साझा कर सकते हैं। ऐसा करने का एक सरल तरीका emptyDir वॉल्यूम का उपयोग करना है।

emptyDir वॉल्यूम तब बनाया जाता है जब किसी पॉड को नोड से जोड़ा जाता है और जब तक वह पॉड उस नोड पर चल रहा होता है, तब तक मौजूद रहता है। यह अस्थायी स्टोरेज होता है।

उदाहरण: लॉग संग्राहक साइडकार

कल्पना कीजिए कि कोई मुख्य अनुप्रयोग लॉग को एक फ़ाइल में लिखता है। इसके बाद साइडकार इस लॉग फ़ाइल को पढ़कर उसे किसी लॉग सेवा को भेज सकता है।

इससे लॉग दर्ज करने का तर्क मुख्य अनुप्रयोग से अलग हो जाता है और अनुप्रयोग स्वच्छ तथा अपने मुख्य कार्य पर केंद्रित रहता है।

लॉग संग्राहक YAML (भाग 1)

यहाँ हमारे लॉग संग्राहक उदाहरण का YAML दिया गया है। हम log-volume नाम का एक emptyDir वॉल्यूम परिभाषित करते हैं। दोनों कंटेनर इस वॉल्यूम को माउंट करेंगे।

main-app कंटेनर साझा वॉल्यूम के भीतर /var/log/app.log में एक लॉग संदेश लिखता है।

apiVersion: v1
kind: Pod
metadata:
  name: log-collector-pod
spec:
  volumes:
  - name: log-volume
    emptyDir: {}
  containers:
  - name: main-app
    image: busybox:latest
    command: ["sh", "-c", "while true; do echo $(date) 'Main app log entry' >> /var/log/app.log; sleep 1; done"]
    volumeMounts:
    - name: log-volume
      mountPath: /var/log

लॉग संग्राहक YAML (भाग 2)

अब log-sidecar कंटेनर उसी log-volume को माउंट करता है। इसके बाद वह मुख्य अनुप्रयोग द्वारा लिखी गई लॉग फ़ाइल को लगातार पढ़ने के लिए tail -f का उपयोग करता है।

वास्तविक परिस्थिति में यह साइडकार इन लॉग को संसाधित करके इलास्टिकसर्च या स्प्लंक जैसी लॉग प्रणाली को भेजेगा।

apiVersion: v1
kind: Pod
metadata:
  name: log-collector-pod # Same Pod as before
spec:
  volumes:
  - name: log-volume
    emptyDir: {}
  containers:
  - name: main-app
    image: busybox:latest
    command: ["sh", "-c", "while true; do echo $(date) 'Main app log entry' >> /var/log/app.log; sleep 1; done"]
    volumeMounts:
    - name: log-volume
      mountPath: /var/log
  - name: log-sidecar
    image: busybox:latest
    command: ["sh", "-c", "tail -f /var/log/app.log"]
    volumeMounts:
    - name: log-volume
      mountPath: /var/log

त्वरित जाँच: साइडकार के लाभ

बहु-कंटेनर पॉड, विशेषकर साइडकार पैटर्न वाले पॉड, जटिल अनुप्रयोगों के प्रबंधन में कई लाभ प्रदान करते हैं।

साइडकार कंटेनर का उपयोग करने के प्रमुख लाभों में से कौन-से हैं?

पुनरावलोकन: बहु-कंटेनर पॉड

बहुत अच्छा! आपने बहु-कंटेनर पॉड और शक्तिशाली साइडकार पैटर्न के बारे में सीखा है।

  • पॉड ऐसे कई कंटेनर चला सकते हैं जो नेटवर्क और स्टोरेज साझा करते हैं।
  • साइडकार पैटर्न मुख्य अनुप्रयोग की कार्यक्षमता का विस्तार या सुधार करने में सहायता करता है।
  • सामान्य उपयोगों में लॉग संग्रह, प्रॉक्सी और डेटा समकालिकीकरण शामिल हैं।
  • emptyDir वॉल्यूम पॉड के भीतर अस्थायी साझा स्टोरेज प्रदान करते हैं।

Kubernetes में मजबूत और मॉड्यूलर अनुप्रयोग बनाने के लिए यह पैटर्न अत्यंत महत्वपूर्ण है!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Kubernetes की बुनियाद सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “बहु-कंटेनर पॉड्स (साइडकार्स)” पाठ निःशुल्क है?

हाँ — Kubernetes की बुनियाद अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बहु-कंटेनर पॉड्स (साइडकार्स)” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Kubernetes की बुनियाद पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“बहु-कंटेनर पॉड्स (साइडकार्स)” में मैं क्या सीखूँगा?

एक ही पॉड में साथ-साथ चलने वाले कई कंटेनर्स के पैटर्न जानिए, जैसे साइडकार कंटेनर्स। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Kubernetes की बुनियाद का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Kubernetes की बुनियाद शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Kubernetes की बुनियाद शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“बहु-कंटेनर पॉड्स (साइडकार्स)” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Kubernetes की बुनियाद पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Kubernetes की बुनियाद पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. पॉड: सबसे छोटी इकाई
  2. पॉड का जीवनचक्र और अवस्थाएँ
  3. बहु-कंटेनर पॉड्स (साइडकार्स)
  4. Init कंटेनर और स्टार्टअप क्रम
← Kubernetes की बुनियाद पर वापस जाएँ