Google的新應(yīng)用程序管理器(目前處于測試版)旨在簡化以Google Kubernetes Engine(GKE)為目標(biāo)平臺的GitOps的設(shè)置。
GitOps的想法是,開發(fā)人員應(yīng)在應(yīng)用程序代碼中包括對在存儲庫中部署應(yīng)用程序所需的基礎(chǔ)結(jié)構(gòu)的定義。然后,開發(fā)人員可以使用腳本自動部署,該腳本可以設(shè)置生產(chǎn)環(huán)境以及編譯代碼。如果編碼人員需要對基礎(chǔ)結(jié)構(gòu)進行更改,則可以通過修改其聲明性定義來實現(xiàn),并具有使用存儲庫帶來的歷史記錄和更改控制的所有好處。
新的應(yīng)用程序管理器(Google將其主要部分稱為應(yīng)用程序交付)是一個在GKE集群中運行的加載項,并具有運行所使用的命令行界面appctl。
存儲庫必須托管在GitHub或GitLab中。安裝后,開發(fā)人員可以使用命令來管理應(yīng)用程序。這始于為應(yīng)用程序創(chuàng)建存儲庫。默認情況下,開發(fā)人員獲得兩個存儲庫,一個用于部署配置,另一個用于應(yīng)用程序代碼。
接下來,開發(fā)人員根據(jù)Kustomize配置在YAML文件中定義K8部署的要求,使用appctl命令添加環(huán)境(例如測試,暫存和生產(chǎn)),并使用命令準(zhǔn)備要部署的應(yīng)用程序的標(biāo)記版本appctl prepare。
這將在存儲庫中生成拉取請求,開發(fā)人員可以對其進行審查。獲得批準(zhǔn)后,可用于appctl apply創(chuàng)建指定環(huán)境和部署應(yīng)用程序。開發(fā)人員還可以appctl prepare用于將部署從一種環(huán)境升級到另一種環(huán)境,例如從過渡到生產(chǎn)。開發(fā)人員還可以輕松回滾部署。文檔在這里。
Application Manager還監(jiān)視部署的應(yīng)用程序,并在Google Cloud控制臺中顯示有關(guān)版本,修訂歷史記錄,運行狀況等數(shù)據(jù)。