繁体   English   中英

当 Kubernetes 活跃度探测失败时,是否可以指定 Pod 重启的延迟?

[英]Is it possible to specify a delay for pod restart when Kubernetes liveness probe fails?

得到了一个简单的 REST API 服务器,使用 python gunicorn 构建,它运行多个线程来接受请求。 运行一段时间后,其中一些线程崩溃。 有一个脚本来检测死线程的数量(使用日志文件)。 一旦这个数字超过某个阈值,我们就想重新启动 gunicorn。 此脚本配置为用作liveness probe

该脚本工作正常并按预期重新启动 pod。 但是有一些活动线程仍在处理请求。 此外,gunicorn 保留了一个它无法处理的已接受请求的积压队列,因为其他请求正在处理中。 有没有办法指定 pod 重启的延迟,以便其他正在运行的线程和积压请求有一些时间来完成处理?

您可以使用 prestop 挂钩。 官方文档在这里

如何使用记录在这里

您还可以使用 terminateGracePeriodSeconds 来允许优雅地终止 pod。

最佳实践在这里

您可以使用 terminateGracePeriodSeconds 配置优雅的 pod terminationGracePeriodSeconds

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
    name: test
spec:
    replicas: 1
    template:
        spec:
            containers:
              - name: test
                image: ...
            terminationGracePeriodSeconds: 60

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM