Configmapに関するドキュメントがあります。
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#define-container-environment-variables-using-configmap-data
私が理解していることから、2つのファイル(game.propertiesとui.properties)から構成マップ(game-config-2)を作成できます。
kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/kubectl/game.properties --from-file=configure-pod-container/configmap/kubectl/ui.properties
これで、configmapが表示されます
kubectl describe configmaps game-config-2
Name: game-config-2
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
game.properties: 158 bytes
ui.properties: 83 bytes
そのconfigmapをどのように使用できますか?私はこの方法を試しました:
envFrom:
- configMapRef:
name: game-config-2
しかし、これは機能しておらず、env変数はconfigmapから選択していません。または、envFromの下に2つのconfigMapRefを置くことはできますか?
この問題の1つの解決策は、複数のデータキー/値を使用してConfigMapを作成することです。
apiVersion: v1
kind: ConfigMap
metadata:
name: conf
data:
game.properties: |
<paste file content here>
ui.properties: |
<paste file content here>
ファイルの内容を貼り付ける前に、|
記号を忘れないでください。
構成マップ内の特定のファイルからポッド内の環境変数としてすべてのキーと値のペアをロードできるかどうかはわかりません。特定の構成マップからすべてのキーと値のペアをポッド内の環境変数としてロードできます。下記参照
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
SPECIAL_LEVEL: very
SPECIAL_TYPE: charm
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: gcr.io/google_containers/busybox
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- configMapRef:
name: special-config
restartPolicy: Never
SPECIAL_LEVEL=very
SPECIAL_TYPE=charm
@Emruz_Hossainが述べたように、game.propertiesとui.propertiesにenv変数しかない場合、これはあなたのために働くことができます
kubectl create configmap game-config-2 --from-env-file=configure-pod-container/configmap/kubectl/game.properties --from-env-file=configure-pod-container/configmap/kubectl/ui.properties