是否可以创建一个在主容器终止后运行容器的pod?我想象的东西类似于init容器,除了在最后而不是在开头运行。 (我会用它来查找主进程创建的各种元数据文件并将它们发送到我们的数据仓库)
不,没有AFAIK。你必须使用pods钩子。你可以读一下pod hooks on this post
正如在Kubernetes documentation上所解释的那样,容器可以通过实现和注册该钩子的处理程序来访问钩子。可以为Container实现两种类型的钩子处理程序:
Exec - 在Container的cgroups和名称空间内执行特定命令,例如pre-stop.sh。命令消耗的资源将根据Container计算。 HTTP - 对Container上的特定端点执行HTTP请求。
对于您的用例,我将使用the pre-stop hook在容器内执行命令并查找这些元数据文件。
在容器终止之前立即调用此挂钩。它是阻塞的,意味着它是同步的,所以它必须在删除容器的调用之前完成。没有参数传递给处理程序。