基于api +git 的nginx 配置管理
主要是基于api 以及git 同时结合nginx 配置生成工具,解决nginx 配置管理问题
参考玩法
- 参考图
- 流程说明
我们将系统的配置存储到cmdb系统中,基于cmdb系统的webhook 直接开发自己的配置生成服务,然后可以基于本地进行check
对于生成的配置我们提交的git 中,然后利用git 的能力,之后集成ci/cd 进行部署,同时这个阶段我们可以进行配置的备份(到s3中)
部署阶段我们也会进行check 然后对于nginx 实例进行reload
说明
实际上类似的confd 也是不错的选择,但是从管理以及使用上,很多时候直接基于配置的会更加的灵活,同时可以支持方便的配置备份,恢复
同时比如haproxy 的dataplaneapi以及bfe 的管理都是类似基于文件管理的,文件尽管多,但是如果自动化做好了,系统还是很灵活的,尤其是当
我们需要全局统一管理入口的时候,而且我们业务线或者产品有自己的特定灵活配置的,基于文件还是很不错的,k8s 的nginx controller 就是
利用了文件+lua 动态upstream 的能力解决的
参考资料
https://github.com/kelseyhightower/confd
https://github.com/webantic/nginx-config-parser
https://github.com/nginxinc/crossplane