Skaffold

Skaffold 是谷歌開源的簡化本地 Kubernetes 應用開發的工具。它將構建鏡像、推送鏡像以及部署 Kubernetes 服務等流程自動化,可以方便地對 Kubernetes 應用進行持續開發。其功能特點包括

  • 沒有服務器組件

  • 自動檢測代碼更改並自動構建、推送和部署服務

  • 自動管理鏡像標籤

  • 支持已有工作流

  • 保存文件即部署

安裝

使用

在使用 skaffold 之前需要確保

  • Kubernetes 集群已部署並配置好本地 kubectl 命令行

  • 本地 Docker 處於運行狀態並登錄 DockerHub 或其他的 Docker Registry

  • skaffold 命令行已下載並放到系統 PATH 路徑中

skaffold 代碼庫提供了一些列的示例,我們來看一個最簡單的。

下載示例應用:

修改 k8s-pod.yamlskaffold.yaml 文件中的鏡像,將 gcr.io/k8s-skaffold 替換爲已登錄的 Docker Registry。然後運行 skaffold

此時,打開另外一個終端,修改 main.go 的內容後 skaffold 會自動執行

  • 構建一個新的鏡像(帶有不同的 sha256 TAG)

  • 修改 k8s-pod.yaml 文件中的鏡像爲新的 TAG

  • 重新部署 k8s-pod.yaml

Last updated