软件配置管理实践——基于Ansible和Nacos

配置管理的预备知识

在《持续交付》第二章的小结中,作者写道:配置管理是本书其他内容的基础。没有配置管理,根本谈不上持续集成、发布管理以及部署流水线。

可以看出,配置的管理是多么的重要。在小结中,作者使用以下几个问题来判断你的配置管理做得是否好:

•是否仅依靠保存于版本控制系统的数据(除了生产数据),就可以从无到有重建生产系统?•是否可以将应用程序回滚到以前某个正确的状态?•是否确保在测试、试运行和正式上线时以同样的方式创建部署环境?

如果你的配置管理流程比较好的话,所有的问题都应该是肯定的。

经过笔者长时间的一线配置管理的经验,要想更好实践《持续交付》中的配置管理,笔者认为配置管理中心应该能做到:

1.配置项的定义与配置的存储的解耦。比如应用可能会从Nacos中读取,也可以从环境变量里读取。2.配置项之间的相互引用:消除重复配置项。比如MySQL的连接字符串,可能同时在应用a的配置和应用b的配置中出现。3.配置项版本化:配置项变更跟踪;4.配置项的定义与配置的格式的解耦。比如同一个配置项在应用a使用的是XML格式,但是应用b使用的是YAML格式。5.配置项的自动化校验:当用户引入一个错误的配置项时,我们应该可以知道。6.配置项的作用域功能。7.配置项分组功能:比如按环境对配置项进行分组。8.配置项加密功能。

目前没有一个配置中心能实现以上所有的功能。但是,基于Ansible再配合其它工具,我们可以很低成本地实现以上大部分功能,虽然有些粗糙。

基于Ansible和Nacos的实践

本文以Ansible结合Nacos为例介绍如何更好的进行配置管理。

在本案例中,Ansible担任了配置中心的角色,实现配置项的定义,描述配置项与配置格式(XML、YAML、Properties)之间关系,描述配置项与配置存储(Nacos)之间的关系。Nacos纯粹只是一个存储配置的角色。

Ansible介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值