hazelcast-kubernetes Невозможно запустить встроенный сервер - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь запустить простой встроенный сервер Hazelcast в приложении весенней загрузки на kubernetes. Я использую плагин hazelcast-kubernetes и следовал документации здесь . Я пробовал оба типа сервисов LoadBalancer и NodePort.

Я также пытался развернуть пример приложения, используя этот пример (используя тот же образ docker) и пробовал оба типа сервиса LoadBalancer и NodePort.

В обоих случаях я получаю следующую ошибку после 10 попыток подключения к Kubernetes Master. Где ab c .d - это IP-адрес главного узла kubernetes.

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]

Во втором случае, когда я использую sample у Leszko, он пытается использовать IP-адрес для подключения используется IP-адрес POD.

[190.168.1.194]: 5701 [dev] [3.11] Сбой в KubernetesClient

190.168.1.194 это IP-адрес POD

Я добавил приведенный ниже 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}

1 Ответ

1 голос
/ 12 марта 2020

Похоже, у вас проблема с самим кластером Kubernetes.

  1. Сначала вы пытаетесь использовать стратегию Hazelcast Kubernetes Discovery API Kubernetes , которая выполняет вызов REST мастеру Кубернетес. Мастер Kubernetes должен быть всегда доступен из вашего POD по имени хоста kubernetes.default.svc. В вашем случае он не найден.

  2. Затем попробуйте использовать стратегию Hazelcast Kubernetes Discovery DNS Lookup , которая использует службу DNS для разрешения участников Hazelcast. В вашем случае, как упомянуто @Mesut, неправильно разрешается DNS службы.

...