一次初始任务的Kubernetes吊舱

一次初始任务的Kubernetes吊舱,kubernetes,Kubernetes,在启动所有服务之前,我需要一个pod来进行一些初始化。但是我不希望这个pod在初始化完成后运行,并且所有其他pod/服务都应该在初始化完成后启动。我知道pod中有init容器,但我认为这不能解决这个问题,因为我希望pod在初始化后退出。这取决于init任务,但init容器是您最好的选择 Kubernetes将在另一个容器之前创建initContainer,当它完成任务时,它将退出 使用代码0优雅地退出InitContainer,这样k8s就可以理解容器完成了它要执行的任务,而不必尝试重新启动它

在启动所有服务之前,我需要一个pod来进行一些初始化。但是我不希望这个pod在初始化完成后运行,并且所有其他pod/服务都应该在初始化完成后启动。我知道pod中有init容器,但我认为这不能解决这个问题,因为我希望pod在初始化后退出。

这取决于init任务,但init容器是您最好的选择

Kubernetes将在另一个容器之前创建initContainer,当它完成任务时,它将退出

使用代码0优雅地退出InitContainer,这样k8s就可以理解容器完成了它要执行的任务,而不必尝试重新启动它


init任务将完成,容器将不再存在

这取决于init任务,但init容器是您的最佳选择

Kubernetes将在另一个容器之前创建initContainer,当它完成任务时,它将退出

使用代码0优雅地退出InitContainer,这样k8s就可以理解容器完成了它要执行的任务,而不必尝试重新启动它


您的初始化任务将完成,容器将不再存在

建议您让Kubernetes自动处理吊舱,而不是在可能的情况下自己手动管理。考虑一下运行一次这样的任务:

apiVersion:batch/v1 种类:工作 元数据: 姓名:myjob 规格: 模板: 规格: 餐馆政策:永不 容器: -姓名: 图片: $kubectl apply-f job.yml Kubernetes将创建一个pod来运行该作业。pod将在作业退出后立即完成。请注意,完成的作业及其pod将从消耗资源中释放,但不会完全删除,以便您有机会检查其状态和日志。删除作业将完全删除pod


作业可以执行高级操作,例如在出现故障时以指数退避方式重新启动、并行运行任务以及限制其运行时间。

建议您让Kubernetes自动处理吊舱,而不是在可能的情况下自己手动管理吊舱。考虑一下运行一次这样的任务:

apiVersion:batch/v1 种类:工作 元数据: 姓名:myjob 规格: 模板: 规格: 餐馆政策:永不 容器: -姓名: 图片: $kubectl apply-f job.yml Kubernetes将创建一个pod来运行该作业。pod将在作业退出后立即完成。请注意,完成的作业及其pod将从消耗资源中释放,但不会完全删除,以便您有机会检查其状态和日志。删除作业将完全删除pod


作业可以执行高级操作,例如在出现故障时以指数退避方式重新启动、并行运行任务以及限制其运行时间。

您可以尝试将处理程序附加到容器生命周期事件。Kubernetes支持启动后和停止前事件。Kubernetes在容器启动后立即发送postStart事件,并在容器终止前立即发送preStop事件


您可以尝试将处理程序附加到容器生命周期事件。Kubernetes支持启动后和停止前事件。Kubernetes在容器启动后立即发送postStart事件,并在容器终止前立即发送preStop事件


你为什么要在处决后杀死这个吊舱?这似乎正是您需要确保操作吊舱的容器仅在初始化后执行的内容。您能否指定您希望以这种方式完成的任务是什么?为什么希望在执行后杀死此吊舱?这似乎正是您需要确保操作吊舱的容器仅在初始化后执行的。您能否指定您希望通过这种方式完成的任务