偶然查看服务时发现有个单副本的 pod 一直处于Terminating状态,已达 8 天之久,且手动删除删除不掉

[appuser@lyj 2019-09-20 14:35:36 ~]$ kubectl get pods -n sit |grep loan-after-query-service-sit
loan-after-query-service-sit-868758d5c8-7sfcr 1/1 Running 0 14m
loan-after-query-service-sit-868758d5c8-scmfx 1/1 Terminating 0 8d

使用命令kubectl describe pod loan-after-query-service-sit-868758d5c8-scmfx -n NAMESPACE 查看该 pod的描述信息, 得到如下

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Killing 13s (x21 over 36m) kubelet, cn-beijing.i-2ze0dg85eb6vxi1t0vcr Killing container with id docker://loan-after-query-service:Need to kill Pod

这个问题是Kubernetes偶发的BUG,使用以下命令强制删除:

kubectl delete pod xxxxxx --grace-period=0 --force

执行命令后返回一条警告信息---> 警告:立即删除并不等待正在运行的资源已被终止的确认。资源可以无限期地继续在集群上运行。

[appuser@lyj 2019-09-20 14:24:34 ~]$ kubectl delete pods loan-after-query-service-sit-868758d5c8-scmfx -n NAMESPACE --grace-period=0 --force
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "loan-after-query-service-sit-868758d5c8-scmfx" deleted

去到容器所在 Node机器上通过 docker ps 仍看得到这个已经运行 8 天的容器

[root@iz2ze0dg85eb6vxi1t0vcrz ~]# docker ps -a|grep loan-after-query-service-sit
007eb7071429 registry-vpc.cn-beijing.aliyuncs.com/9fbank/loan-after-query-service "/bin/sh -c 'sh /u..." 7 minutes ago Up 7 minutes k8s_loan-after-query-service_loan-after-query-service-sit-868758d5c8-7sfcr_sit_3eb28c46-db6f-11e9-aee8-00163e082a66_0
7b36d58a26d5 registry-vpc.cn-beijing.aliyuncs.com/acs/pause-amd64:3.0 "/pause" 7 minutes ago Up 7 minutes k8s_POD_loan-after-query-service-sit-868758d5c8-7sfcr_sit_3eb28c46-db6f-11e9-aee8-00163e082a66_0
21ad6e62a0f2 registry-vpc.cn-beijing.aliyuncs.com/9fbank/loan-after-query-service "/bin/sh -c 'sh /u..." 8 days ago Up 8 days k8s_loan-after-query-service_loan-after-query-service-sit-868758d5c8-scmfx_sit_efeb3399-d462-11e9-aee8-00163e082a66_0
7691a8019419 registry-vpc.cn-beijing.aliyuncs.com/acs/pause-amd64:3.0 "/pause" 8 days ago Exited (0) 43 minutes ago k8s_POD_loan-after-query-service-sit-868758d5c8-scmfx_sit_efeb3399-d462-11e9-aee8-00163e082a66_0

手动删除该容器

[root@iz2ze0dg85eb6vxi1t0vcrz ~]# docker rm -f k8s_loan-after-query-service_loan-after-query-service-sit-868758d5c8-scmfx_sit_efeb3399-d462-11e9-aee8-00163e082a66_0
k8s_loan-after-query-service_loan-after-query-service-sit-868758d5c8-scmfx_sit_efeb3399-d462-11e9-aee8-00163e082a66_0

