我正在尝试使用--dry-run
选项测试我的开发头盔聊天部署输出。当我运行以下命令时,它试图连接到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.
答案 0 :(得分:19)
如果要测试模板渲染,但实际上没有安装任何东西,可以使用helm install --debug --dry-run ./mychart。这会将图表发送到Tiller服务器,该服务器将呈现模板。但是,不是安装图表,而是将渲染的模板返回给您,以便您可以看到输出
因此,它仍然需要连接到Tiller以使用正确的值呈现模板。使用--dry-run选项的不同之处在于它实际上不会安装图表。
答案 1 :(得分:18)
还有一个选项可以运行helm template ./mychart
来渲染生成的YAML,而无需连接到分蘖。
与helm lint
结合使用,可以很好地验证图表的有效性。
答案 2 :(得分:7)
在头盔安装helm install --dry-run
和help template
命令之间存在细微差别:
helm install --dry-run
会将您的图表发送到分till
将根据K8S规范以及
YAML验证。
help template
仅生成清单并验证您的YAML文件是否有效。但是,它不会检查生成的清单是否为有效的Kubernetes资源。参考:Helm Docs
希望这会有所帮助!
答案 3 :(得分:0)
改用 Helm template
或 helm lint
。
helm lint
我是验证图表是否遵循最佳实践的首选工具。