繁体   English   中英

如何使kubernetes服务在JAVA中处理多个端口?

[英]How to make kubernetes service handle multiple ports in JAVA?

我试图使我的服务侦听多个端口:

V1Service service = new V1Service();
service.setMetadata(new V1ObjectMeta().name("tests"));
V1ServiceSpec spec = new V1ServiceSpec();
spec.setType("NodePort");
spec.putSelectorItem("name", "tests");
spec.addPortsItem(new V1ServicePort().port(25452));

// WHEN I ADD ANY OF THE 3 LINES BELOW, THE CODE CRASHES, WHY?
spec.addPortsItem(new V1ServicePort().port(24932));
spec.addPortsItem(new V1ServicePort().port(25445));
spec.addPortsItem(new V1ServicePort().port(25432));

service.setSpec(spec);

mmaService = api.createNamespacedService(namespace, service, null);

但是,只有在包含一个端口的情况下,代码才会执行​​,否则将产生异常

io.kubernetes.client.ApiException: Unprocessable Entity
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882)
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798)
at io.kubernetes.client.apis.CoreV1Api.createNamespacedServiceWithHttpInfo(CoreV1Api.java:9237)
at io.kubernetes.client.apis.CoreV1Api.createNamespacedService(CoreV1Api.java:9221)

调用createNamespacedService方法时引发。 如何解决这个问题?

如果要公开多个服务端口,则必须为每个服务端口分配一个唯一的名称。 请使用带有名称的构造函数,或对引用变量调用.setName() ,因为这不是构造器方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM