如何使用 initContainer 设置环境变量或修改主容器的启动命令?

时间:2021-05-25 18:47:19

标签: kubernetes

我有一个应用程序需要知道它被分配了 NodePort。不幸的是,无法将文件写入可挂载卷,然后在主容器中读取该文件。因此,我正在寻找一种方法,要么让 initContainer 设置一个传递给主容器的环境变量,要么修改主 pod 的启动命令以添加额外的 CLI 参数。我似乎找不到任何可以引导我得出这个答案的示例或文档。 TIA。

1 个答案:

答案 0 :(得分:1)

没有直接的方法,所以你必须要有创意。例如,您可以创建一个两个容器都可以访问的共享 emptyDir 挂载,让 initContainer 将 export FOO=bar 写入该文件,然后将主容器命令更改为类似 [bash, -c, "source /thatfile && exec originalcommand"]