在 pod 初始化后,在作业中使用 initcontainers 做一些事情
Using initcontainers in a job to do some stuff after pod initialization
我目前正在尝试在我刚刚加入的项目中使用 Kubernetes 创建工作。
这项工作应该等到另外 2 个 pods 启动并 运行ning,然后 运行 一个 .sh 为应用程序中的测试人员创建一些数据的脚本。
我发现我应该使用 initContainers。但是,有一点我不明白。
为什么我应该在 env 标签下包含一些环境值在 initContainers 在职位描述 .yaml 文件中 ?
我以为我只是在等待 pods 被初始化,而不是再次创建它们。我错过了什么吗?
提前致谢。
initContainers 类似于 Pod 中的容器 运行,但是 在 规范键 [=] 中定义的容器之前执行10=].
像containers一样,它们共享一些命名空间和IPC,所以这意味着Scheduler会检查声明的initContainers 成功,然后它会调度容器。
请记住,当您创建一个 Pod 时,基本上,您是在创建一个名为 pause
的空容器,它将为以下容器提供一个命名空间基础:因此,最后,initContainer 并不是真正地创建 again 一个新的 Pod,顾名思义,它是一个初始化程序。
我目前正在尝试在我刚刚加入的项目中使用 Kubernetes 创建工作。
这项工作应该等到另外 2 个 pods 启动并 运行ning,然后 运行 一个 .sh 为应用程序中的测试人员创建一些数据的脚本。
我发现我应该使用 initContainers。但是,有一点我不明白。
为什么我应该在 env 标签下包含一些环境值在 initContainers 在职位描述 .yaml 文件中 ?
我以为我只是在等待 pods 被初始化,而不是再次创建它们。我错过了什么吗?
提前致谢。
initContainers 类似于 Pod 中的容器 运行,但是 在 规范键 [=] 中定义的容器之前执行10=].
像containers一样,它们共享一些命名空间和IPC,所以这意味着Scheduler会检查声明的initContainers 成功,然后它会调度容器。
请记住,当您创建一个 Pod 时,基本上,您是在创建一个名为 pause
的空容器,它将为以下容器提供一个命名空间基础:因此,最后,initContainer 并不是真正地创建 again 一个新的 Pod,顾名思义,它是一个初始化程序。