kubernetes envFrom:如何加载位于pod文件系统文件中的变量

问题描述 投票:0回答:1

我需要先填充一个位于由init容器填充的pod文件系统中的env文件。

我查了envFrom documentation,但我无法弄清楚如何使用它,我已经能够在互联网上找到一些相关的例子。

猜猜一个init容器在/etc/secrets/secrets.env上创建了一个文件,所以pod容器规范必须在/etc/secrets/secrets.env上查找才能填充env变量。

kubernetes
1个回答
1
投票

您将无法使用PodSpec引用任何文件系统组件来填充环境变量,因为它会产生鸡与蛋的问题:kubernetes无法在没有完整PodSpec的情况下创建文件系统,但它无法在没有访问权限的情况下解析PodSpec中的变量到Pod的文件系统

如果/etc/secretsvolume和正常的initContainer分享的container,那么你可以取代你的command:container,在运行实际命令之前将其输入其环境,但这就像你将获得的那样接近:

containers:
- name: my-app
  command:
  - bash
  - -ec
  - |
    . /etc/secrets/secrets.env
    ./bin/run-your-server-command-here
© www.soinside.com 2019 - 2024. All rights reserved.