【问题标题】:Helm export YAML files locally (just use templating engine, do not send to Kubernetes)Helm 将 YAML 文件导出到本地(只使用模板引擎,不要发送到 Kubernetes)
【发布时间】:2018-11-08 02:14:32
【问题描述】:

我想将已模板化 Helm 图表导出为 YAML 文件。我目前无法在我的 Kubernetes 集群上使用 Tiller,但仍想使用 Helm Charts。基本上,我希望 Helm 导出 YAML,该 YAML 使用 Helm 模板化的值发送到 Kubernetes API。之后,我会将 YAML 文件上传到我的 Kubernetes 集群。

我尝试运行.\helm.exe install --debug --dry-run incubator\kafka,但收到错误Error: Unauthorized

请注意,我在 Windows 上运行 Helm(版本 helm-v2.9.1-windows-amd64)。

【问题讨论】:

    标签: kubernetes kubernetes-helm


    【解决方案1】:

    我们需要日志来检查Unauthorized 问题。

    但你可以轻松地在本地生成模板:

    helm template mychart
    

    在本地渲染图表模板并显示输出。

    这不需要 Tiller。但是,通常会 在集群中查找或检索将在本地伪造。 此外,没有任何图表有效性的服务器端测试(例如 是否支持 API)已完成。

    更多信息:https://helm.sh/docs/helm/helm_template/

    【讨论】:

    • Error: stat incubator/kafka: no such file or directory
    • 需要 helm 3
    【解决方案2】:

    Amrit Bera 的解决方案仅适用于本地掌舵图,根据您希望它与远程掌舵图一起使用的问题的详细信息,该功能将添加到 Helm v3(目前正在进行中)。

    RehanSaeed 发布了以下解决方法 (https://github.com/helm/helm/issues/4527)

    基本上:

    mkdir yamls
    helm fetch --untar --untardir . 'stable/redis' #makes a directory called redis 
    helm template --output-dir './yamls' './redis' #redis dir (local helm chart), export to yamls dir
    

    这样做的好处是您可以将此技术与用于 git ops 的 weaveworks Flux 混合使用 + 除了 Tiller 插件之外,这为您提供了另一种使用 Helm v2 没有分蘖的选项(它允许您在本地运行分蘖,但不t工作顺利)。

    【讨论】:

      【解决方案3】:

      直接来自helm install --help

      To check the generated manifests of a release without installing the chart,
      the '--debug' and '--dry-run' flags can be combined. This will still require a
      round-trip to the Tiller server.
      

      【讨论】:

      • 有没有办法在*安装后仍然这样做?我收到一个版本已经存在的错误。
      • helm uninstall 然后重新运行命令应该可以工作
      猜你喜欢
      • 2021-10-06
      • 2022-06-21
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2015-03-09
      • 2020-05-27
      相关资源
      最近更新 更多