मैं एक configMap को एक पर्यावरण चर में कैसे लोड करूं?

मेरे द्वारा किए गए कार्य

Kubernetes दस्तावेज़ीकरण केवल इस परिदृश्य का वर्णन करता है, और इसका अनुसरण करता है:

मैंने वास्तव में इसके साथ टेराफॉर्म के माध्यम से अपना configMap सेट किया है:

resource "kubernetes_config_map" "production_database_host" {
  metadata {
    name = "production-database-host"
  }

  data {
    connection_name = "${google_sql_database_instance.master.connection_name}"
  }
}

लेकिन कुबेरनेट्स के माध्यम से, यह इस तरह दिखेगा:

apiVersion: v1
data:
  connection_name: this_string_is_redacted
kind: ConfigMap
metadata:
  creationTimestamp: 2018-10-12T05:49:49Z
  name: production-database-host
  namespace: default
  resourceVersion: "316273"
  selfLink: /api/v1/namespaces/default/configmaps/production-database-host
  uid: a1c06423-cde2-11e8-b615-42010a800235

(kubectl get configmap production-database-host -o yaml चलाकर प्राप्त किया गया)

अब, मेरे पास एक परिनियोजन में एक कार्यशील कंटेनर भी है, जहाँ मैंने एक पर्यावरण चर जोड़ा है:

env:
 - name: INSTANCE_CONNECTION_NAME
   valueFrom:
     configMapKeyRef:
       name: production-database-host
       key: connection_name

हालांकि, इस कॉन्फ़िगरेशन को लागू करने से मुझे मिलता है:

$ kubectl apply -f .

error: error converting YAML to JSON: yaml: line 39: did not find expected key

मुझसे यहां क्या गलत हो रहा है? यह केवल this_string_is_redacted को INSTANCE_CONNECTION_NAME पर्यावरण चर में लोड क्यों नहीं करेगा?

संपादित करें: मेरे बुनियादी ढांचे के सभी स्रोत इस repo में हैं। टेराफ़ॉर्म फ़ाइलें पहले लागू की जाती हैं, वे कुबनेरनेट क्लस्टर बनाते हैं और configMap जोड़ते हैं। फिर मैं कुबेरनेट्स कॉन्फ़िगरेशन लागू करता हूं।

0
Amin Shah Gilani 12 अक्टूबर 2018, 09:25

1 उत्तर

सबसे बढ़िया उत्तर

यह एक स्वरूपण मुद्दा था, दुर्भाग्य से ब्लॉक:

env:
 - name: INSTANCE_CONNECTION_NAME
   valueFrom:
     configMapKeyRef:
       name: production-database-host
       key: connection_name

मुझे जितना होना चाहिए था उससे एक स्थान अधिक इंडेंट किया गया था। बाकी सब ठीक काम करता है।

1
Amin Shah Gilani 12 अक्टूबर 2018, 19:32