读取已部署 pod 内环境变量的部署后脚本

时间:2021-04-29 16:53:40

标签: shell kubernetes environment-variables containers apache-flink

我有 kubernetes 工作,负责将 jar 发布到 flink(通过 flink api)并运行 Jar。 作为响应,它将从 flink api 获取作业 ID,我需要在测试脚本中使用它来查看我的作业是否正在运行。作业将在 job.yaml 生成的容器/pod 内运行,而测试脚本不会从 job.yaml 生成的同一个 pod/容器中运行。

如果我将此作业 ID 保存为由 job.yaml 生成的容器/pod 内的环境变量,是否有办法访问 pod 外的该环境变量。我什至不允许使用 kubectl exec -it podname /bin/bash/ 命令手动进入容器(打印环境变量),说我无法进入已完成(未运行)的 Pod..所以我不确定我可以通过脚本做同样的事情..

是否有其他方法可以通过使用我在容器/pod 中设置的环境变量(由 job.yaml 生成)来访问测试脚本中的作业 ID?

总而言之,有没有办法访问我在 Pod 中设置的环境变量,通过使用在 Pod 外运行的脚本?

谢谢... 帕万。

1 个答案:

答案 0 :(得分:0)

不,您不能为此使用环境变量。

您可以从 Pod 内部添加注释。 为此,您需要设置:

然后你就可以从另一个 pod/container 访问它