想请教下大家生产环境如果使用 configmap 如何做配置更新。
我们现在的方式是直接修改 configmap ,回退是靠变更前拷贝原 configmap 内容,然后恢复回去。但是如果出现修改配置异常,可能会导致服务中断,是一个较大的风险点。
因为 configmap 不带版本管理,所以如果 configmap 配置修改出现异常,如何做版本回退呢?
目前想到的几个方案:
一、换配置中心(spring cloud config 、携程的 Apollo 之类的)。
pros:配置可以统一控制,实现灰度发布。
cons: 开发改造和后期维护成本较高
二、配置变更时,新建一个新的版本的 deployment ,pod 数量为 1 ,然后将原来的内容拷贝创建一个新的 configmap ,并修改配置。通过人工的方式实现金丝雀。
pros:不引入其他组件,对现有系统无影响。
cons: 变更的时候较为复杂
不知道大家有什么想法和建议,欢迎讨论哈。
我们现在的方式是直接修改 configmap ,回退是靠变更前拷贝原 configmap 内容,然后恢复回去。但是如果出现修改配置异常,可能会导致服务中断,是一个较大的风险点。
因为 configmap 不带版本管理,所以如果 configmap 配置修改出现异常,如何做版本回退呢?
目前想到的几个方案:
一、换配置中心(spring cloud config 、携程的 Apollo 之类的)。
pros:配置可以统一控制,实现灰度发布。
cons: 开发改造和后期维护成本较高
二、配置变更时,新建一个新的版本的 deployment ,pod 数量为 1 ,然后将原来的内容拷贝创建一个新的 configmap ,并修改配置。通过人工的方式实现金丝雀。
pros:不引入其他组件,对现有系统无影响。
cons: 变更的时候较为复杂
不知道大家有什么想法和建议,欢迎讨论哈。