配置中心设计

2022-09-13  本文已影响0人  深圳都这么冷

基础模型

机器分组 ip+port

管理应用配置文件

[路径]+内容

制品

id,开发签名,测试签名

功能描述

1. 配置源管理

代码仓库的ykcfg文件夹存储配置信息,分子文件夹,每个子文件夹对应一个环境

└── yk_config
    ├── README.txt
    ├── neozhao+launch
    │   ├── config
    │   │   └── godemo.conf
    │   └── inventory.yaml
    ├── pre
    │   ├── config
    │   │   └── godemo.conf
    │   └── inventory.yaml
    ├── prod
    │   ├── config
    │   │   └── godemo.conf
    │   └── inventory.yaml
    ├── sync_conf.py
    └── test
        ├── config
        │   └── godemo.conf
        └── inventory.yaml

2. 更新策略

配置来源于同步git仓库,因为不同分支使用临时配置有不同,所以同步时只更新和添加不删除,删除需要在UI上操作

3. 授权问题

使用

更新时,提交触发jenkins,jenkins将ykcfg的所有文件同步到配置中心

开发提测时,jenkins触发给制品记下开发签名
通过测试时,jenkins触发给制品记下测试签名
部署环境时,jenkins读取配置文件和目标环境,将配置文件推送到目标环境,然后再执行剩下的部署操作
部署环境时,如果是CD,需要签名验证,然后才是部署

配置信息管理:

需要推送到目标环境(机器/集群)的配置文件,路径+文件内容
项目-环境名称-环境对应的资源(host/k8s集群)-配置信息-制品签名信息
部署时,将环境相关的配置信息全部推送的到目标环境
如果是k8s就是configure map和secrets卷,直接apply -f
如果是传统方式,就是将文件写到指定的服务器目录(与具体ip相关)

上一篇下一篇

猜你喜欢

热点阅读