我目前正在尝试在我刚刚加入的项目中在 Kubernetes 中创建工作。
该作业应该等到另外 2 个 pod 启动并运行,然后运行.sh脚本为应用程序中的测试人员创建一些数据。
我发现我应该使用initContainers。但是,有一点我不明白。
为什么我应该在作业描述.yaml文件的initContainers下的env标签下包含一些环境值?
我以为我只是在等待 Pod 被初始化,而不是再次创建它们。我错过了什么吗?
提前致谢。
我目前正在尝试在我刚刚加入的项目中在 Kubernetes 中创建工作。
该作业应该等到另外 2 个 pod 启动并运行,然后运行.sh脚本为应用程序中的测试人员创建一些数据。
我发现我应该使用initContainers。但是,有一点我不明白。
为什么我应该在作业描述.yaml文件的initContainers下的env标签下包含一些环境值?
我以为我只是在等待 Pod 被初始化,而不是再次创建它们。我错过了什么吗?
提前致谢。
initContainers就像在 Pod 中运行的容器,但在 spec key 中定义的容器之前containers
执行。
和容器一样,它们共享一些命名空间和IPC,所以这意味着调度器会检查声明的initContainers是否成功,然后调度容器。
请记住,当您创建 Pod 时,基本上,您正在创建一个名为的空容器pause
,该容器将为以下容器提供命名空间基础:因此,最后,initContainer并没有真正再次创建新 Pod,例如顾名思义,它是一个初始化器。