Saat ini saya sedang mengerjakan proyek di mana saya perlu menetapkan jumlah variabel lingkungan yang lebih besar (sekitar 20).

Sekarang variabel ini harus dibagikan dengan beberapa kontainer di dalam sebuah pod. Saya menggunakan Configmap untuk menentukan nilai. Sekarang masalah saya adalah ini. Saya harus mengatur setiap variabel Lingkungan secara terpisah dan juga harus melakukan ini untuk setiap wadah yang cukup jelek dan banyak kode yang tidak perlu. Pada dasarnya terlihat seperti ini

kind: Pod
apiVersion: v1
...
containers:
- name: container1
  image: my-image:latest
  env:
  - name: VAR1
    valueFrom:
      configMapKeyRef:
        name: my-config
        key: my-var1
    ...
- name: container2
  image: some-other-image:stable
  env:
  - name: VAR1
    valueFrom:
      configMapKeyRef:
        name: my-config
        key: my-var1
    ...

Yang saya inginkan adalah secara otomatis menambahkan semua nilai dari configMap saya sebagai dan variabel lingkungan ke wadah. Pendekatan pertama saya adalah memasang configMap sebagai volume dan kemudian menjalankan skrip Shell saat startup. Mirip dengan ini

configMap

kind: ConfigMap
apiVersion: v1
...
data:
  envCat.sh: |
    #!/bin/sh
    export $(grep -v '^#' /etc/pod-config/envVars | xargs)
    cat
  envVars
    MY_VAR1="HELLO WORLD!!"
    MY_VAR2="I AM HERE"

Pod

kind: Pod
apiVersion: v1
...
spec:
  volumes:
  - name: config-volume:
    configMap:
      name: my-config
  containers:
  - name: container1
    image: my-image:latest
    volumeMounts:
    - name: config-volume
      mountPath: /etc/pod-config
    command:
    - /etc/pod-config/envCat.sh

Sayangnya perintah ekspor berfungsi dengan baik ketika saya menjalankannya secara manual di wadah tetapi menjalankan skrip Shell atau menjalankan /bin/sh /etc/pod-config/envCat.sh tidak berfungsi.

Adakah saran untuk mencapai apa yang ingin saya lakukan?

2
relief.melone 12 Maret 2019, 20:31

1 menjawab

Jawaban Terbaik

Anda harus menggunakan envFrom untuk memuat semua pasangan kunci:nilai sebagai variabel lingkungan di dalam wadah

6
P Ekambaram 12 Maret 2019, 18:01