HOME > 解決方案

NGINX推出 Kubernetes 微服務參考架構

2021/09/13

在今年的 NGINX Sprint 2.0 線上大會上,NGINX(來自流行的開源web伺服器/負載均衡器和反向代理背後的公司F5),發佈了NGINX現代應用參考架構(MARA)。 該公司在一篇博客文章中說,這將幫助使用者“創建一個完整的,完全可操作的基於微服務的應用程式,你可以在幾分鐘內啟動並運行,託管在單個GitHub Repo中。  ”

“部署Kubernetes有很多不同的方法——網路、安全、身份驗證,甚至API閘道之類的東西。 對於大多數剛剛起步的企業來說,這有點像黑魔法。  “F5 NGINX產品集團總經理Rob Whiteley在接受採訪時說,”它並沒有被很好地理解,你很容易就陷入錯誤配置的狀態。 因此,我們開始創建一種方法,自動將所有NGINX元件配置為最佳實踐狀態。  ”

他們在另一篇博文中寫道,MARA是”開發人員、DevOps和平台運維團隊可以使用、修改和改進的’可竊取’代碼”。 它由YAML檔和Python腳本組成,Pulumi被設定為作為代碼實現的基礎設施的預設選擇。 作為使用者,你只需運行啟動腳本,Pulumi運行一系列命令,部署Kubernetes環境和後續部分。

“我們開始時創建了一個巨大的清單,列出在生產中運行Kubernetes所需的工作,這是任何一家在這條道路上走過的企業都經歷過的。 我們意識到,沒有什麼能阻止我們將所有這些作為範本ID參考架構,作為真正的操作代碼。  ”

Whiteley還表示,MARA試圖超越其他一些已有的Kubernetes部署,通過提供這種能力,可以使用單個命令部署完全成形的環境,同時保持平臺無關性。 

問題是那些只存在於紙面上的東西。 沒有工作代碼。 你仍然需要去獲取所有的元件,並按照經過驗證的設計將它們連接在一起。 我們想更進一步,讓這個代碼可以部署。 它使經過驗證的設計更進一步,使其可部署,而不是僅供參考。  ”

在發佈時,MARA預先配置了許多選項,使用Elastic進行日誌管理,使用Prometheus和Grafana進行監控和儀錶盤,使用AWS的Elastic Kubernetes Service(EKS)作為部署目標,使用Spinnaker進行連續交付,使用cert manager進行TLS ,以及中間層的多個NGINX產品。 




 

然而,向前推進的計劃是鼓勵其他人為堆疊所有級別的其他工具提供集成。

“我們在此過程中意識到,可以依靠社區、供應商夥伴和其他人,然後交換所有這些模組。 因此,我們確保從一開始你就可以在Terraform上選擇Pulumi和sub,可以在Pupper或Chef中選擇Ansible和sub。 可以對內部和外部進行抽象,然後你真正需要做的就是將這些其他工具打包,使它們成為參考架構的一部分。  ”

關於這些計劃,NGINX表示,它有一些具體的「近期改進」,例如部署到DigitalOcean、Red Hat OpenShift、Rancher、VMware vSphere和其他Kubernetes環境、原生Terraform集成以及對其他CI/CD平台的支援。 它還為F5和NGINX工具制定了許多計劃,例如與NGINX Controller集成以管理和監控NGINX Plus入口控制器、NGINX App Protect的開箱即用配置、與F5產品和服務(如BIG‑IP、雲服務和Volterra)的集成,以及與NGINX 服務網格和基於Istio的Aspen Mesh的整合。 

Whiteley解釋說:”很快,企業得到了一個挑選名單,說明’我關心我環境中的這些工具’,它將自動拉取、組裝和預集成所有腳本。 然後,通過一個命令就可以部署。  ”