我对 envFrom 有一个奇怪的问题:
- name: template-api
envFrom:
- secretRef:
name: common-secrets
- secretRef:
name: template-api
在共同的秘密中,我有这样的变量:
MAILHOST=smtp.gmail.com
MAILPORT=587
模板 API 就像:
MAIL_HOST=$MAILHOST
MAIL_PORT=$MAILPORT
就是这样,因为 pod 具有相同信息的不同变量名称。 但是当容器运行时,变量被替换为文字 $VAR 而不是 var 值。 也许我为此使用了错误的解决方案。有人遇到同样的问题吗?
答案 0 :(得分:1)
Kubernetes 不会以这种方式更新它,如果您使用任何代码或脚本运行该方法,它将在代码中运行。喜欢process.env($MAILHOST)
无论您秘密提到什么,它都会被注入操作系统 环境,现在如果存在相同的值,它将被覆盖。
Kubernetes 将基于 YAML 配置的密钥注入文件系统或操作系统内部。
Kubernetes 只是将值注入到 POD 中,就像秘密设置的那样。它不会检查是否环境中已经设置了任何东西并用值替换它。