Предупреждение о встроенном кластере приложения Hazecast-Kubernetes Springboot

Я развернул встроенный кластер hazelcast на Kubernetes, я получаю предупреждение ниже. отключен флаг автоматического увеличения, а ошибка portCount по-прежнему отображается.

Конфиг:

Config config = new Config();
config.setClusterName("cache-cluster");
JoinConfig joinConfig = config.getNetworkConfig().getJoin();
joinConfig.getMulticastConfig().setEnabled(false);
joinConfig.getTcpIpConfig().setEnabled(false);
joinConfig.getKubernetesConfig().setEnabled(true)
            .setProperty("namespace", "<Namespace>")
            .setProperty("service-name", "<Service-name>");

Я открыл контейнерный порт в Кубернетесе. сервисы могут создавать кластер, но постоянно получают предупреждение, указанное ниже.


2020-10-29 14:04:40.092  WARN  [hz.silly_lalande.IO.thread-in-1    ]  c.h.i.n.t.TcpIpConnection                    - [22.249.47.234]:5701 [cache-cluster] [4.0.1] Connection[id=2, /22.249.47.234:5701->/22.249.5.1:52152, qualifier=null, endpoint=null, alive=false, connectionType=NONE] closed. Reason: Exception in Connection[id=2, /22.249.47.234:5701->/22.249.5.1:52152, qualifier=null, endpoint=null, alive=true, connectionType=NONE], thread=hz.silly_lalande.IO.thread-in-1 
java.lang.IllegalStateException: Unknown protocol: ?
    at com.hazelcast.internal.nio.tcp.UnifiedProtocolDecoder.onRead(UnifiedProtocolDecoder.java:116)
    at com.hazelcast.internal.networking.nio.NioInboundPipeline.process(NioInboundPipeline.java:137)
    at com.hazelcast.internal.networking.nio.NioPipeline.lambda$start$0(NioPipeline.java:127)
    at com.hazelcast.internal.networking.nio.NioThread.processTaskQueue(NioThread.java:354)
    at com.hazelcast.internal.networking.nio.NioThread.selectLoop(NioThread.java:289)
    at com.hazelcast.internal.networking.nio.NioThread.run(NioThread.java:248)
2020-10-29 14:13:10.038  WARN  [hz.silly_lalande.IO.thread-in-2    ]  c.h.i.n.t.TcpIpConnection                    - [22.249.47.234]:5701 [cache-cluster] [4.0.1] Connection[id=3, /22.249.47.234:5701->/22.249.55.1:52730, qualifier=null, endpoint=null, alive=false, connectionType=NONE] closed. Reason: Exception in Connection[id=3, /22.249.47.234:5701->/22.249.55.1:52730, qualifier=null, endpoint=null, alive=true, connectionType=NONE], thread=hz.silly_lalande.IO.thread-in-2 
java.lang.IllegalStateException: TLS handshake header detected, but plain protocol header was expected.
    at com.hazelcast.internal.nio.tcp.UnifiedProtocolDecoder.loadProtocol(UnifiedProtocolDecoder.java:134)
    at com.hazelcast.internal.nio.tcp.UnifiedProtocolDecoder.onRead(UnifiedProtocolDecoder.java:90)
    at com.hazelcast.internal.networking.nio.NioInboundPipeline.process(NioInboundPipeline.java:137)
    at com.hazelcast.internal.networking.nio.NioThread.processSelectionKey(NioThread.java:382)
    at com.hazelcast.internal.networking.nio.NioThread.processSelectionKeys(NioThread.java:367)
    at com.hazelcast.internal.networking.nio.NioThread.selectLoop(NioThread.java:293)
    at com.hazelcast.internal.networking.nio.NioThread.run(NioThread.java:248)
