有什么方法可以将部署名称从头盔公开到容器中吗?通常,它可以作为主机名的一部分来使用,但是如果可以的话,我宁愿不进行解析。
我知道您可以根据以下文档将某些元数据设置为特定的环境变量:https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ 但是,这似乎并不直接包括部署名称。有没有办法获取此信息?
答案 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文件顶部的名称却忘记了第二次更新它,它将不会产生正确的值。