gpt4 book ai didi

python - Python Celery自动缩放Kubernetes

转载 作者:行者123 更新时间:2023-12-02 11:52:47 25 4
gpt4 key购买 nike

我目前正在使用AWS EBS,但切换到Kubernetes来管理我们的 celery worker 池。根据 celery 文档,当您想停止 celery worker 时,存在two types of signals that can be sent to the worker。一个是 TERM ,另一个是 KILL 。当使用 TERM 时,它将等待工作程序完成当前正在执行的操作,然后再停止。当使用 KILL 立即停止它时,此可能会导致失去任务。我的问题是在缩减工作人员池时使用Kubernetes自动扩展,如何确保将TERM发送给工作人员而不是KILL?我在使用AWS EBS时遇到了这种按比例缩小的问题,同样,在按比例缩小时 celery 花显示出任务丢失。

最佳答案

这里的事件链是:

  • Horizo​​ntalPodAutoscaler会降低其控制的Deployment上的replicas:
  • 部署会减少其相应ReplicaSet上的replicas:
  • ReplicaSet根据需要删除Pod。
  • Kubernetes发送每个容器SIGTERM并等待其关闭。
  • 如果尚未退出容器,它将发送每个容器SIGKILL。

  • 特别是在 Termination of Pods中描述了关闭顺序。您的进程将获得SIGTERM,然后在30秒后获得SIGKILL(如果尚未退出)。 HPA删除 pods 没有什么特别之处,与任何其他路径相反。

    关于python - Python Celery自动缩放Kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63263671/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com