在pod初始化后使用initcontainer在工作中做一些事情

时间:2019-09-05 14:48:08

标签: kubernetes kubernetes-jobs

我目前正试图在Kubernetes的一个刚刚加入的项目中创建工作。

此作业应等到另外两个Pod启动并运行后,再运行 .sh 脚本为应用程序中的测试人员创建一些数据。

我发现我应该使用 initContainers 。但是,有一点我不理解。

为什么我应该在职位描述 initContainers 下的 env 标签下包含一些环境值em> .yaml 文件?

我以为我只是在等待豆荚初始化,而不是再创建它们。我想念什么吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

initContainers 类似于在Pod中运行的容器,但是在规范键containers中定义的容器执行之前

容器一样,它们共享一些命名空间和IPC,因此,Scheduler将检查声明的 initContainers 是否成功,然后进行调度容器。

请记住,基本上,当您创建Pod时,您正在创建一个名为pause的空容器,该容器将为以下容器提供基于名称空间的基础:因此,最后, initContainer 并不是真的再次创建 一个新的Pod,就像它的名字一样,它是一个初始化程序。