ConfigMap を使ってみる (kubernetes)
kubernetes
Published: 2021-01-02

やったこと

ConfigMap を使ってみます。

確認環境

$ k version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:18:23Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:41:49Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}

調査

今回は Volume マウントを使って情報を渡します。

ConfigMap の作成

hoge.yaml

 aaa:
   bbb: 999
 ccc:
   ddd: 888
$ k create configmap --save-config my-configmap --from-file=hoge.yaml
configmap/my-configmap created
$ k get cm
NAME           DATA   AGE
my-configmap   1      32s

Pod に Volume マウントしてファイルを渡す

sample3.yaml

apiVersion: v1
kind: Pod
metadata:
  name: first-configmap
spec:
  containers:
    - name: nginx-container
      image: nginx:1.17
      volumeMounts:
      - name: my-tmp-volume
        mountPath: /tmp
  volumes:
  - name: my-tmp-volume
    configMap:
      name: my-configmap
      items:
      - key: hoge.yaml
        path: hoge_new.yaml
$ k apply -f sample3.yaml
pod/first-configmap created
$ k get pod
NAME              READY   STATUS    RESTARTS   AGE
first-configmap   1/1     Running   0          5s

コンテナからファイルを読み込む。

$ k exec -it first-configmap -- cat /tmp/hoge_new.yaml
aaa:
  bbb: 999
ccc:
  ddd: 888