2020-10-29 14:13:10.039  WARN  [hz.silly_lalande.IO.thread-in-0    ]  c.h.i.n.t.TcpIpConnection                    - [22.249.47.234]:5701 [cache-cluster] [4.0.1] Connection[id=4, /22.249.47.234:5701->/22.249.55.1:52736, qualifier=null, endpoint=null, alive=false, connectionType=NONE] closed. Reason: Exception in Connection[id=4, /22.249.47.234:5701->/22.249.55.1:52736, qualifier=null, endpoint=null, alive=true, connectionType=NONE], thread=hz.silly_lalande.IO.thread-in-0 
java.lang.IllegalStateException: TLS handshake header detected, but plain protocol header was expected.
    at com.hazelcast.internal.nio.tcp.UnifiedProtocolDecoder.loadProtocol(UnifiedProtocolDecoder.java:134)
    at com.hazelcast.internal.nio.tcp.UnifiedProtocolDecoder.onRead(UnifiedProtocolDecoder.java:90)
    at com.hazelcast.internal.networking.nio.NioInboundPipeline.process(NioInboundPipeline.java:137)
    at com.hazelcast.internal.networking.nio.NioThread.processSelectionKey(NioThread.java:382)
    at com.hazelcast.internal.networking.nio.NioThread.processSelectionKeys(NioThread.java:367)
    at com.hazelcast.internal.networking.nio.NioThread.selectLoop(NioThread.java:293)
    at com.hazelcast.internal.networking.nio.NioThread.run(NioThread.java:248)

Не уверен, почему здесь происходит соединение

[22.249.47.234]:5701 [cache-cluster] [4.0.1] Connection[id=4, **/22.249.47.234:5701->/22.249.55.1:52736**, qualifier=null, endpoint=null, alive=false, connectionType=NONE] closed. Reason: Exception in Connection[id=4, **/22.249.47.234:5701->/22.249.55.1:52736**, qualifier=null, endpoint=null, alive=true, connectionType=NONE], thread=hz.silly_lalande.IO.thread-in-0 

отсутствует какая-либо конфигурация?


person MAYUR KUMBHAR    schedule 29.10.2020    source источник
comment
1. Какую версию Hazelcast вы используете? 2. Используете ли вы hazelcast-all зависимость или hazelcast и hazelcast-kubernetes зависимости?   -  person Rafał Leszko    schedule 29.10.2020
comment
Я использую hazelcast версию 4.0.1 и hazelcast-kubernetes.   -  person MAYUR KUMBHAR    schedule 29.10.2020
comment
Какая версия hazelcast-kubernetes?   -  person Rafał Leszko    schedule 29.10.2020
comment
hazelcast-kubernetes версия 2.0.1, а также я использую hazelcast-spring версию 4.0.1   -  person MAYUR KUMBHAR    schedule 30.10.2020
comment
Конфигурация и версии выглядят нормально. Не могли бы вы проверить, подходит ли вам следующее руководство? guides.hazelcast.org/hazelcast-embedded-springboot   -  person Rafał Leszko    schedule 30.10.2020
comment
Таким образом, с приведенной выше конфигурацией я могу хранить данные и извлекать их из объекта кеша. Но я получаю это предупреждение. Кроме того, я обновил объект службы kubernetes, удалив поле type: LoadBalancer, и создал службу. Это решило проблему, и я не получаю предупреждения. Так связано ли это со службой балансировки нагрузки кубернетов, которая предоставляет внешние порты?   -  person MAYUR KUMBHAR    schedule 30.10.2020
comment
@MAYUR KUMBHAR Какая у вас инфраструктура? Если вы обслуживаете тип LoadBalancer и находитесь в локальном кластере, таком как kubeadm или minikube, вы не получите внешний IP-адрес. Если вы находитесь в облаке и создаете службу LoadBalancer, интеграция с поставщиком облачных услуг позаботится о создании необходимых облачных ресурсов и обратной записи конечной точки, где будет доступна ваша служба. Если у вас нет интеграции с облачным провайдером или контроллера для этой цели, ваш сервисный ресурс останется в состоянии ожидания.   -  person Jakub    schedule 30.10.2020
comment
Это локальный кластер с Kubeadm. Я еще раз проверю конфигурацию для служебного компонента.   -  person MAYUR KUMBHAR    schedule 30.10.2020
comment
Привет @MAYURKUMBHAR, так что если вы изменили его с LoadBalancer на ClusterIP, он работает? Если у вас есть тип LoadBalancer в локальном кластере с kubeadm, вы не получите внешний IP-адрес, и ваш ресурс службы останется в состоянии ожидания. Вам нужно будет использовать такой инструмент, как metallb, чтобы использовать тип или службу LoadBalancer в вашем локальном кластере.   -  person Jakub    schedule 03.11.2020


Ответы (1)


Это похоже на https://github.com/hazelcast/hazelcast-kubernetes/issues/186 Добавление containerPort: 5701 в манифест службы HZ должно работать.

Он должен работать независимо от типа сервиса, будь то LoadBalancer или ClusterIP.

Можете ли вы подтвердить, что кластеризация тоже работает нормально даже в случае предупреждений?

person vivek_vara    schedule 13.11.2020