首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

聊聊 Kubernetes Pod or Namespace 卡在 Terminating 状态的场景

要解开这个原因,我们先来看Pod Terminating的基本流程: 客户端(比如kubectl)提交删除请求到API Server 可选传递 --grace-period 参数 API Server接受到请求之后...这时候describe查看对象的话,会发现其已经变成Terminating状态了 Pod所在的节点,kubelet检测到Pod处于Terminating状态时,就会开启Pod的真正删除流程 如果Pod中的容器有定义...更常见的情况是出现了僵尸进程,对应容器清理不了,Pod自然也会卡在Terminating状态。此时要想恢复,可能就只能重启机器了。...回到顶部 那Namespace卡在Terminating状态的原因是啥?...显而易见,删除Namespace意味着要删除其下的所有资源,而如果其中Pod删除卡住了,那Namespace必然也会卡在Terminating状态。

1.4K40

Kubernetes 实践:勿让 Docker Volume 引发 Terminating Pod

本文记录了网易数帆-轻舟 Kubernetes 增强技术团队如何一步步排查,发现 Docker Volume 目录过多导致 Terminating Pod 问题的经历,并给出了解决方案。...问题背景 最近用户的集群中又出现了某个节点上的 Pod 长时间处于 Terminating 状态的问题。...Pod 的元数据如下: 在节点上通过 docker 命令查看发现 Terminating Pod 下的业务容器 de6d3812bfc8 仍然未被删除: 再通过 ctr 命令查看发现 Containerd...至此我们问题的原因就清晰了,Terminating Pod 问题产生的流程如下: 某个业务的 Pod 中包含频繁的向 Volume 写入数据的逻辑导致文件硬链接计数超过最大限制。...使用 Volume 的容器无法被删除,此时集群中出现多个 Terminating Pod。 ?

52540

Node工作负载异常,一部分pod状态为Terminating

pod状态为Terminating 在节点处于“NotReady”状态时,deployment控制器会迁移节点上的容器实例,并将节点上运行的pod置为“Terminating”状态。...待节点恢复后,处于“Terminating”状态的pod会自动删除。偶现部分pod(实例)一直处于“Terminating ”状态,发现这部分的pod没有得到重新调度,不能提供服务。...注意:当一个 Pod 被删除时,它会Terminating被一些 kubectl 命令显示为。此Terminating状态不是 Pod 阶段之一。Pod 默认的正常终止的期限,默认为 30 秒。...此时如果通过 Dashbord 查看 Pod 的状态是 Terminating ,其实 Terminating 也不是 Pod status 的字段的值。...部分pod(实例)一直处于“Terminating ”状态,情况分为很多种,这里腾讯云做过一个总结: 《Pod 一直处于 Terminating 状态》。

1.6K20

Pod 一直停留在 Terminating 状态,我等得花儿都谢了~

前言 近期,弹性云线上集群发生了几起特殊的容器漂移失败事件,其特殊之处在于容器处于 Pod Terminating 状态,而宿主则处于 Ready 状态。...Terminating 状态的原因很清楚:清理容器失败。...当我们分析了几起 Pod Terminating 的涉事宿主后,发现它们的一个通性是 docker 版本为 18.06.3-ce,而我们当前主流的版本仍然是 1.13.1。...我们首先在测试环境中对 1.13.1 版本的 docker 进行了验证,Pod 确实没有被阻塞在 Terminating 状态,这是不是说明低版本 docker 不存在挂载点泄漏的问题呢?...386467562 [5] 清理容器变更: https://github.com/moby/moby/pull/31012 原文链接:https://www.likakuli.com/posts/docker-pod-terminating

1.2K31

Pod Terminating原因追踪系列】之 containerd 中被漏掉的 runc 错误信息

前一段时间发现有一些containerd集群出现了Pod卡在Terminating的问题,经过一系列的排查发现是containerd对底层异常处理的问题。...本文中会借由排查bug的过程来分析kubelet删除Pod的调用链,这样不仅仅可以了解containerd的bug,还可以借此了解更多Pod删除不掉的原因。...一个删除不掉的Pod 可能大家都会遇到这种问题,就是集群中有那么几个Pod无论如何也删除不掉,看起来和下图一样。...当然可有很多可能导致Pod卡在Terminating的原因,比如mount目录被占用、dockerd卡死了或镜像中有“i”属性的文件。...cri中的容器无法被删掉,自然发起删除流程的syncPod也会出现问题,这样最终就导致了Pod卡在了Terminating

