调用 helm install 时芹菜任务停止
Celery task stops when calling helm install
我在 kubernetes 上有一个 Web 服务器和 celery beat worker 运行。
在部署中,我调用这个命令 -
helm upgrade X ./X --set xImageTag=$TAG,nginxImageTag=$TAG --install
pods 正在重新启动。如果有一个 运行 芹菜任务 - 它会在中间停止并永远丢失。
有什么优雅的方法可以防止这种情况发生吗?
我正在考虑:使用 pod PreStop 挂钩或创建一些东西来阻止任务停止。
即使部署新代码并调用
,我也希望任务继续运行
helm upgrade ..... --install
.
我确定有人遇到过这个问题,但我在网上找不到任何东西。谢谢!
我们通过让 celery 任务以编程方式创建 k8s 作业来解决它。现在celery任务的进程是在一个k8s job中执行的,helm install不会删除。 celery 任务将创建一个 k8s 作业,然后终止。以编程方式创建 k8s 作业的代码位于:blog.pythian.com/how-to-create-kubernetes-jobs-with-python 。
我在 kubernetes 上有一个 Web 服务器和 celery beat worker 运行。 在部署中,我调用这个命令 -
helm upgrade X ./X --set xImageTag=$TAG,nginxImageTag=$TAG --install
pods 正在重新启动。如果有一个 运行 芹菜任务 - 它会在中间停止并永远丢失。 有什么优雅的方法可以防止这种情况发生吗?
我正在考虑:使用 pod PreStop 挂钩或创建一些东西来阻止任务停止。
即使部署新代码并调用
,我也希望任务继续运行helm upgrade ..... --install
.
我确定有人遇到过这个问题,但我在网上找不到任何东西。谢谢!
我们通过让 celery 任务以编程方式创建 k8s 作业来解决它。现在celery任务的进程是在一个k8s job中执行的,helm install不会删除。 celery 任务将创建一个 k8s 作业,然后终止。以编程方式创建 k8s 作业的代码位于:blog.pythian.com/how-to-create-kubernetes-jobs-with-python 。