英文:
Get pod with given IP in Kubernetes go api
问题
我正在使用 Kubernetes 的 Go API。我有一个 Pod 的 IP,我想找到具有该 IP 的 Pod 的 v1.pod 对象(或者只是名称和命名空间)。我该如何操作?
英文:
I'm using the kubernetes go api. I have the IP of a pod, and I want to find the v1.pod object (or just name and namespace) of the pod that has that IP. How can I go about this?
答案1
得分: 2
原来你需要使用FieldSelector。在这种情况下,字段是status.podIP
。
import (
[...]
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
[...]
)
[...]
pods, err := clientset.CoreV1().Pods("").List(context.Background(), metav1.ListOptions{FieldSelector: "status.podIP=" + address})
其中clientset
是*kubernetes.Clientset
,address
是Pod的字符串IP。
英文:
Turns out you need to use a FieldSelector. The field in this case is status.podIP
.
import (
[...]
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
[...]
)
[...]
pods, err := clientset.CoreV1().Pods("").List(context.Background(), metav1.ListOptions{FieldSelector: "status.podIP=" + address})
Where clientset
is a *kubernetes.Clientset
and address
is the string IP of the pod
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论