gpt4 book ai didi

docker - 在 Kubernetes Init 容器中为 Kubernetes 主容器创建环境变量

转载 作者:行者123 更新时间:2023-12-04 15:06:56 24 4
gpt4 key购买 nike

我使用 Kubernetes Init 容器来配置应用程序的数据库。完成此操作后,我想通过环境变量将数据库的凭据提供给主容器。

这怎么存档?

我不想在 Init 容器内创建 Kubernetes Secret,因为我不想在那里保存凭据!

最佳答案

我看到了几种实现你想要的方法:

  • 在我看来,最好的方法是使用 Kubernetes Secret。 @Nebril 已经在评论中提供了这个想法。可以通过Init Container生成,通过PreStop移除。钩,例如。但是,你不想走那条路。
  • 您可以使用 InitConatainer 和您的主 pod 将使用的共享卷。 InitContainer 会生成环境变量文件db_cred.env在您可以安装的卷中,例如,到 /env小路。之后,您可以通过修改 command 来加载它Pod 规范中的容器并添加命令 source /env/db_cred.env在将启动您的应用程序的主脚本之前。 @user2612030 已经给了你这个想法。
  • 另一种替代方式可以是 Vault通过 Hashicorp,您可以将其用作所有凭据的存储。
  • 您可以使用一些自定义解决方案从 Kubernetes 应用程序直接写入和读取 Etcd。这是一个库示例 - k8s-kv .

  • 但无论如何,在 Kubernetes 中存储凭据的最佳和最合适的方法是 Secrets。它比几乎任何其他方式都更安全、更容易。

    关于docker - 在 Kubernetes Init 容器中为 Kubernetes 主容器创建环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49571749/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com