【问题标题】:Loading secrets as ENV from init container从初始化容器加载机密作为 ENV
【发布时间】:2021-10-02 06:00:49
【问题描述】:

我们将机密存储在 GCP 机密管理器中,在应用部署期间,我们使用一个初始化容器来获取机密并将它们放置在卷(路径)中。展望未来,我们需要将秘密作为环境变量加载到需要来自 init 容器的秘密的主容器上,而不是路径。如何实现?任何解决方法?

谢谢!

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    您可以从 GSM 复制到 Kubernetes Secret,然后在普通的 envFrom 中使用它,或者您可以让 init 容器将文件写入共享的 emptyDir 卷,然后将主容器上的命令更改为类似command: [bash, -c, "source /shared/env && exec original command"]。后者需要你完全重写命令,虽然这很烦人。

    【讨论】:

    • 谢谢!对于第一种方法,有“kubernetes external secrets”项目,我们可以在其中从 GSM 复制到 k8s 的秘密,但是这些秘密将是 base64 编码的,不太确定它在 Prod 环境中是否可以接受?第二种方法不确定如何处理每个秘密。
    • 我解释了你是怎么做的,一个 initContainer 从外部系统读取并写入一个文件,主容器在启动主进程之前获取该文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 2021-07-03
    • 2012-03-25
    • 1970-01-01
    相关资源
    最近更新 更多