Kubernetes 应用配置与数据存储管理
1. Kubernetes 应用配置管理
Kubernetes 为应用配置管理提供了多种工具,核心要求是应用从环境中读取配置设置,理想情况下可借助文件和环境变量的层级结构。通过 ConfigMaps 和 Secrets,能灵活支持部署流程。设计时需考虑两个因素:应用是否需响应实时配置更新,以及如何管理敏感数据。
1.1 实时配置更新
若无需替换 Pod 就能实现实时更新,选择有限。不能用环境变量,因其变更会导致 Pod 替换。可使用卷挂载从文件加载配置变更,但需更新现有 ConfigMap 或 Secret 对象来部署变更,也不能更改卷指向新的配置对象,否则也会替换 Pod。
另一种方法是每次部署新对象,在对象名中使用版本方案,并更新应用部署以引用新对象。虽失去实时更新功能,但能获得配置变更的审计跟踪,且便于恢复到先前设置。
以下为两种方式的对比:
| 方式 | 实时更新 | 审计跟踪 | 恢复设置 |
| ---- | ---- | ---- | ---- |
| 更新现有对象 | 支持 | 无 | 较难 |
| 部署新对象 | 不支持 | 有 | 容易 |
1.2 敏感数据管理
大型组织可能有专门的配置管理团队负责部署配置文件,适合对 ConfigMaps 和 Secrets 采用版本化方法,团队提前从字面量或受控文件部署新对象。
另一种是全自动部署,从源代码控制中的 YAML 模板创建 ConfigMaps 和 Secrets。YAML 文件含占位符,部署过程从安全存储(如 Azur
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



