生产环境 configmap 配置更新方式

2022-05-24 19:24:39 +08:00
 S2Line
想请教下大家生产环境如果使用 configmap 如何做配置更新。
我们现在的方式是直接修改 configmap ,回退是靠变更前拷贝原 configmap 内容,然后恢复回去。但是如果出现修改配置异常,可能会导致服务中断,是一个较大的风险点。
因为 configmap 不带版本管理,所以如果 configmap 配置修改出现异常,如何做版本回退呢?

目前想到的几个方案:
一、换配置中心(spring cloud config 、携程的 Apollo 之类的)。
pros:配置可以统一控制,实现灰度发布。
cons: 开发改造和后期维护成本较高

二、配置变更时,新建一个新的版本的 deployment ,pod 数量为 1 ,然后将原来的内容拷贝创建一个新的 configmap ,并修改配置。通过人工的方式实现金丝雀。
pros:不引入其他组件,对现有系统无影响。
cons: 变更的时候较为复杂

不知道大家有什么想法和建议,欢迎讨论哈。
943 次点击
所在节点    问与答
5 条回复
Alliot
2022-05-24 20:22:45 +08:00
当前的描述文件是纯手工的还是怎么?
helm ? kustomize ?
37Y37
2022-05-24 20:29:58 +08:00
我们用配置中心,etcd+confd ,配合写了个管理系统,不需要开发介入,纯运维侧完成,比较方便可以做个参考: https://blog.ops-coffee.cn/s/qg42uqj9rnswqdmd41cyug
Jooooooooo
2022-05-24 20:41:19 +08:00
zk 下发.
wd
2022-05-25 05:49:10 +08:00
kustomize 支持 config map generater 内容变了,名字就会变,deployment 里面的引用也会变,可以通过回滚 deployment 回滚
liuzhaowei55
2022-05-25 19:06:49 +08:00
apollo 还挺好用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX