ConfigMap 是 Kubernetes 中管理非敏感配置的核心资源,通过解耦应用与配置实现灵活性和可维护性。
一、ConfigMap 的核心功能及优势
1、配置解耦
将配置文件(如数据库地址、日志级别)与容器镜像分离,支持动态更新而无需重建镜像。
2、多形式注入
- 环境变量:将键值对注入容器环境变量。
- 文件挂载:以文件或目录形式挂载到容器文件系统(如 Nginx 的
conf.d
)。 - 命令行参数:通过环境变量间接传递配置到启动命令。
3、多场景支持
适用于开发、测试、生产等环境的差异化配置管理,支持跨 Pod 共享同一配置。
4、优点
- 避免了硬编码,将配置数据与应用代码分离。
- 便于维护和更新,可以单独修改 ConfigMap 而不需要重新构建镜像。
- 可以通过多种方式注入配置数据