根据 PID 获取 K8S Pod名称 - 反之 POD名称 获取 PID

复制代码

根据 Pid 获取 K8s Pod 名称


$ vim pod_name_info.sh #!/usr/bin/env bash Check_jq() { which jq &> /dev/null if [ $? != 0 ];then echo -e "\033[32;32m 系统没有安装 jq 命令,请参考下面命令安装! \033[0m \n" echo -e "\033[32;32m Centos 或者 RedHat 请使用命令 yum install jq -y 安装 \033[0m" echo -e "\033[32;32m Ubuntu 或者 Debian 请使用命令 apt-get install jq -y 安装 \033[0m" exit 1 fi } Pod_name_info() { CID=`cat /proc/${pid}/cgroup | head -1 | awk -F '/' '{print $5}'` CID=$(echo ${CID:0:8}) docker inspect $CID | jq '.[0].Config.Labels."io.kubernetes.pod.name"' } pid=$1 Check_jq Pod_name_info
复制代码

# 通过 Pid 获取 Pod 名称
$ ./pod_name_info.sh Pid

根据 Pod 名称获取 Pid

复制代码
$ vim pod_pid_info.sh
 
#!/usr/bin/env bash
 
Check_jq() {
  which jq &> /dev/null
  if [ $? != 0 ];then
    echo -e "\033[32;32m 系统没有安装 jq 命令,请参考下面命令安装!  \033[0m \n"
    echo -e "\033[32;32m Centos 或者 RedHat 请使用命令 yum install jq -y 安装 \033[0m"
    echo -e "\033[32;32m Ubuntu 或者 Debian 请使用命令 apt-get install jq -y 安装 \033[0m"
    exit 1
  fi
}
 
Pid_info() {
  docker_storage_location=`docker info  | grep 'Docker Root Dir' | awk '{print $NF}'`
 
  for docker_short_id in `docker ps | grep ${pod_name} | grep -v pause | awk '{print $1}'`
  do
    docker_long_id=`docker inspect ${docker_short_id} | jq ".[0].Id" | tr -d '"'`
    cat ${docker_storage_location}/containers/${docker_long_id}/config.v2.json | jq ".State.Pid"
  done
}
 
pod_name=$1
Check_jq
Pid_info
复制代码

 

posted @   滴滴滴  阅读(277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-10-18 elasticsearch6.4 memory locking requested for elasticsearch process but memory is not locked
2017-10-18 ssh加密公私钥
根据 Pid 获取 K8s Pod 名称根据 Pod 名称获取 Pid
点击右上角即可分享
微信分享提示