【解决】Pod 状态一直 Terminating,Need to kill Pod的更多相关文章

  1. Kubernetes学习之路(十一)之Pod状态和生命周期管理

    一.什么是Pod? Pod是kubernetes中你可以创建和部署的最小也是最简的单位.一个Pod代表着集群中运行的一个进程. Pod中封装着应用的容器(有的情况下是好几个容器),存储.独立的网络IP ...

  2. k8s的Pod状态和生命周期管理

    Pod状态和生命周期管理   一.什么是Pod? 二.Pod中如何管理多个容器? 三.使用Pod 四.Pod的持久性和终止 五.Pause容器 六.init容器 七.Pod的生命周期 (1)Pod p ...

  3. Pod——状态和生命周期管理及探针和资源限制

    一.什么是Podkubernetes中的一切都可以理解为是一种资源对象,pod,rc,service,都可以理解是 一种资源对象.pod的组成示意图如下,由一个叫”pause“的根容器,加上一个或多个 ...

  4. zabbix 监控openshift pod状态

    需求: pod中的容器重启一次则报警通知 pod非Runing 状态则报警 pod中的容器非true状态则报警 三个需求其实是有点重叠的 pod重启期间pod肯定会有非Running状态,只要有重启报 ...

  5. pod状态为Back-off

    查看pod状态为CrashLoopBackOff [root@master yaml]# kubectl get pods NAME READY STATUS RESTARTS AGE mysql-7 ...

  6. (五)Kubernetes Pod状态和生命周期管理

    什么是Pod Pod是kubernetes中你可以创建和部署的最小也是最简的单位.Pod代表着集群中运行的进程. Pod中封装着应用的容器(有的情况下是好几个容器),存储.独立的网络IP,管理容器如何 ...

  7. Kubernetes系列:故障排查之Pod状态为CreateContainerError

    查看pod状态如下图所示,当前状态为CreateContainerError. 通过kube describe命令去查看Pod的状态发现没有提示任何错误.但是当通过命令kube logs查看pod的日 ...

  8. 解决删除~/Library/Caches/CocoaPods/search_index.json重新pod search还是不起作用

    今天新苹果机安装cocoapods,安装完以后发现怎么pod search 都没有用 命令行提示: swhcxp@iosdevmac ~ % pod search Almofire Setup com ...

  9. Kubernetes的pod控制器及ReplicaSet控制器类型的pod的定义

    为什么需要Pod Kubernetes项目之所以这么做的原因: 因为Kubernetes是谷歌公司基于Borg项目做出来的,谷歌工程师发现,他们部署的应用往往存在这进程与进程组的关系.具体说呢,就是这 ...

随机推荐

  1. Linux上安装git并在gitlab上建立对应的项目

    1.CentOS上面安装git我所用的CentOS为CentOS6.5,其他版本没有测试. yum install git 安装之后查看git版本信息 git --version 2.配置git信息g ...

  2. Guava cacha 机制及源码分析

    1.ehcahce 什么时候用比较好:2.问题:当有个消息的key不在guava里面的话,如果大量的消息过来,会同时请求数据库吗?还是只有一个请求数据库,其他的等待第一个把数据从DB加载到Guava中 ...

  3. Docker底层基石namespace与cgroup

    Docker底层基石namespace与cgroup   容器本质上是把系统中为同一个业务目标服务的相关进程合成一组,放在一个叫做namespace的空间中,同一个namespace中的进程能够互相通 ...

  4. IO流—其他流

    内存操作流 这个流不关联任何文件,只能在内存中数据,自己在内存中维护着一个缓冲区,我们可以往他维护的缓冲区不断的写入数据,也可以从缓冲区中取出我们写入的数据 ByteArrayOutputStream ...

  5. AQS1---走向稳定态

    AQS的思想(稳定思想):即使确定了正常节点,这个节点也可能下一秒异常,即使找到了正常节点,这个节点可能只是异常status=0/-1的节点,这些都不要紧,都只是在自己旋转‘生命周期’里面和自己所看到 ...

  6. [原创] C#编程规范工具介绍

    1.目标 代码编写规范.整齐.整洁.可读. 无错误 无警告 2.排版 安装PowerCommands扩展 “工具”-“扩展管理库”,搜索安装. 设置选中Format document on save和 ...

  7. [转帖]Linux chattr 命令详解

    Linux chattr 命令详解 https://www.cnblogs.com/ftl1012/p/chattr.html 常见命令参数 1 2 3 4 5 6 7 8 9 10 11 12 A: ...

  8. FEL表达式的用法

    Fel是开放的,引擎执行中的多个模块都可以扩展或替换.Fel的执行主要是通过函数实现,运算符(+.-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单. Fel有双引擎,同时支持解释执 ...

  9. Vue父组件如何调用子组件(弹出框)中的方法的问题

    如果子组件是一个弹出框,只有在触发某个点击事件时弹出框才能出现(也就是说在父组件中的子组件使用上用了v-if),那在父组件上如果不点击弹出框是不能获取到$ref的. 原因就是:引用指向的是子组件创建的 ...

  10. Golang解析、验证、修改URL之Host、Port、Path

    URL解析验证问题 net.ParseIP()只能解析不带冒号以及端口号的IP4/IP6 ✔: 127.0.0.1.2001:db8::68 ✖: 127.0.0.1:8080.www.baidu.c ...