请问个 K8S 的问题: pod 收到 SIGTERM

2020-10-16 17:56:31 +08:00
 v2byy

服务部署在 AKS 上,POD 收到 SIGTERM,据我了解的信息,POD 在吃满 CPU limit 的时候,会被 throtting,这种情况应该不会收到 SIGTERM 。查看当时 pod 所在 node 的 CPU,已经吃满。难道 node CPU 吃满的情况下,会挑选出一个 pod,发送 SITERM 么?

目前没有找到相关的文档,请大家帮忙分析分析。

3929 次点击
所在节点    Kubernetes
13 条回复
julyclyde
2020-10-16 17:58:12 +08:00
没有“POD 收到信号”这个说法吧
只有进程收到信号
v2byy
2020-10-16 18:04:59 +08:00
@julyclyde 嗯,container 中 PID 为 1 的进程收到 SIGTERM 。
v2byy
2020-10-16 18:06:07 +08:00
@julyclyde 我是想请问 container 收到 SIGTERM 的原因是否可能是因为 node 的 CPU 满了。不知有没有遇到过这样的问题。
monsterxx03
2020-10-16 18:10:51 +08:00
不会的, 可能你 cpu 跑满后响应太慢, health check 失败后被干掉了
cyaki
2020-10-16 18:11:57 +08:00
最近刚遇到过这样的问题,答案: 会
cyaki
2020-10-16 18:12:50 +08:00
@monsterxx03 楼主不是 cpu 达到 pod 的限制,而是节点的 cpu 不足
eric96
2020-10-16 18:15:12 +08:00
节点的内存,CPU,磁盘存储达到阈值时,会对节点上的 pod 进行驱逐。这个阈值有默认值,并且可配置。详情可以查看 k8s 的文档
monsterxx03
2020-10-16 18:17:05 +08:00
@cyaki 那要看 pod 的 QoS class 了, 除非那个节点上有其他高优先级的 pod cpu request 得不到满足, 那这个 pod 可能会被 evict, 看 events  应该能看到,如果所有 pod 都没设 requests/limits, 那只会变慢,慢到可能 health check 失败
anonydmer
2020-10-16 18:24:24 +08:00
If a Container exceeds its memory request, it is likely that its Pod will be evicted whenever the node runs out of memory. A Container might or might not be allowed to exceed its CPU limit for extended periods of time. However, it will not be killed for excessive CPU usage.

文档是这么说的
cyaki
2020-10-16 18:32:08 +08:00
我遇到的问题是这样的

k8s 部署在阿里云的性能突发实列上,可用的 cpu 资源有阿里云的限制
当超过这个限制时,k8s 并没有任何提示资源不足和驱逐行为 ( 因为并没有达到 Node 的资源数值限制
观测到的 Pod 行为只是在不断地收到 SIGTERM 并重启
chenshun00
2020-10-16 18:37:59 +08:00
CPU 的限制应该是一段时间内吧,比如 1ms 内能用多长时间的 CPU(在限制的情况下)
v2byy
2020-10-16 18:39:46 +08:00
@monsterxx03 liveness probe 失败还没有达到阈值,应该不是 liveness probe 的原因
monsterxx03
2020-10-16 18:56:24 +08:00
信息不太够, kubectl describe pod 看下 Last State 里是什么, Events 里有什么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715731

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX