V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
S2Line
V2EX  ›  问与答

生产环境 configmap 配置更新方式

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

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

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

    不知道大家有什么想法和建议,欢迎讨论哈。
    5 条回复    2022-05-25 19:06:49 +08:00
    Alliot
        1
    Alliot  
       2022-05-24 20:22:45 +08:00 via Android
    当前的描述文件是纯手工的还是怎么?
    helm ? kustomize ?
    37Y37
        2
    37Y37  
       2022-05-24 20:29:58 +08:00
    我们用配置中心,etcd+confd ,配合写了个管理系统,不需要开发介入,纯运维侧完成,比较方便可以做个参考: https://blog.ops-coffee.cn/s/qg42uqj9rnswqdmd41cyug
    Jooooooooo
        3
    Jooooooooo  
       2022-05-24 20:41:19 +08:00
    zk 下发.
    wd
        4
    wd  
       2022-05-25 05:49:10 +08:00 via iPhone
    kustomize 支持 config map generater 内容变了,名字就会变,deployment 里面的引用也会变,可以通过回滚 deployment 回滚
    liuzhaowei55
        5
    liuzhaowei55  
       2022-05-25 19:06:49 +08:00 via iPhone
    apollo 还挺好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6023 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:12 · PVG 10:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.