कॉन्फ़िगरेशन के लिए ConfigMaps
ConfigMaps का उपयोग करके ऐप्लिकेशन कॉन्फ़िगरेशन को कंटेनर इमेजों से अलग रखिए।
कॉन्फ़िगरेशन के लिए ConfigMaps, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
ConfigMaps का परिचय
एप्लिकेशन को अक्सर कॉन्फ़िगरेशन डेटा की आवश्यकता होती है, जैसे डेटाबेस कनेक्शन स्ट्रिंग या फीचर फ़्लैग।
इस जानकारी को सीधे अपने कंटेनर इमेज में हार्डकोड करने से वे कठोर और अपडेट करना कठिन हो सकती हैं।
ConfigMaps आपके एप्लिकेशन के गैर-संवेदनशील कॉन्फ़िगरेशन को बाहरी और केंद्रीकृत बनाने का तरीका प्रदान करते हैं, जिससे आपकी इमेज लचीली बनी रहती हैं।
ConfigMap क्या है
ConfigMap एक कुबेरनेट्स ऑब्जेक्ट है, जिसका उपयोग गैर-संवेदनशील डेटा को कुंजी-मान युग्मों में संग्रहीत करने के लिए किया जाता है।
इसे अपने एप्लिकेशन की सेटिंग के लिए एक केंद्रीय स्थान समझिए, जिसे आपके पॉड एक्सेस कर सकते हैं।
- कॉन्फ़िगरेशन को अलग करता है: कॉन्फ़िगरेशन को आपके एप्लिकेशन कोड से अलग रखता है।
- लचीलापन: इमेज को दोबारा बनाए बिना सेटिंग आसानी से बदल सकते हैं।
- पोर्टेबिलिटी: अलग-अलग कॉन्फ़िगरेशन वाले परिवेशों के बीच अपना ऐप ले जा सकते हैं।
ConfigMaps बनाना:命令ात्मक तरीका
आप kubectl create configmap का उपयोग करके कमांड लाइन से सीधे ConfigMap बना सकते हैं।
यह तरीका सरल, एक बार उपयोग होने वाले कॉन्फ़िगरेशन या त्वरित परीक्षण के लिए अच्छा है।
आइए, लॉग स्तर की सेटिंग के साथ my-app-config नाम का ConfigMap बनाएँ।
kubectl create configmap my-app-config \
--from-literal=log_level=INFOअपने ConfigMap का निरीक्षण करना
ConfigMap बनाने के बाद, आप उसका विवरण देख सकते हैं और उसकी सामग्री की पुष्टि कर सकते हैं।
उसमें संग्रहीत डेटा सहित पूरी YAML परिभाषा देखने के लिए -o yaml फ़्लैग के साथ kubectl get का उपयोग करें।
kubectl get configmap my-app-config -o yamlघोषणात्मक ConfigMap (YAML)
उत्पादन और संस्करण नियंत्रण के लिए YAML मेनिफेस्ट का उपयोग करके ConfigMaps परिभाषित करना मानक तरीका है।
यह तरीका आपके कॉन्फ़िगरेशन को दोबारा बनाने योग्य और आपके एप्लिकेशन कोड के साथ आसानी से प्रबंधित करने योग्य बनाता है।
यहाँ एक गेम के कॉन्फ़िगरेशन का YAML उदाहरण दिया गया है:
apiVersion: v1
kind: ConfigMap
metadata:
name: game-config
data:
game.properties: |
level=easy
player_limit=10
ui.properties: |
theme=dark
language=enYAML से ConfigMap लागू करना
game-config ConfigMap बनाने के लिए, पिछले दृश्य की YAML सामग्री को एक फ़ाइल (जैसे, game-config.yaml) में सहेजें।
फिर, इसे अपने क्लस्टर में तैनात करने के लिए kubectl apply -f का उपयोग करें।
# Save the YAML to game-config.yaml
kubectl apply -f game-config.yaml
kubectl get configmap game-config -o yamlपर्यावरण चर के रूप में ConfigMaps
पॉड द्वारा ConfigMap डेटा का उपयोग करने का एक सामान्य तरीका इसे पर्यावरण चरों के रूप में इंजेक्ट करना है।
आप अलग-अलग कुंजियों को उपलब्ध कराने के लिए निर्दिष्ट कर सकते हैं या ConfigMap के सभी कुंजी-मान युग्म उपलब्ध कराने के लिए envFrom का उपयोग कर सकते हैं।
यह सरल एप्लिकेशन सेटिंग के लिए आदर्श है।
apiVersion: v1
kind: Pod
metadata:
name: my-env-pod
spec:
containers:
- name: my-container
image: busybox
command: ["sh", "-c", "echo Log Level: $LOG_LEVEL && sleep 3600"]
env:
- name: LOG_LEVEL
valueFrom:
configMapKeyRef:
name: my-app-config
key: log_levelडेमो: पर्यावरण कॉन्फ़िगरेशन वाला पॉड
आइए, पॉड की परिभाषा चलाकर देखें कि LOG_LEVEL पर्यावरण चर कैसे काम करता है।
पॉड YAML को env-pod.yaml में सहेजें, उसे लागू करें और फिर पॉड के लॉग जाँचें।
# Save Pod YAML to env-pod.yaml
kubectl apply -f env-pod.yaml
kubectl logs my-env-pod
# Clean up
kubeclt delete pod my-env-podमाउंट किए गए वॉल्यूम के रूप में ConfigMaps
ऐसे एप्लिकेशन के लिए जिन्हें कॉन्फ़िगरेशन फ़ाइलों (जैसे, nginx.conf, application.properties) की अपेक्षा होती है, आप ConfigMap को वॉल्यूम के रूप में माउंट कर सकते हैं।
ConfigMap का प्रत्येक कुंजी-मान युग्म कंटेनर के अंदर निर्दिष्ट माउंट पथ पर एक फ़ाइल बन जाता है।
apiVersion: v1
kind: Pod
metadata:
name: my-volume-pod
spec:
containers:
- name: my-container
image: busybox
command: ["sh", "-c", "echo 'Contents of game.properties:' && cat /etc/config/game.properties && sleep 3600"]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: game-configडेमो: माउंट किए गए कॉन्फ़िगरेशन वाला पॉड
अब आइए, ऐसा पॉड तैनात करें जो हमारे game-config ConfigMap को वॉल्यूम के रूप में माउंट करे।
पॉड YAML को volume-pod.yaml में सहेजें, उसे लागू करें और माउंट की गई फ़ाइल की सामग्री देखने के लिए लॉग का निरीक्षण करें।
# Save Pod YAML to volume-pod.yaml
kubectl apply -f volume-pod.yaml
kubectl logs my-volume-pod
# Clean up
kubeclt delete pod my-volume-podत्वरित जाँच: ConfigMaps
कुबेरनेट्स ConfigMaps के बारे में निम्नलिखित में से कौन-सा कथन सही है?
पुनरावलोकन: ConfigMaps
बहुत बढ़िया! आपने सीखा कि ConfigMaps कुबेरनेट्स में कॉन्फ़िगरेशन प्रबंधित करने में कैसे मदद करते हैं:
- उद्देश्य: गैर-संवेदनशील कॉन्फ़िगरेशन डेटा को कुंजी-मान युग्मों के रूप में संग्रहीत करना।
- निर्माण:
kubectl createके साथ命令ात्मक रूप से या YAML के साथ घोषणात्मक रूप से। - उपयोग: पॉड के अंदर पर्यावरण चरों या माउंट की गई फ़ाइलों के रूप में।
- लाभ: कॉन्फ़िगरेशन को एप्लिकेशन कोड से अलग करके लचीलापन बढ़ाना।
अब हम कुबेरनेट्स Secrets का उपयोग करके संवेदनशील जानकारी को सुरक्षित रूप से संभालने का तरीका सीखेंगे!
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “कॉन्फ़िगरेशन के लिए ConfigMaps” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “कॉन्फ़िगरेशन के लिए ConfigMaps” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“कॉन्फ़िगरेशन के लिए ConfigMaps” में मैं क्या सीखूँगा?
ConfigMaps का उपयोग करके ऐप्लिकेशन कॉन्फ़िगरेशन को कंटेनर इमेजों से अलग रखिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“कॉन्फ़िगरेशन के लिए ConfigMaps” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- कॉन्फ़िगरेशन के लिए ConfigMaps
- संवेदनशील डेटा के लिए सीक्रेट्स
- स्थायी वॉल्यूम और दावे
- StorageClasses और गतिशील प्रावधान