Kubernetes 交叉秘密变量

时间:2021-07-29 19:46:35

标签: variables kubernetes kubernetes-secrets kustomize

我对 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 值。 也许我为此使用了错误的解决方案。有人遇到同样的问题吗?

1 个答案:

答案 0 :(得分:1)

Kubernetes 不会以这种方式更新它,如果您使用任何代码或脚本运行该方法,它将在代码中运行。喜欢process.env($MAILHOST)

无论您秘密提到什么,它都会被注入操作系统 环境,现在如果存在相同的值,它将被覆盖

Kubernetes 将基于 YAML 配置的密钥注入文件系统操作系统内部。

Kubernetes 只是将值注入到 POD 中,就像秘密设置的那样。它不会检查是否环境中已经设置了任何东西并用值替换它。