使用kubernetes java客户端获取k8s服务端点

使用kubernetes java客户端获取k8s服务端点,kubernetes,deployment,kubernetes-helm,kubernetes-cluster,Kubernetes,Deployment,Kubernetes Helm,Kubernetes Cluster,我有我的Kubernetes客户做这个 public class Example { public static void main(String[] args) throws IOException, ApiException{ ApiClient client = Config.defaultClient(); Configuration.setDefaultApiClient(client); CoreV1Api api = new

我有我的Kubernetes客户做这个

public class Example {
    public static void main(String[] args) throws IOException, ApiException{
        ApiClient client = Config.defaultClient();
        Configuration.setDefaultApiClient(client);

        CoreV1Api api = new CoreV1Api();
        V1PodList list = api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null);
        for (V1Pod item : list.getItems()) {
        String generateName = item.getMetadata().getGenerateName();
            // if generated name that I need > get IP
        }
    }
}
在上面的示例中,我可以获得每个名称空间、每个状态的所有pod,并获得特定pod的IP


我的问题-是否有可能不检查名称空间中的所有pod,而只获取特定服务的端点?

我认为您的问题需要更精确一点。你到底想要实现什么?有一些方法,如
listserviceforallnamespace
——您可以使用它并通过标签选择器进行匹配。如果您只想获取集群中的所有端点,那么还有
ListendPoints集合名称空间
。我的主要目标是获取与特定部署相关的特定服务的POD IP。。。当我使用上面的代码时——我有一个包含所有pod(219项)的all列表,我需要迭代每个pod,以便按名称查找特定的pod并获得IP。所以我的问题是,有没有更优雅的方法来做到这一点,而不是迭代所有的pod?但是获得特定服务或部署的所有吊舱,并获得这些ip。。。使用listServices和listEndpoinds我能做到吗?@liotur你不是唯一一个有这个问题的人。。。我认为你的问题需要更精确一点。你到底想要实现什么?有一些方法,如
listserviceforallnamespace
——您可以使用它并通过标签选择器进行匹配。如果您只想获取集群中的所有端点,那么还有
ListendPoints集合名称空间
。我的主要目标是获取与特定部署相关的特定服务的POD IP。。。当我使用上面的代码时——我有一个包含所有pod(219项)的all列表,我需要迭代每个pod,以便按名称查找特定的pod并获得IP。所以我的问题是,有没有更优雅的方法来做到这一点,而不是迭代所有的pod?但是获得特定服务或部署的所有吊舱,并获得这些ip。。。使用listServices和listEndpoinds我能做到吗?@liotur你不是唯一一个有这个问题的人。。。