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