S2Line
V2EX  ›  问与答

生产环境 configmap 配置更新方式

  •  
  •   S2Line · May 24, 2022 · 1340 views
  •   You need to sign in to view this topic
    This topic created in 1454 days ago, the information mentioned may be changed or developed.
    想请教下大家生产环境如果使用 configmap 如何做配置更新。
    我们现在的方式是直接修改 configmap ,回退是靠变更前拷贝原 configmap 内容,然后恢复回去。但是如果出现修改配置异常,可能会导致服务中断,是一个较大的风险点。
    因为 configmap 不带版本管理,所以如果 configmap 配置修改出现异常,如何做版本回退呢?

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

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

    不知道大家有什么想法和建议,欢迎讨论哈。
    5 replies    2022-05-25 19:06:49 +08:00
    Alliot
        1
    Alliot  
       May 24, 2022 via Android
    当前的描述文件是纯手工的还是怎么?
    helm ? kustomize ?
    37Y37
        2
    37Y37  
       May 24, 2022
    我们用配置中心,etcd+confd ,配合写了个管理系统,不需要开发介入,纯运维侧完成,比较方便可以做个参考: https://blog.ops-coffee.cn/s/qg42uqj9rnswqdmd41cyug
    Jooooooooo
        3
    Jooooooooo  
       May 24, 2022
    zk 下发.
    wd
        4
    wd  
       May 25, 2022 via iPhone
    kustomize 支持 config map generater 内容变了,名字就会变,deployment 里面的引用也会变,可以通过回滚 deployment 回滚
    liuzhaowei55
        5
    liuzhaowei55  
       May 25, 2022 via iPhone
    apollo 还挺好用
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   862 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:50 · PVG 04:50 · LAX 13:50 · JFK 16:50
    ♥ Do have faith in what you're doing.