上云无忧 > 文档中心 > 腾讯云容器服务 - Pod 无限重启且流量异常
容器服务 TKE
腾讯云容器服务 - Pod 无限重启且流量异常

文档简介:
故障现象: Pod 突然不断重启,期间有流量进入,这部分流量异常。 原因: 1. Pod 之前所在节点异常,重建漂移到了其它节点去启动。 2. Pod 重建后由于基础镜像中依赖的一个服务有问题导致启动较慢,因为同时配置了 ReadinessProbe 与 LivenessProbe,大概率是启动时所有健康检查都失败,达到 LivenessProbe 失败次数阈值,又被重启。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

故障现象

Pod 突然不断重启,期间有流量进入,这部分流量异常。

原因

1. Pod 之前所在节点异常,重建漂移到了其它节点去启动。
2. Pod 重建后由于基础镜像中依赖的一个服务有问题导致启动较慢,因为同时配置了 ReadinessProbe 与 LivenessProbe,大概率是启动时所有健康检查都失败,达到 LivenessProbe 失败次数阈值,又被重启。
3. Pod 配置了 preStop 实现优雅终止,被重启前会先执行 preStop,优雅终止的时长较长,preStop 期间 ReadinessProbe 还会继续探测。
4. 探测方式使用的 TCP 探测,进程优雅终止过程中 TCP 探测仍然会成功(没完全退出前端口监听仍然存在),但实际此时进程已不会处理新请求了。
5. LivenessProbe 结果不会影响 Pod Ready 状态,是否 Ready 主要取决于 ReadinessProbe 结果,由于 preStop 期间 ReadinessProbe 是成功的,Pod 就变 Ready 了。
6. Pod Ready 但实际无法处理请求,业务就会异常。

总结

1. Pod 慢启动 + 存活探测 导致被无限重启。需要延长 initialDelaySecondsStartProbe 来保护慢启动容器。
2. TCP 探测方式不能完全真实反映业务健康状态,导致在优雅终止过程中,ReadinessProbe 探测成功让流量放进来而业务却不会处理,导致流量异常。需要使用更好的探测方式,建议业务提供 HTTP 探活接口,使用 HTTP 探测业务真实健康状态。
相似文档
  • 本文档介绍可能导致容器进程主动退出的几种场景,以及如何通过排查步骤定位异常原因。请按照以下步骤依次进行排查,定位问题后恢复正确配置即可。
  • 本文向您介绍如何为数据盘设置文件系统卷标。 使用背景: NVMe 数据盘的盘符由 NVMe 盘的驱动生成,如果驱动加载顺序不一致可能会导致盘符变化。因此,由于操作系统和物理机的限制,云服务器 CVM 部分普通机型(如黑石、高 IO 型、高性能 HCC 等)挂载多块 NVMe 数据盘时,重启系统后盘符可能会错乱。更多内容可参考 Linux 云服务器重启后云硬盘未自动挂载。
  • 默认情况下腾讯云无法登录集群进行问题排障,如果您需要腾讯云售后协助进行运维排障,请参考以下步骤授予腾讯云运维权限。您有权随时吊销回收授予腾讯云的运维排障权限。
  • Cluster Autoscaler(CA)与基于监控指标的弹性伸缩的节点扩缩容有什么不同? Cluster Autoscaler 确保集群中的所有 Pod 都可调度,不管具体的负载;而基于监控指标的节点弹性伸缩在自动扩缩时不关心 Pod,可能会添加一个没有任何 Pod 的节点,或者删除一个有一些系统关键 Pod 的节点,例如 kube-dns。Kubernetes 不鼓励这种自动缩容机制,故 Cluster Autoscaler 与基于监控指标的弹性伸缩的节点互相冲突,请不要同时启用。
  • 创建集群时,云服务器可以不选取公网 IP 么? 云服务器可以不选取公网 IP,无公网IP的云服务器只能拉取镜像仓库下我的镜像,不能拉取 dockerhub 以及第三方镜像。 无公网 IP,但有外网带宽的云服务器可以通过绑定弹性 IP 来访问 Internet。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部