使用kubernetes java客户端获取k8s服务端点
我有我的Kubernetes客户做这个使用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
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你不是唯一一个有这个问题的人。。。