开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

创建 chart

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

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

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

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

调试 chart

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

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

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

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)

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

同样,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)

上一篇:Helm 架构 - 每天5分钟玩转 Docker 容器技术(161)


下一篇:Prometheus Operator - 每天5分钟玩转 Docker 容器技术(177)