|
| 1 | +--- |
| 2 | +title: निर्भर एनवायरनमेंट वेरिएबल्स परिभाषित करें |
| 3 | +content_type: task |
| 4 | +weight: 20 |
| 5 | +--- |
| 6 | + |
| 7 | +<!-- overview --> |
| 8 | + |
| 9 | +यह पृष्ठ दिखाता है कि कुबेरनेट्स पॉड में किसी कंटेनर के लिए निर्भर एनवायरनमेंट वेरिएबल्स कैसे परिभाषित करें। |
| 10 | + |
| 11 | +## {{% heading "prerequisites" %}} |
| 12 | + |
| 13 | +{{< include "task-tutorial-prereqs.md" >}} |
| 14 | + |
| 15 | + |
| 16 | +<!-- steps --> |
| 17 | + |
| 18 | +## कंटेनर के लिए एक निर्भर एनवायरनमेंट वेरिएबल परिभाषित करें {#define-an-environment-dependent-variable-for-a-container} |
| 19 | + |
| 20 | +जब आप एक पॉड बनाते हैं, तो आप उसमें चलने वाले कंटेनरों के लिए निर्भर एनवायरनमेंट वेरिएबल्स सेट कर सकते हैं। निर्भर एनवायरनमेंट वेरिएबल्स सेट करने के लिए, आप कॉन्फ़िगरेशन फ़ाइल में `env` की `value` में $(VAR_NAME) का उपयोग कर सकते हैं। |
| 21 | + |
| 22 | +इस अभ्यास में, आप एक ऐसा पॉड बनाएंगे जो एक कंटेनर चलाता है। |
| 23 | +पॉड के लिए कॉन्फ़िगरेशन फ़ाइल में एक निर्भर एनवायरनमेंट वेरिएबल्स परिभाषित किया गया है, जिसका सामान्य उपयोग निर्धारित किया गया है। |
| 24 | +पॉड के लिए कॉन्फ़िगरेशन मैनिफेस्ट इस प्रकार है: |
| 25 | + |
| 26 | +{{% code_sample file="pods/inject/dependent-envars.yaml" %}} |
| 27 | + |
| 28 | +1. उस मैनिफेस्ट के आधार पर एक पॉड बनाएँ: |
| 29 | + |
| 30 | + ```shell |
| 31 | + kubectl apply -f https://k8s.io/examples/pods/inject/dependent-envars.yaml |
| 32 | + ``` |
| 33 | + ``` |
| 34 | + pod/dependent-envars-demo created |
| 35 | + ``` |
| 36 | + |
| 37 | +2. चल रहे पॉड्स की सूची देखें: |
| 38 | + |
| 39 | + ```shell |
| 40 | + kubectl get pods dependent-envars-demo |
| 41 | + ``` |
| 42 | + ``` |
| 43 | + NAME READY STATUS RESTARTS AGE |
| 44 | + dependent-envars-demo 1/1 Running 0 9s |
| 45 | + ``` |
| 46 | + |
| 47 | +3. अपने पॉड में चल रहे कंटेनर के लॉग्स देखें: |
| 48 | + |
| 49 | + ```shell |
| 50 | + kubectl logs pod/dependent-envars-demo |
| 51 | + ``` |
| 52 | + ``` |
| 53 | +
|
| 54 | + UNCHANGED_REFERENCE=$(PROTOCOL)://172.17.0.1:80 |
| 55 | + SERVICE_ADDRESS=https://172.17.0.1:80 |
| 56 | + ESCAPED_REFERENCE=$(PROTOCOL)://172.17.0.1:80 |
| 57 | + ``` |
| 58 | + |
| 59 | +जैसा कि ऊपर दिखाया गया है, आपने `SERVICE_ADDRESS` के लिए एक सही डिपेंडेंसी रेफरेंस, |
| 60 | +`UNCHANGED_REFERENCE` के लिए एक गलत डिपेंडेंसी रेफरेंस, और `ESCAPED_REFERENCE` के लिए एक स्किप किया गया रेफरेंस परिभाषित किया है। |
| 61 | + |
| 62 | +जब कोई एनवायरनमेंट वेरिएबल पहले से परिभाषित होता है और उसका रेफरेंस दिया जाता है, |
| 63 | +तो वह रेफरेंस सही तरीके से हल हो सकता है, जैसा कि `SERVICE_ADDRESS` के मामले में हुआ। |
| 64 | + |
| 65 | +ध्यान दें कि `env` सूची में क्रम महत्वपूर्ण होता है। |
| 66 | +अगर कोई वेरिएबल सूची में नीचे परिभाषित है, तो उसे परिभाषित नहीं माना जाता। |
| 67 | +इसी कारण से `UNCHANGED_REFERENCE` `$(PROTOCOL)` को हल करने में विफल रहता है। |
| 68 | + |
| 69 | +जब कोई एनवायरनमेंट वेरिएबल परिभाषित नहीं होता या उसमें कुछ वेरिएबल्स ही शामिल होते हैं, |
| 70 | +तो वह वेरिएबल एक सामान्य स्ट्रिंग की तरह माना जाता है, जैसे कि `UNCHANGED_REFERENCE।` |
| 71 | +ध्यान दें कि सामान्यतः गलत तरीके से पार्स किए गए एनवायरनमेंट वेरिएबल्स कंटेनर को शुरू होने से नहीं रोकते। |
| 72 | + |
| 73 | +`$(VAR_NAME)` सिंटैक्स को डबल `$`, जैसे `$$(VAR_NAME)` से एस्केप किया जा सकता है। |
| 74 | +एस्केप किए गए रेफरेंस कभी भी विस्तारित नहीं होते, चाहे संबंधित वेरिएबल परिभाषित हो या नहीं। |
| 75 | +यह `ESCAPED_REFERENCE` उदाहरण में देखा जा सकता है। |
| 76 | + |
| 77 | +## {{% heading "whatsnext" %}} |
| 78 | + |
| 79 | +* [एनवायरनमेंट वेरिएबल्स](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) के बारे में और जानें। |
| 80 | +* [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core) देखें। |
0 commit comments