hazelcast-kubernetes无法启动嵌入式服务器

问题描述 投票:0回答:1

我正在尝试在kubernetes上的spring boot应用程序中启动一个简单的嵌入式hazelcast服务器。我正在使用hazelcast-kubernetes插件,并遵循了文档here。我尝试了LoadBalancer和NodePort服务类型。

我还尝试使用this example部署示例应用程序(使用相同的docker映像,并尝试了LoadBalancer和NodePort服务类型。

在两种情况下,在尝试重试10次以连接到Kubernetes Master时,都出现以下错误。其中a.b.c.d是kubernetes主节点的IP地址。

2020-03-09 18:20:57.322  INFO 1 --- [           main] c.h.c.LifecycleService                   : [a.b.c.d]:5701 [dev] [3.12] [a.b.c.d]:5701 is STARTING
2020-03-09 18:20:57.820  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [1] retrying in 1 seconds...
2020-03-09 18:20:59.339  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [2] retrying in 2 seconds...
2020-03-09 18:21:01.713  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [3] retrying in 3 seconds...
2020-03-09 18:21:05.113  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [4] retrying in 5 seconds...
2020-03-09 18:21:10.198  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [5] retrying in 7 seconds...
2020-03-09 18:21:17.807  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [6] retrying in 11 seconds...
2020-03-09 18:21:49.216  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [7] retrying in 17 seconds...
2020-03-09 18:22:06.319  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [8] retrying in 25 seconds...
2020-03-09 18:22:31.963  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [9] retrying in 38 seconds...
2020-03-09 18:23:15.423  WARN 1 --- [           main] c.h.k.RetryUtils                         : Couldn't connect to the Kubernetes master, [10] retrying in 57 seconds...
2020-03-09 18:24:23.099 ERROR 1 --- [           main] c.h.i.c.i.DiscoveryJoiner                : [a.b.c.d]:5701 [dev] [3.12] Failure in KubernetesClient
com.hazelcast.kubernetes.KubernetesClientException: Failure in KubernetesClient
        at com.hazelcast.kubernetes.DefaultKubernetesClient.callGet(DefaultKubernetesClient.java:109) ~[hazelcast-kubernetes-1.3.1.jar!/:?]
        at com.hazelcast.kubernetes.DefaultKubernetesClient.endpointsByName(DefaultKubernetesClient.java:88) ~[hazelcast-kubernetes-1.3.1.jar!/:?]
        .
        .
        .       
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [main.jar:?]
Caused by: java.net.UnknownHostException: kubernetes.default.svc
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[?:1.8.0_111]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_111]

在第二种情况下,当我使用leszko的sample时,它尝试连接的IP地址是POD的IP。

[[190.168.1.194]:5701 [dev] [3.11] KubernetesClient失败

[190.168.1.194是POD的IP地址

我将以下env添加到部署yaml中,但看起来好像不能覆盖此变量。

env:
           - name: service-name
             value: "hazelcast-embedded"

Kubernetes Discovery properties: { service-dns: null, service-dns-timeout: 5, service-name: null, service-port: 0, service-label: null, service-label-value: true, namespace: default, resolve-not-ready-addresses: false, kubernetes-master: https://kubernetes.default.svc}
spring-boot kubernetes hazelcast
1个回答
0
投票

您的Kubernetes集群本身似乎有问题。

  1. 首先,您尝试使用Hazelcast Kubernetes发现策略Kubernetes API,该策略对Kubernetes主服务器进行REST调用。始终应通过主机名kubernetes.default.svc从POD访问Kubernetes master。在您的情况下,找不到它。

  2. 然后,您尝试使用Hazelcast Kubernetes发现策略DNS Lookup,该策略使用服务DNS解析Hazelcast成员。就您而言,如@Mesut所述,它无法正确解析服务的DNS。

© www.soinside.com 2019 - 2024. All rights reserved.