繁体   English   中英

使用 nexus 覆盖掌舵图中的 values.yaml

[英]Override values.yaml in helm chart using nexus

掌舵图结构

web-service
  |_ _ _ templates
  |_ _ _ Chart.yaml
  |_ _ _ values.yaml

我有舵图设置,其中我的应用程序的舵图被打包为.tgz并推送到 nexus 存储库,请考虑https://localhost:50714/#browse/browse:helm

使用以下命令将其添加到 helm repositories.yaml

helm repo add nexus https://localhost:50714/

添加 Repo 后,我可以看到图表

helm search
NAME                                    CHART VERSION   APP VERSION     DESCRIPTION
nexus/web-service                   1.0.0-k8s                       Custom microservice Helm chart

要安装我触发以下命令

helm install nexus/ioc-web-service --version 1.0.0-k8s 

和应用程序得到部署。 所以应用程序是使用 default values.yaml 部署的,我需要进行配置,以便我的默认 values.yaml 被另一个文件覆盖

web-service
  |_ _ _ templates
  |_ _ _ Chart.yaml
  |_ _ _ values.yaml
  |_ _ _ values-override.yaml

我使用 helm 提供了使用-f命令传递额外文件的功能,但它提供了未找到的values-override.yaml文件

helm install nexus/web-service -f values-override.yaml --version 1.0.0-k8s 

需要一些关于如何以文件格式获取传递覆盖值的输入。 因为覆盖值可以是动态的。 在一个环境中,它可以是 1 个变量,而在另一个环境中,有 10 个变量需要被覆盖

您没有在图表中添加values-overwrite.yaml 它是您在本地运行命令的文件。 通常由模板 taskrunner 引擎(如 Ansible 或类似的)动态创建。

以下是安装前自定义图表的文档,您可以在安装期间使用两种传递配置数据的方法:

  • --values (或-f ):指定带有覆盖的 YAML 文件。 这可以指定多次,最右边的文件将优先
  • --set :在命令行上指定覆盖。

您必须记住,您需要从YAML文件所在的目录运行helm install

如果您仍然看到Error: open values-override.yaml: no such file or directory ,这意味着Helm可能安装为 docker 容器。 如果您使用Kubespray安装Helm会发生这种情况,在这种情况下可以通过以下方式检查哪个文件夹正在安装到 docker: $ cat /usr/local/bin/helm您可能会看到如下内容:

cat /usr/local/bin/helm

#!/bin/bash
/usr/bin/docker run --rm \
  --net=host \
  --name=helm \
  -v /etc/ssl:/etc/ssl:ro \
  -v /root/.helm:/root/.helm:rw \
  -v /usr/share/ca-certificates:/usr/share/ca-certificates:ro \
  lachlanevenson/k8s-helm:2.7.0 \
  "$@"

这意味着您需要将values-override.yaml复制到/root/.helm目录。 您还可以通过$ helm init检查目录:

$ helm init
$HELM_HOME has been configured at /root/.helm.
Warning: Tiller is already installed in the cluster.
(Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
Happy Helming!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM