你如何从其IP地址获得Kubernetes pod的名字?

时间:2017-01-10 07:05:44

标签: kubernetes

如何从其IP地址获取pod的名称?无论kubectl在何处被调用,sed + awk / grep / kubectl /等的神奇咒语是什么?

3 个答案:

答案 0 :(得分:17)

实施例

kubectl get pods -o wide
NAME                               READY     STATUS    RESTARTS   AGE       IP            NODE
alpine-3835730047-ggn2v            1/1       Running   0          5d        10.22.19.69   ip-10-35-80-221.ec2.internal 

按IP获取pod名称

kubectl get --all-namespaces  --output json  pods | jq '.items[] | select(.status.podIP=="10.22.19.69")' | jq .metadata.name
"alpine-3835730047-ggn2v"

按IP

获取容器名称
kubectl get --all-namespaces  --output json  pods | jq '.items[] | select(.status.podIP=="10.22.19.69")' | jq .spec.containers[].name
"alpine"

答案 1 :(得分:1)

通过IP地址获取Pod名称的另一种方法是这样的:

"Honey, I'm $HOME"

在此示例中,IP地址为“ 10.2.6.181”的pod名称为“ jenkins-2-7d6d7fd99c-9xgkx”。

答案 2 :(得分:0)

无需其他工具即可完成,只需kubectl就足够了:

kubectl get pods -o custom-columns=:metadata.name --no-headers=true --field-selector status.podIP=<pod-ip-address-goes-here>