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

in kubernetes •  7 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 添加到仓库。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!