1. 程式人生 > >開發自己的 chart - 每天5分鐘玩轉 Docker 容器技術(167)

開發自己的 chart - 每天5分鐘玩轉 Docker 容器技術(167)

Kubernetes Docker 容器 教程

Kubernetes 給我們提供了大量官方 chart,不過要部署微服務應用,還是需要開發自己的 chart,下面就來實踐這個主題。

創建 chart

執行 helm create mychart 的命令創建 chart mychart

技術分享圖片

Helm 會幫我們創建目錄 mychart,並生成了各類 chart 文件。這樣我們就可以在此基礎上開發自己的 chart 了。

新建的 chart 默認包含一個 nginx 應用示例,values.yaml 內容如下:

技術分享圖片

開發時建議大家參考官方 chart 中的模板、values.yaml、Chart.yaml,裏面包含了大量最佳實踐和最常用的函數、流控制,這裏就不一一展開了。

調試 chart

只要是程序就會有 bug,chart 也不例外。Helm 提供了 debug 的工具:helm linthelm install --dry-run --debug

helm lint 會檢測 chart 的語法,報告錯誤以及給出建議。

比如我們故意在 values.yaml 的第 8 行漏掉了一個 :

技術分享圖片

helm lint mychart 會指出這個語法錯誤。

技術分享圖片

mychart 目錄被作為參數傳遞給 helm lint。錯誤修復後則能通過檢測。

技術分享圖片

helm install --dry-run --debug 會模擬安裝 chart,並輸出每個模板生成的 YAML 內容。

技術分享圖片

技術分享圖片

我們可以檢視這些輸出,判斷是否與預期相符。

同樣,mychart 目錄作為參數傳遞給 helm install --dry-run --debug

下一節我們討論如何安裝並將 chart 添加到倉庫。

書籍:

1.《每天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html

2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html

技術分享圖片


開發自己的 chart - 每天5分鐘玩轉 Docker 容器技術(167)