开发自己的 chart — Kubernetes(54)steemCreated with Sketch.

in #kubernetes6 years ago (edited)

Kubernetes 给我们提供了大量官方 chart,不过要部署微服务应用,还是需要开发自己的 chart,下面就来实践这个主题。

创建 chart

执行 helm create mychart 的命令创建 chart mychart

820.png

Helm 会帮我们创建目录 mychart,并生成了各类 chart 文件。这样我们就可以在此基础上开发自己的 chart 了。

新建的 chart 默认包含一个 nginx 应用示例,values.yaml 内容如下:

821.png

开发时建议大家参考官方 chart 中的模板、values.yaml、Chart.yaml,里面包含了大量最佳实践和最常用的函数、流控制,这里就不一一展开了。

调试 chart

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

helm lint 会检测 chart 的语法,报告错误以及给出建议。

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

822.png

helm lint mychart 会指出这个语法错误。

823.png

mychart 目录被作为参数传递给 helm lint。错误修复后则能通过检测。

824.png

helm install --dry-run --debug 会模拟安装 chart,并输出每个模板生成的 YAML 内容。

825.png

826.png

我们可以检视这些输出,判断是否与预期相符。

同样,mychart 目录作为参数传递给 helm install --dry-run --debug

下一节我们讨论如何安装并将 chart 添加到仓库。

Coin Marketplace

STEEM 0.19
TRX 0.14
JST 0.030
BTC 63365.67
ETH 3398.62
USDT 1.00
SBD 2.44