我正在运行一个启用了 KEDA 的队列触发 Azure 函数,该函数terminationGracePeriodSeconds
已设置为900
秒(15 分钟)。函数执行时间在 30 秒到 600 秒(10 分钟)之间变化。所以 15 分钟的宽限期似乎是合理的。
是否有可能在发出 SIGTERM 之后,如果还有一些宽限期,Pod 会在完成当前请求后接受新的请求。
我遇到过函数执行突然停止、消息未处理的情况。
以下是部署中的规范:
spec:
containers:
- image: ####.azurecr.io/azurefunctionqueuetriggeredk8s
name: queuetrigcontainer
ports:
- containerPort: 80
resources:
requests:
memory: "500Mi"
cpu: "700m"
limits:
memory: "600Mi"
cpu: "700m"
nodeSelector:
agentpool: testuserpool
terminationGracePeriodSeconds: 900
这种行为有什么合理的解释吗?如何解决?
编辑:容器日志显示“应用程序正在关闭......”