基于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

posted on 2022-04-09 13:28  荣锋亮  阅读(236)  评论(0编辑  收藏  举报

导航