KubernetesのConfigMapをファイルから作成する

目的

ConfigMapをファイルから作成する。
ファイルから作成することで、ConfigMapのyamlファイルなどは
変更しなくてもよくなるため、保守性が上がることが期待できる。

前提

・kubernetesが作成済みであること
・kubectlコマンドが実行可能であること

ConfigMapに設定するファイルを作成する

作成ファイル:sample.txt

aa="test"
bb="TEST"
cc="てすと"

kubectlコマンドでConfigMapを作成する

1kubectl create configmap sample-config --from-file=sample.txt

作成されたConfigMapを確認する

1kubectl get configmap sample-config

yaml形式で見たい場合、以下のコマンドを実行する

1kubectl get configmap sample-config -o yaml

上記で作成したConfigMapを参照するPodをデプロイする。

作成ファイル:pod-sample.yaml

apiVersion: v1
kind: Pod
metadata:
 name: configmap-demo-pod
spec:
 containers:
  - name: demo
   image: alpine
   command: ["sleep", "3600"]
   volumeMounts:
   - name: config
 mountPath: "/config"
  readOnly: true
  volumes:
   # Podレベルでボリュームを設定し、Pod内のコンテナにマウントします。
   - name: config
    configMap:
     # マウントしたいConfigMapの名前を指定します。
     name: sample-config
     # ファイルとして作成するConfigMapのキーの配列
     items:
     - key: "sample.txt"
      path: "sample.txt"

 

以下のコマンドでPodをデプロイする

1kubectl apply -f pod-sample.yaml

作成したPodに入りマウントしたConfigMapの情報を確認する。

以下のコマンドで対象Podを確認する。

1kubectl get po

以下のコマンドでPodに入る

1kubectl exec -it configmap-demo-pod /bin/sh

マウントしたファイルを確認する

ファイルがマウントされているか確認する

1ls -l /config

ファイルの中身を確認する

1cat /config/sample.txt

ぜひ参考にしてみてください!

Smallitのサービス