Kubernetes中是否有一种方法可以从Helm获取部署名称作为环境变量?

时间:2020-07-21 00:59:58

标签: kubernetes kubernetes-helm

有什么方法可以将部署名称从头盔公开到容器中吗?通常,它可以作为主机名的一部分来使用,但是如果可以的话,我宁愿不进行解析。

我知道您可以根据以下文档将某些元数据设置为特定的环境变量:https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ 但是,这似乎并不直接包括部署名称。有没有办法获取此信息?

1 个答案:

答案 0 :(得分:5)

您不能直接将部署名称回显到环境变量中,但是可以复制部署名称,包括生成它的任何模板代码。

例如,假设您的部署看起来像standard template

kind: Deployment
metadata:
  name: {{ include "chartname.fullname" . }}

在部署的pod spec部分中,您可以重复相同的调用以获得相同的名称。

env:
  - name: DEPLOYMENT_NAME
    value: {{ include "chartname.fullname" . }}

您必须在YAML中或_helpers.tpl文件中的一组标准环境变量中手动添加它。如果更改Helm发行版名称并获得其他部署名称,它将产生正确的值。如果您更改YAML文件顶部的名称却忘记了第二次更新它,它将不会产生正确的值。