4.3K117

Pod Terminating原因追踪系列之二】exec连接未关闭导致的事件阻塞

前一阵有客户docker18.06.3集群中出现Pod卡在terminating状态的问题,经过排查发现是containerd和dockerd之间事件流阻塞,导致后续事件得不到处理造成的。...删除不掉Pod 相信大家在解决现网问题时,经常会遇到Pod卡在terminating不动的情况,产生这种情况的原因有很多,比如【Pod Terminating原因追踪系列】之 containerd 中被漏掉的...遇到此类问题时,通常通过kubelet或dockerd日志、容器和Pod状态、堆栈信息等手段来排查问题。...exec正在执行,推测是客户行为: [jjijcq0jl2.png] ContainerExecStart方法中第二个参数为exec的id值,因此可以使用gdb查找对应地址内容,查看其参数中的execId和terminating...至此一个棘手的Pod terminating问题已经解决,后续也将推出小版本修复此问题,虽然修复起来比较简单,但问题分析的过程却无比艰辛,希望本篇文章能够对大家今后的问题定位打开思路,谢谢观看~ [ra4opk429a.png

2.5K108

Pod Terminating原因追踪系列之三】让docker事件处理罢工的cancel状态码

本篇为Pod Terminating原因追踪系列的第三篇,前两篇【Pod Terminating原因追踪系列】之 containerd 中被漏掉的 runc 错误信息、【Pod Terminating原因追踪系列之二...在处理现网问题时,Pod Terminating属于比较常见的问题,而本系列的初衷便是记录导致Pod Terminating问题的原因,希望能够帮助大家在遇到此类问题时,开拓排查思路。...本篇将再介绍一种造成Pod Terminating的原因,即处理事件流的方法异常退出导致的Pod Terminating,当docker版本在19以下且containerd进程由于各种原因(比如OOM)...Pod Terminating 前一阵有客户反馈使用docker18版本的节点上Pod一直处在Terminating状态,客户通过查看kubelet日志怀疑是Volume卸载失败导致的。...并查看Pod状态,发现Pod会一直卡在Terminating状态。

1.8K96

kubernetes-控制器statefulset和Job(十三)

从前面的学习我们知道使用Deployment创建的pod是无状态的,当挂载了Volume之后,如果该pod挂了,Replication Controller会再启动一个pod来保证可用性,但是由于...pod是无状态的,pod挂了就会和之前的Volume的关系断开,新创建的Pod无法找到之前的Pod。...但是对于用户而言,他们对底层的Pod挂了是没有感知的,但是当Pod挂了之后就无法再使用之前挂载的存储卷。     ...有序扩展,即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进行(即从0到N-1,在下一个Pod运行之前所有之前的Pod必须都是Running和Ready状态),基于init containers...StatefulSet 控制器将在 StatefulSet 中删除并重新创建每个 Pod。 它将以与 Pod 终止相同的顺序进行(从最大的序数到最小的序数),每次更新一个 Pod

40010

Pod

Pod是资源对象模型中由用户创建或部署的最小资源对象模型,也是K8s上运行容器应用的资源对象, 其他的资源对象都是用来支撑或扩展Pod对象的功能 比如 控制器对象是用来管控Pod对象 service或ingress...资源对象是用来暴露Pod引用对象 PersistentVolume资源对象是为Pod提供存储的 k8s 不会直接处理容器,而是Pod。...Pod由一个或多个container组成 Pod是K8s的最重要的概念,每一个Pod都有一个特殊的被称之为根容器的Pause容器。Pause容器对应的镜像属于K8s的一部分。...除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器 基本概念 最小部署单位 包含多个容器(一组容器的集合) 同一个Pod容器共享网络命名空间(同一个Pod,共享网络) Pod短暂存在...一个容器有进程,一个容器运行一个应用程序 Pod是“多进程”设计,运行多个应用程序 Pod的存在,为了亲密性 两个应用需要进行交互 网络外部隔离,内部互通 Pod共享实现机制 共享网络 容器本身之间相互隔离

54010
领券