【k8s】Kubernetes ~ ConfigMap ~

◾️はじめに

Kubernetes の ConfigMap に関するメモ。

目次

【1】ConfigMap
 1)使用上の注意
【2】関連する kubectlコマンド
 1)kubectl get configmap
 2)kubectl patch configmap
【3】サンプル
 例1:ConfigMapを更新するには

【1】ConfigMap

* Podの外部から情報を読み込むことができる
 kubernetes が提供するキーバリューストアのリソース

https://kubernetes.io/ja/docs/concepts/configuration/configmap/

1)使用上の注意

* あくまで、『機密性のないデータ』をキーと値のペアを保存するサービス

https://kubernetes.io/ja/docs/concepts/configuration/configmap/

より抜粋
〜〜〜〜
注意:
ConfigMapは機密性や暗号化を提供しません。
保存したいデータが機密情報である場合は、
ConfigMapの代わりにSecretを使用するか、
追加の(サードパーティー)ツールを使用してデータが非公開になるようにしてください。
〜〜〜〜

【2】関連する kubectlコマンド

1)kubectl get configmap

* リソース「configmap」の一覧表示

https://kubernetes.io/docs/reference/kubectl/generated/kubectl_get/

kubectl get configmap -n <namespace>

kubectl get configmap <configmap-name> -n <namespace> -o yaml

2)kubectl patch configmap

* リソース「configmap」の項目の更新

https://kubernetes.io/docs/reference/kubectl/generated/kubectl_patch/

kubectl patch configmap <configmap-name> -n <namespace> --patch-file <file_path>

【3】サンプル

例1:ConfigMapを更新するには

# 事前準備: namespace の確認
$ kubectl get namespace

# Step1: configmap の名前を確認
# kubectl get configmap -n <namespace>
$ kubectl get configmap -n demo_appli
# demo_configmap とする

# Step2: 現在の設定をYAMLファイルとして出力
# kubectl get configmap <configmap-name> -n <namespace> -o yaml > <current_setting>.yaml
$ kubectl get configmap demo_configmap -n demo_appli -o yaml > /tmp/demo_appli-configmap.yaml

# Step3: YAMLファイルを修正
$ cp /tmp/demo_appli-configmap.yaml /tmp/demo_appli-configmap-patch.yaml
$ vim /tmp/demo_appli-configmap-patch.yaml
# 設定ファイルに今回追加したい

# 不安な場合、以下のコマンドを使って反映を確認
$ kubectl diff -f /tmp/demo_appli-configmap-patch.yaml

# Step4: 修正を適用
# 修正を適用
# kubectl patch configmap <configmap-name> -n <namespace> --patch-file <file_path>
$ kubectl patch configmap demo_configmap -n demo_appli --patch-file /tmp/demo_appli-configmap-patch.yaml

# Pod を再起動する
## Pod nameを取得する
$ kubectl get pod -n demo_apple
# demo_pod とする

## Pod を削除し再起動する
$ kubectl delete pod demo_pod -n demo_appli
# Pod 一覧を取得し、Pod名が異なっていて、Runningになっていること確認する
$ kubectl get pod -n demo_apple
# => 後は、変更が反映されているかを確認するだけ

関連記事

KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
KubernetesLinux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/01/02/005053
Kubernetes ~ MicroK8s / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/03/10/230329
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
Kubernetes ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/04/013529
KubernetesKubernetes Dashboard
https://dk521123.hatenablog.com/entry/2023/05/27/144144
Kubernetes ~ 基本編 / Pod ~
https://dk521123.hatenablog.com/entry/2024/03/16/111336
Kubernetes ~ 基本編 / minikube ~
https://dk521123.hatenablog.com/entry/2023/05/07/214515
Kubernetes ~ 基本編 / kubeconfigファイル ~
https://dk521123.hatenablog.com/entry/2023/05/24/211803
Kubernetes ~ 基本編 / Helm ~
https://dk521123.hatenablog.com/entry/2023/05/11/000840
kubectlコマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555
Amazon EKS ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/02/23/000000
Kubernetes / minikube に関するトラブル
https://dk521123.hatenablog.com/entry/2024/10/24/210338