zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

k8s 获取 根据 名称 Pod pid
2023-09-11 14:20:30 时间

根据 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