将环境变量传递给 zipkin helmchart

时间:2021-06-17 16:57:11

标签: kubernetes environment-variables kubernetes-helm

我正在从 helmchart 在 K8s 中运行 zipkin,它运行良好,但我正在尝试将 Zipkin 存储类型更改为“elasticseasrch”。有没有办法将所需的环境变量(即 STORAGE_TYPE)传递给 helmchart?

我尝试了以下命令但没有成功。

helm install --set zipkin.env.STORAGE_TYPE=elasticsearch,zipkin.env.ES_HOSTS=http://elasticsearch.hshf:9200 zipkin-saas repo/zipkin

我正在使用带有以下详细信息的 zipkin helmchart:


helm repo add carlosjgp https://carlosjgp.github.io/open-charts/

helm install my-zipkin carlosjgp/zipkin --version 0.2.0

1 个答案:

答案 0 :(得分:0)

我下载了这个图表,在快速检查了它的内容后,它似乎没有提供设置这些变量的能力。因此,尽管您可以使用 --set 参数提供这些额外的变量,但 helm 不知道如何处理它们,因为图表并非设计为接受它们。

或者,您可以通过运行以下命令下载图表:

helm fetch carlosjgp/zipkin

然后提取它:

tar xzvf zipkin-0.2.0.tgz

现在您可以手动编辑它。假设您希望您的变量在部署中定义的 ui pod 中可用。您可以编辑文件:

zipkin/templates/ui/deployment.yaml

并在 env 部分添加您的 env 变量以及已经存在并定义为模板的内容:

      env:
        - name: ZIPKIN_BASE_URL
          value: {{ include "zipkin.collector.service.uri" . | quote }}
        - name: STORAGE_TYPE
          value: elasticsearch
        - name: ES_HOSTS
          value: http://elasticsearch.hshf:9200

然后你可以从本地文件安装它:

helm install zipkin-saas ./zipkin

现在当您连接到 zipkin ui pod 时:

kubectl exec -ti zipkin-saas-ui-6657d894c8-ssxs9 -- /bin/sh

您将看到您的变量已设置:

/ # echo $ES_HOSTS
http://elasticsearch.hshf:9200
/ # echo $STORAGE_TYPE
elasticsearch
/ #