Helm Academy · पाठ

Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना

Values लीक किए बिना Secret ऑब्जेक्ट रेंडर करना

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

Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना, CoddyKit पर Helm Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Helm Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Helm Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

चार्ट गोपनीय संसाधन बना सकते हैं

कभी-कभी आपके चार्ट को स्वयं Kubernetes का गोपनीय संसाधन ऑब्जेक्ट बनाना पड़ता है। सावधानी से काम करने पर आप मान लीक किए बिना उसका टेम्पलेट बना सकते हैं।

गोपनीय मेनिफ़ेस्ट का स्वरूप

Kubernetes का गोपनीय संसाधन केवल डेटा अनुभाग वाला एक मेनिफ़ेस्ट होता है। डेटा के अंतर्गत प्रत्येक मान Base64-एन्कोड किया हुआ पाठ होना चाहिए।

apiVersion: v1
kind: Secret
metadata:
  name: db-credentials

b64enc से डेटा एन्कोड करें

डेटा के अंतर्गत प्रत्येक मान को एन्कोड करें। Sprig सहायक b64enc सादे पाठ वाली स्ट्रिंग को उस Base64 रूप में बदलता है जिसकी Kubernetes अपेक्षा करता है।

data:
  password: {{ .Values.password | b64enc }}

एन्कोडिंग छोड़ने के लिए stringData का उपयोग करें

जब आप b64enc को हाथ से लिखने से बचना चाहते हों, तो stringData को प्राथमिकता दें। Kubernetes सर्वर की ओर से उन मानों को आपके लिए एन्कोड कर देता है।

stringData:
  password: {{ .Values.password | quote }}

एन्कोडिंग अब भी गोपनीय नहीं है

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

उसे NOTES में प्रिंट न करें

एक सामान्य लीक मान को NOTES.txt में दिखाना है। इसके बजाय उसे प्राप्त करने का तरीका प्रिंट करें, ताकि सादा पाठ कभी कमांड आउटपुट में न आए।

मौजूदा गोपनीय संसाधन का पुनः उपयोग करें

इससे भी बेहतर है कि उपयोगकर्ताओं को उनके द्वारा अलग से बनाए गए existingSecret की ओर संकेत करने दें, ताकि आपके चार्ट को मान कभी प्राप्त ही न हो।

{{- if not .Values.existingSecret }}
kind: Secret
{{- end }}

अनिवार्य मान की आवश्यकता रखें

जब कोई गोपनीय मान वास्तव में आवश्यक हो, तो अनिवार्य फ़ंक्शन मान न मिलने पर स्पष्ट संदेश के साथ रेंडरिंग रोक देता है।

password: {{ required "password is required" .Values.password | b64enc }}

माउंट करें, सीधे शामिल न करें

पॉड को गोपनीय संसाधन secretKeyRef या माउंट किए गए वॉल्यूम के माध्यम से पढ़ने दें, न कि शाब्दिक मान को कंटेनर के पर्यावरण चर में सीधे लिखें।

valueFrom:
  secretKeyRef:
    name: db-credentials
    key: password

रोटेशन के लिए व्याख्या जोड़ें

गोपनीय संसाधन बदलने पर पॉड को फिर से चलाने के लिए, डिप्लॉयमेंट में चेकसम की व्याख्या जोड़ें, ताकि नया मान रीस्टार्ट शुरू कर सके।

checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}

रणनीतियों को मिलाएँ

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

त्वरित जाँच

आप Kubernetes से अपने लिए Base64 एन्कोडिंग कैसे करवा सकते हैं?

पुनरावलोकन

आपने गोपनीय संसाधन का टेम्पलेट सुरक्षित रूप से बनाना सीखा: b64enc या stringData से एन्कोड करें, मौजूदा गोपनीय संसाधनों को प्राथमिकता दें और मान को कभी प्रिंट न करें। 🎉

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

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

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

पाठ्यक्रम
30
पाठ
120

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

क्या “Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना” पाठ निःशुल्क है?

हाँ—“Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Helm Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Helm Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना” में मैं क्या सीखूँगा?

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

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

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

“Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस Helm Academy पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. Secrets को values.yaml में क्यों नहीं रखना चाहिए
  2. helm-secrets और SOPS से Values को एन्क्रिप्ट करना
  3. External Secrets Operators से Secrets प्राप्त करना
  4. Kubernetes Secret संसाधनों के लिए टेम्पलेट बनाना
← Helm Academy पर वापस जाएँ