很多應(yīng)用在其初始化或運(yùn)行期間要依賴一些配置信息。 大多數(shù)時候,存在要調(diào)整配置參數(shù)所設(shè)置的數(shù)值的需求。 ConfigMap 是 Kubernetes 的一種機(jī)制淆衷,可讓你將配置數(shù)據(jù)注入到應(yīng)用的 Pod 內(nèi)部。
ConfigMap 概念允許你將配置清單與鏡像內(nèi)容分離排惨,以保持容器化的應(yīng)用程序的可移植性吭敢。 例如,你可以下載并運(yùn)行相同的容器鏡像來啟動容器暮芭, 用于本地開發(fā)鹿驼、系統(tǒng)測試或運(yùn)行實(shí)時終端用戶工作負(fù)載。
本文對ConfigMap 的創(chuàng)建方式與使用方式進(jìn)行描述辕宏。
ConfigMap 的創(chuàng)建
可以通過兩大類共五種方式創(chuàng)建ConfigMap:
(一)kubectl create configmap
創(chuàng)建
(1)通過命令行參數(shù)字面直接創(chuàng)建
(2)通過指定文件創(chuàng)建
(3)通過指定目錄創(chuàng)建
(4)通過指定環(huán)境變量配置文件創(chuàng)建
(二)通過yaml
文件創(chuàng)建
ConfigMap 的使用
ConfigMap 的作用域?yàn)閚amespace畜晰,在同一個namespace下的Pod可以使用如下方式使用ConfigMap 里的配置:
在容器命令和參數(shù)內(nèi)
容器的環(huán)境變量
在只讀卷里面添加一個文件,讓應(yīng)用來讀取
編寫代碼在 Pod 中運(yùn)行瑞筐,使用 Kubernetes API 來讀取 ConfigMap
參考資料
https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/