很多应用在其初始化或运行期间要依赖一些配置信息。 大多数时候,存在要调整配置参数所设置的数值的需求。 ConfigMap 是 Kubernetes 的一种机制,可让你将配置数据注入到应用的 Pod 内部。
ConfigMap 概念允许你将配置清单与镜像内容分离,以保持容器化的应用程序的可移植性。 例如,你可以下载并运行相同的容器镜像来启动容器, 用于本地开发、系统测试或运行实时终端用户工作负载。
本文对ConfigMap 的创建方式与使用方式进行描述。
ConfigMap 的创建
可以通过两大类共五种方式创建ConfigMap:
(一)kubectl create configmap
创建
(1)通过命令行参数字面直接创建
(2)通过指定文件创建
(3)通过指定目录创建
(4)通过指定环境变量配置文件创建
(二)通过yaml
文件创建
ConfigMap 的使用
ConfigMap 的作用域为namespace,在同一个namespace下的Pod可以使用如下方式使用ConfigMap 里的配置:
在容器命令和参数内
容器的环境变量
在只读卷里面添加一个文件,让应用来读取
编写代码在 Pod 中运行,使用 Kubernetes API 来读取 ConfigMap
参考资料
https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/