运维八荣八耻 :
- 以可配置为荣,以硬编码为耻
- 以互备为荣,以单点为耻
- 以随时重启为荣,以不能迁移为耻
- 以整体交付为荣,以部分交付为耻
- 以无状态为荣,以有状态为耻
- 以标准化为荣,以特殊化为耻
- 以自动化工具为荣,以手动和人肉为耻
- 以无人值守为荣,以人工介入为耻
目前我们交付进K8S集群的两个dubbo微服务和monitor,它们的配置都是写死在容器里的
配置管理的现状 :
- 配置散乱格式不标准(XML、ini、conf、yaml...)
- 主要采用本地静态配置,应用多副本集下配置修改麻烦
- 易引发生产事故(测试环境、生产环境配置混用)
- 配置缺乏安全审计和版本控制功能(config review)
- 不同环境的应用,配置不同,造成多次打包,测试失败
配置中心是什么? :
- 顾名思义,就是集中管理应用程序配置的“中心” 常见的配置中心:
- SprigCloudConfig
- K8S ConfigMap
- Apollo:基于SprigCloudConfig
- ...
目前具有争议的一般是使用Apollo还是SprigCloudConfig,看对比图,所以我们使用Apollo,而且Apollo是基于SprigCloudConfig,也就是你交付了Apollo也相当于交付了微服务
下一节:WHAT:就是为了让镜像 和 配置文件解耦,以便实现镜像的可移植性和可复用性,因为一个configMap其实就是一系列配置信息的集合,将来可直接注入到Pod中的容器使用
WHY:为了配合Apollo使用