Google釋出了應用程式管理器(Application Manager)測試版,這是GKE的應用程式交付解決方案,可讓開發人員創建從開發到生產階段的應用程式交付流程,同時結合Google所推薦的GitOps最佳實踐來管理發布版的配置。

GitOps最先由Kubernetes管理工具廠商Weaveworks提出,Google提到,GitOps的重點在於環境即程式碼(Environments-As-Code),也就是說,應用程式以宣告的方式進行部署,而諸如Kubernetes清單(Manifests)等宣告檔案,則會儲存在Git儲存庫中。

Kubernetes是現代管理容器化應用程式的標準,但Google提到,應付編寫、發布和管理三個Kubernetes生命周期管理階段,對開發人員來說,並非一件輕鬆的事。Kubernetes應用程式生命周期,第一階段編寫,包含撰寫應用程式程式碼和特定應用程式的Kubernetes配置。

第二階段發布,開發者需要更改程式碼與配置,並且將這應用程式安全地部署到不同的發布環境,而最後的管理階段,則視需要在營運階段擴展應用程式。Google提到,Kubernetes生命周期各階段並沒有標準,用戶經常要尋找最佳實踐和建議,才得以入門。

另一個問題是,Kubernetes應用程式配置太冗長複雜,很難大規模管理,特別是在測試、Staging和生產發布等環境部署的應用程式配置檔案,可能儲存在多個Git儲存庫中,其中任何配置的更改,都需要與其他配置檔案同步,否則就可能發生錯誤。

為了解決這些問題,Google開發了應用程式管理器,其遵循GitOps原則,利用Git存儲庫進行宣告式配置管理,可以讓開發者在將變更實際部署到環境之前,先對其進行審查和稽核。且應用程式管理器還會自動建置和執行建議的Git存儲庫結構,開發者可以使用Kubernetes配置管理工具Kusnetize,進行無模板自定義配置。

應用程式管理器是以叢集附加元件的形式,在GKE叢集中執行,主要的功能是從Git存儲庫中拉取Kubernetes清單(Manifests),並將清單當作應用程式部署在叢集中。該管理器還會回報以部署應用程式的元資料,並可以在Google雲端控制臺視覺化這些應用程式。

因此藉由使用應用程式管理器,能以Google推薦的宣告方法,創建從開發到生產階段的應用程式交付流程。


Advertisement

更多 iThome相關內容