我正在尝试使用
--dry-run
选项测试我的开发 helm 聊天部署输出。当我运行以下命令时,它尝试连接到 Kubernetes API 服务器。
连接 Kubernetes 集群是否需要试运行选项?我只想检查部署 yaml 文件输出。
helm install mychart-0.1.0.tgz --dry-run --debug
Error: Get http://localhost:8080/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
还有一个选项可以运行
helm template ./mychart
来渲染生成的 YAML,而无需连接到tiller。
与 helm lint
结合使用,它是验证图表有效性的绝佳组合。
当你想测试模板渲染,但不实际安装任何东西时,可以使用 helm install --debug --dry-run ./mychart。这会将图表发送到 Tiller 服务器,Tiller 服务器将渲染模板。但它不会安装图表,而是将渲染的模板返回给您,以便您可以看到输出
因此它仍然需要连接到 Tiller 以使用正确的值渲染模板。使用 --dry-run 选项的区别在于它不会实际安装图表。
helm install --dry-run
和helm template
命令之间有一个小区别:
helm install --dry-run
会将您的图表发送至舵柄,
将根据 K8S 规范验证并渲染清单文件以及
YAML 验证。
helm template
只会生成清单并验证您的 YAML 文件是否有效。但是,它不会检查生成的清单是否是有效的 Kubernetes 资源。参考:Helm 文档
希望这有帮助!
请使用
Helm template
或 helm lint
代替。
helm lint
我是您验证图表是否遵循最佳实践的首选工具。