Kubernetes 需要升级掌舵图而不删除已经运行的吊舱
我有几个芹菜工人在minikube运行,他们正在处理使用rabbitMQ传递的任务。最近我更新了芹菜工人的一些代码,并更改了图像。当我执行Kubernetes 需要升级掌舵图而不删除已经运行的吊舱,kubernetes,celery,kubernetes-helm,Kubernetes,Celery,Kubernetes Helm,我有几个芹菜工人在minikube运行,他们正在处理使用rabbitMQ传递的任务。最近我更新了芹菜工人的一些代码,并更改了图像。当我执行helm升级版本\u name chart\u path时,所有现有的工作区都将终止,所有未完成的任务都将被放弃。我想知道是否有一种方法可以在不终止旧吊舱的情况下升级舵图 我知道helm install-n new\u release\u name chart\u path会给我一组新的芹菜工人;但是,由于一些限制,我不允许在新版本中部署pod 我试着运行he
helm升级版本\u name chart\u path
时,所有现有的工作区都将终止,所有未完成的任务都将被放弃。我想知道是否有一种方法可以在不终止旧吊舱的情况下升级舵图
helm install-n new\u release\u name chart\u path
会给我一组新的芹菜工人;但是,由于一些限制,我不允许在新版本中部署podhelm upgrade release\u name chart\u path--set deployment.name=worker2
,因为我认为有一个新的部署名称会阻止helm删除旧的POD,但这也不起作用这就是Kubernetes部署的工作方式。您应该做的是修复芹菜工作者映像,以便它在实际关闭之前等待尝试并完成任何挂起的任务。除非你做了一些古怪的事情,比如SIGTERM没有变成芹菜,否则情况可能已经是这样了?有关详细信息,请参阅。您的部署策略配置是什么?它是RollingUpdate还是Recreate?我尝试为芹菜部署配置yaml文件,并添加了以下行:
策略:
类型:RollingUpdate
RollingUpdate:MaxSpake:2maxUnavailable:0
,但在运行更新时它仍在终止旧的POD,您能否提供更多关于部署策略的建议?请尝试添加readinessProbe
和livenessProbe
readinessProbe
会告诉kubernetes你的新pod什么时候准备好了,即使容器已经准备好了,你的应用程序也可能正在初始化。