【问题标题】:Kubernetes Cross secrets variablesKubernetes 交叉机密变量
【发布时间】:2021-07-29 19:46:35
【问题描述】:

我对 envFrom 有一个奇怪的问题:

 - name: template-api
 envFrom:
   - secretRef:
     name: common-secrets
   - secretRef:
     name: template-api

在公共秘密中,我有这样的变量:

MAILHOST=smtp.gmail.com
MAILPORT=587

而template-api是这样的:

MAIL_HOST=$MAILHOST
MAIL_PORT=$MAILPORT

就是这样,因为 pod 对相同的信息有不同的变量名称。 但是当容器运行时,变量被替换为文字 $VAR 而不是 var 值。 也许我为此使用了错误的解决方案。有人遇到过同样的问题吗?

【问题讨论】:

    标签: variables kubernetes kubernetes-secrets kustomize


    【解决方案1】:

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

    无论你秘密提到什么,它都会被注入到 OS 环境中,如果存在相同的值,它将被覆盖

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

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

    【讨论】:

    • 好吧,我害怕那个!那么有没有办法使用公共变量呢?从 k8s 开始,我的意思是,我知道我可以用 docker 入口点做一些事情,
    • 是的,可以使用 dockerentrypoint 并在 docker 内运行 shell 脚本或传递参数。但是你必须以同样的方式设置和管理 docker 文件,但你没有提到任何使用 CMD 或入口点等的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2018-12-31
    • 2020-10-05
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多