我有几个芹菜工人在minikube上运行,他们正在处理使用rabbitMQ传递的任务。最近我更新了一些芹菜工人的代码并改变了图像。当我做helm upgrade release_name chart_path
时,所有现有的工作舱都被终止,所有未完成的任务都被放弃了。我想知道是否有办法升级掌舵图而不终止旧的豆荚?
helm install -n new_release_name chart_path
会给我一套新的芹菜工人;但是,由于某些限制,我不允许在新版本中部署pod。helm upgrade release_name chart_path --set deployment.name=worker2
,因为我认为有一个新的部署名称将停止掌舵删除旧的pod,但这也不起作用。这就是Kubernetes Deployments的工作方式。你应该做的是修复你的Celery工作者图像,以便在实际关闭之前等待尝试完成任何待处理的任务。这应该是这种情况,除非你做了一些时髦的事情,以至于SIGTERM没有把它带到Celery?有关详细信息,请参阅https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods。