我试图测试我的开发 Helm 聊天部署输出使用--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.
4条答案
按热度按时间qij5mzcb1#
还有一个选项可以运行
helm template ./mychart
来呈现生成的YAML,而不需要连接到tiller。结合helm lint
,它是一个伟大的设置,以验证您的图表的有效性。os8fio9y2#
如Helm's documentation所述
当你想测试模板渲染,但不实际安装任何东西时,你可以使用helm install --debug --dry-run ./mychart。这将把图表发送到Tiller服务器,Tiller服务器将呈现模板。但它不会安装图表,而是将呈现的模板返回给您,以便您可以看到输出
因此,它仍然需要连接到Tiller以使用正确的值呈现模板。使用--dry-run选项的区别在于它不会实际安装图表。
pcww981p3#
helm install --dry-run
和helm template
命令之间有一个小差异:helm install --dry-run
会将您的图表发送给tiller,后者将根据K8S规范沿着YAML验证来验证和呈现清单文件。helm template
只会生成清单并验证YAML文件是否有效。但是,它不会检查生成的清单是否是有效的Kubernetes资源。参考:Helm希望这对你有帮助!
ni65a41a4#
使用
Helm template
或helm lint
代替。helm lint
是您验证图表是否遵循最佳实践的首选工具 *。