1. 程式人生 > 其它 >基於api +git 的nginx 配置管理

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