相当于在终止后运行的 init 容器

Ale*_*int 2 kubernetes

是否可以创建一个在主容器终止后运行容器的 pod?我想像一个类似于 init 容器的东西,除了它在最后而不是在开始时运行。(我会用它来查找由主进程创建的各种元数据文件并将它们发送到我们的数据仓库)

Jos*_*sto 5

不,没有AFAIK。为此,您必须使用 pods 挂钩。您可以在这篇文章中阅读有关 pod hooks 的信息

在此处输入图片说明

正如Kubernetes 文档中所解释的,容器可以通过实现和注册该钩子的处理程序来访问该钩子。可以为容器实现两种类型的钩子处理程序:

Exec - 在容器的 cgroup 和命名空间中执行特定命令,例如 pre-stop.sh。命令消耗的资源将计入容器。HTTP - 针对容器上的特定端点执行 HTTP 请求。

对于您的用例,我将使用pre-stop 挂钩在容器内执行命令并查找那些元数据文件。

在容器终止之前立即调用此钩子。它是阻塞的,意味着它是同步的,所以它必须在删除容器的调用被发送之前完成。没有参数传递给处理程序。