Kubernetes发现服务选择的Pod

时间:2018-08-23 13:27:52

标签: kubernetes kubectl fabric8

我想通过API从kubernetes集群中读取信息:我使用fabric8 Java客户端。

我想知道服务选择了哪些吊舱,但是除了名称(名称不是唯一的)之外,我无法在对象中找到任何链接信息。

(服务->吊舱)或(吊舱<-服务)另一个方向就足够了。

如果有人可以帮助我解决kubectl / yaml,我可能会自行找到一种通过API的方法。

1 个答案:

答案 0 :(得分:1)

每个服务都有一个对应的Endpoints对象。这在主要文档中并没有特别突出,但它是包含服务实际指向的所有内容的列表的对象。

一个面向外壳的配方,它将为您提供数据:

kubectl get endpoints my-service-name -o json \
  | jq '.subsets[].addresses[].targetRef'

对于服务所针对的每个Pod,其输出都包括其名称和名称空间。包含的EndpointAddress对象还包括Pod专用IP地址和运行Pod的节点的名称。