Kubernetes / 云原生

在Kubernetes集群中使用PID查找对应的Pod容器程序的方法

浅时光博客 · 10月18日 · 2024年 4.5k 次已读

一、场景描述

在我们的K8s集群中,会遇到某个宿主机突然资源耗费很多,但是上面跑的Pod无法确定是哪个容器,由于每个Pod里面的进程都是对应的宿主机上的一个普通用户进程,所以这个时候我们就可以通过查看宿主机上占用文章来源(Source):https://dqzboy.com资源较高的那个进程PID号来查找到对应的Pod容器服务。

二、实操文章来源(Source):浅时光博客过程

1、查看服务器资源使用情况

我们可以通过top命令,然后按住大写P对CPU一列进行排序,可以看到下图中,PID为5174的进程占用CPU使用率较高,我们可以查看该PID对应的Pod是啥

2、查看PID对应的Cgroup

[root@localhost ~]# cat /proc/5174/cgroup
  • 我们可以根据上图中的随机ID号,查到对应的容器
#通过下面的命令过滤出来对应的ID号
cat /proc/5174/cgroup | awk -F '/|-' '{print $8}'

3、根据ID号查找对应的容器

[root@localhost ~]# docker ps | grep 6f2953085ed6


本文作者:浅时光博客
原文链接:https://www.dqzboy.com/11061.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。请在下载后24小时内删除相应内容。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!