根据 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
相关文章
- K8S圣经12:SpringCloud+Jenkins+ K8s Ingress 自动化灰度发布
- lens 添加 k8s 集群
- k8s中如何安全地对节点进行关闭,进而对主机进行维护?
- linux中如何将多条命令写入在一行中,其中包括while语句,同时,在k8s的command中如何来使用
- k8s中创建包含多个path(location)的ingress的方法
- 史上最全之K8s使用nfs作为存储卷的五种方式
- K8S原理剖析:Service原理剖析和实践
- 史上最全k8s必学必会知识梳理
- K8S容器探针
- 【k8s第二步】Kubernetes-Kubeadm部署安装【已修正错误】
- k8s 强制删除pod pvc namespace
- k8s存储 pv pvc ,storageclass
- k8s 安全之 Security Context k8s安全上下文
- k8s面试题大全(持续更新中)