Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 需要升级掌舵图而不删除已经运行的吊舱_Kubernetes_Celery_Kubernetes Helm - Fatal编程技术网

Kubernetes 需要升级掌舵图而不删除已经运行的吊舱

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

我有几个芹菜工人在minikube运行,他们正在处理使用rabbitMQ传递的任务。最近我更新了芹菜工人的一些代码,并更改了图像。当我执行
helm升级版本\u name chart\u path
时,所有现有的工作区都将终止,所有未完成的任务都将被放弃。我想知道是否有一种方法可以在不终止旧吊舱的情况下升级舵图

  • 我知道
    helm install-n new\u release\u name chart\u path
    会给我一组新的芹菜工人;但是,由于一些限制,我不允许在新版本中部署pod
  • 我试着运行
    helm upgrade release\u name chart\u path--set deployment.name=worker2
    ,因为我认为有一个新的部署名称会阻止helm删除旧的POD,但这也不起作用

  • 这就是Kubernetes部署的工作方式。您应该做的是修复芹菜工作者映像,以便它在实际关闭之前等待尝试并完成任何挂起的任务。除非你做了一些古怪的事情,比如SIGTERM没有变成芹菜,否则情况可能已经是这样了?有关详细信息,请参阅。

    您的部署策略配置是什么?它是RollingUpdate还是Recreate?我尝试为芹菜部署配置yaml文件,并添加了以下行:
    策略:
    类型:RollingUpdate
    RollingUpdate:MaxSpake:2
    maxUnavailable:0
    ,但在运行更新时它仍在终止旧的POD,您能否提供更多关于部署策略的建议?请尝试添加
    readinessProbe
    livenessProbe
    readinessProbe
    会告诉kubernetes你的新pod什么时候准备好了,即使容器已经准备好了,你的应用程序也可能正在初始化。