Проверка состояния нездорового состояния при предоставлении службы MQTT из GKE Ingress - PullRequest
0 голосов
/ 31 марта 2020

Я использую Google Kubernets Engine (GKE) для развертывания простого MQTT-сервера (Mosquitto) и GKE Ingress для предоставления веб-сокета MQTT-сервера, который должен быть открыт со стороны моего javascript клиента. Это архитектура, связанная с предыдущими сервисами:

1) У меня есть стручок с репликой 1 контейнера с MQTT-сервером (Mosquitto). Этот контейнер предоставляет порты: - 1883: порт MQTT для подключения со стороны сервера (nodeJS приложение) - 9001: порт Websocket для подключения со стороны любого клиента (Javascript приложение из моего обзора).

2 ) У меня есть сервис kubernetes, который выставляет оба порта 1883 -> 1883 и 9001 -> 9001, которые соединяются с предыдущим Pod. 3) Я создаю входной объект kubernetes для предоставления доступа к некоторым портам, включая порт 9001, который будет использоваться со стороны моего клиента из inte rnet.

Когда я внедряю свой входной объект в GKE Google, это правильно создает loadbalancer и выставить все порты моего приложения правильно, за исключением порта 9001 и показать мне предупреждение как это:

'Некоторые бэкэнд-сервисы находятся в состоянии НЕЗДОРОВОЙ'

Сервис, связанный с этим waring, является сервисом подключен к модулю, содержащему службу MQTT, и это определяется как НЕЗДОРОВОЙ. Это нормально, потому что при чтении документации GKE Ingress для этой службы сервер MQTT не предоставляет конечной точки, откуда служба может отправлять проверку работоспособности и получать любые результаты 200, это, конечно, сервер MQTT, а не веб-сервер!

Таким образом, мой вопрос заключается в том, как я могу настроить объект GKE Ingress или службу или службу MQTT контейнера для разрешения этого нездорового статуса и опубликовать sh мой порт WebSocket 9001 для использования со стороны моего клиента ??.

Привет.

...