摘要: 本文介紹了一種新的面向開發者的簡單鏡像構建實踐,基於阿里雲Serverless Kubernetes容器服務,可以自動化而且低成本的構建容器鏡像,以便讓開發者瞭解如何使用Serverless運行CI/CD和自動化任務。
前言:
在雲原生時代中,容器鏡像是一切應用分發的基礎載體,除了dockerhub作為流行的鏡像倉庫外,各大公有雲廠商也都提供了功能豐富鏡像倉庫服務,如ACR(Aliyun Container Registry), GCR(Goolge Container Registry),構建容器鏡像已是所有開發者必須掌握的基礎實踐能力。
無論開發者選擇在本地使用docker完成基本的鏡像構建,還是使用CI/CD服務(如Jenkins),本質上都是遵循「pull -> build -> push」的過程,完成鏡像的構建、分發和同步等操作。
本文介紹了一種新的面向開發者的簡單鏡像構建實踐,基於阿里雲Serverless Kubernetes容器服務,可以自動化而且低成本的構建容器鏡像,以便讓開發者瞭解如何使用Serverless運行CI/CD和自動化任務。
why serverless kubernetes?
容器鏡像的構建是需要計算資源的,開發者在本地使用docker pull/build/push時,其計算資源是本地開發機器,如果開發者在傳統kubernetes集羣中部署Jenkins或Gitlab-runner服務,其計算資源也是需要持續運行。但是,容器鏡像的構建基本屬於高度動態的行為,往往是定時或者條件觸發引起的操作,所以為了動態的構建操作而維護一個固定的計算資源池對成本是不利的。
Serverless Kubernetes不同與傳統基於節點的k8s集羣,serverless集羣中只有pod運行時才會收費,意味著只有在構建鏡像時用戶才需要付費,當構建結束時,也就停止計費。所以在成本上與傳統k8s集羣或ecs部署的方式相比顯著減少。