掌舵干运行安装

sfg*_*ups 23 kubernetes kubernetes-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.
Run Code Online (Sandbox Code Playgroud)

Eld*_*sis 43

还可以选择运行helm template ./mychart以呈现生成的YAML,而无需连接到分蘖.结合helm lint它是验证图表有效性的好方法.

  • 这个答案应该是经过验证的答案。使用rancher,我们无法进行“空运行”,因为没有可访问的Tiler。“ helm template”是一种检查模板输出的非常简单的方法。谢谢 ! (3认同)
  • 现在 helm v3 已经发布,运行 `--dry-run` 选项要容易得多。 (2认同)

Jos*_*sto 34

正如赫尔姆的文件所述

如果要测试模板渲染,但实际上没有安装任何东西,可以使用helm install --debug --dry-run ./mychart.这会将图表发送到Tiller服务器,该服务器将呈现模板.但是,它不会安装图表,而是将渲染的模板返回给您,以便您可以看到输出

因此,它仍然需要连接到Tiller以使用正确的值呈现模板.使用--dry-run选项的不同之处在于它实际上不会安装图表.

  • Tiller 在 helm 3.0.0 之后被删除,这被认为具有安全潜力。 (2认同)

Kal*_*ari 10

helm installhelm install --dry-runhelp template命令之间有一个小区别:

  • helm install --dry-run 将您的图表发送到分蘖,后者将根据 K8S 规范以及 YAML 验证验证和呈现清单文件。

  • help template只会生成清单并验证您的 YAML 文件是否有效。但是,它不会检查生成的清单是否是有效的 Kubernetes 资源。参考:Helm 文档

希望这可以帮助!