configmap官網
ConfigMap是一種 API 對象,使用時, Pods 可以將其用作環境變量、命令行參數或者存儲卷中的配置文件。ConfigMap將配置和Pod解耦,更易于配置文件的更改和管理。ConfigMap 并不提供保密或者加密功能。 如果你想存儲的數據是機密的,請使用Secret。
參考資料
ConfigMap的生命周期以及使用方式,
# configmap 配置文件
apiVersion: v1
kind: ConfigMap
metadata:name: k8s-config
data:key1: hellokey2: k8s
》》volume掛載
# 在volumes配置中通過對configMap的name進行匹配,然后根據key字段取出對應的配置,并綁定到對印的path上。
volumes:- name: "test-log-config" #創建volume的名稱 configMap: name: "test-conf" #引用configMap卷items:- key: "log4j2.xml" #根據key獲取configMap指定的配置path: "log4j2.xml"- name: "test-init-config"configMap:name: "test-conf"items:- key: "init-config.json" #根據key獲取configMap指定的配置path: "init-config.json"- name: "test-application"configMap:name: "test-conf"items:- key: "test-application-remote.properties" #根據key獲取configMap指定的配置path: "application-remote.properties"# 接下來就是使用volumeMounts屬性對volume進行mount,當Pod實例化以后會將配置文件生成到具體路徑供業務系統使用:volumeMounts:- name: "test-application"mountPath: "/home/test/app/config/application-remote.properties"subPath: "application-remote.properties"- name: "test-init-config"mountPath: "/home/test/app/config/init-config.json"subPath: "init-config.json"- name: "test-log-config"mountPath: "/home/test/app/config/log4j2.xml"subPath: "log4j2.xml"