Google云計算針對GKE推出托管持續(xù)交付服務Google Cloud Deploy,使得用戶對GKE的持續(xù)交付工作更容易快速。Google提到,持續(xù)交付指得是將容器鏡像文件部署到各種環(huán)境中的工作,而這項工作復雜度很高,在Kubernetes環(huán)境中,目前沒有公認的最佳實踐,要構建和擴展持續(xù)交付工具、工作管線和可重復流程,是一項需要大量經(jīng)驗的工作。
Google Cloud Deploy是官方發(fā)布來簡化GKE持續(xù)交付工作的服務,其提供三方面的優(yōu)勢,分別是擁有成本、安全和審核,以及集成。Google提到,用戶自己創(chuàng)建Kubernetes持續(xù)交付的運營成本很高,執(zhí)行包括找出最佳且可重復的實踐,擴展交付工具和工作管線,并且維持更新狀態(tài)等工作,不只需要大量資源,也會占用企業(yè)發(fā)展核心業(yè)務的時間。
Deploy為一項托管服務,讓用戶能夠以聲明的方式,定義結構、交付工作管線和目標,并且因為每個發(fā)布版本分開存儲,Google表示,當用戶的交付工作管線變更時,發(fā)布版本的生產(chǎn)路徑仍維持不變,因此交付工作管線的變更,不會影響正在執(zhí)行的版本。
操作持續(xù)交付系統(tǒng)的用戶具有不同的角色,并且需要做出各種決策,但是并非所有用戶和決策,都使用相同的權限。像是能夠定義交付工作管線并進行更新的用戶,不代表應該具有創(chuàng)建發(fā)布版本的權限;而能夠發(fā)布更新版本,也不代表有權限能夠核準并且使其進入生產(chǎn)階段。
而Google Cloud Deploy提供高精細度的控制,提供離散資源訪問控制,和執(zhí)行等級安全性,管理員可以使用流程管理功能,像是發(fā)布升級、回退或是核準等,方便地賦給用戶的權限。
Google還強化這項托管持續(xù)交付服務,和GKE交付工具生態(tài)系統(tǒng)集成的能力,用戶可以通過連接到持續(xù)集成系統(tǒng)、核準或操作工作流程,以及支持第三方的Pub/Sub通知,與既有的系統(tǒng)集成。Google提到,要將Google Cloud Deploy連接到現(xiàn)有的持續(xù)集成工具很簡單,在用戶構建容器后,Deploy便會創(chuàng)建一個交付工作管線版本,并且啟動Kubernetes清單配置和部署程序。
Google還提到,交付至Kubernetes通常會隨時間產(chǎn)生變化,Deploy通過Kubernetes開發(fā)工具Skaffold,讓用戶標準化開發(fā)和產(chǎn)品環(huán)境中的配置。對于剛開始使用Kubernetes的企業(yè),可以使用原始的清單,當交付工作逐漸變復雜,便可以使用Helm、Kustomize和kpt等高端工具,Deploy與Skaffold的組合,供用戶簡單地過渡使用這些高端工具,而不會影響交付工作管線。