【发布时间】:2020-10-02 17:34:20
【问题描述】:
我在订阅和发布到在我的 Kubernetes 集群上运行的 Mosquitto 服务器时遇到问题。
我知道我的服务和 pod 正在运行。我可以使用我的 mosquitto 服务作为主机从集群内部订阅和发布。
我还有一个可用的 HTTPS 网关,因此我可以从外部访问 https://mosquittourl.com.br,我可以看到它到达了我的 mosquitto 容器的 1883 端口。容器日志:
New connection from 127.0.0.1 on port 1883.
Client <unknown> disconnected due to protocol error.
我想这是预期的行为。因为我是通过 https 而不是 mqtt 访问它。
现在,我无法使用以下方法连接到容器:
$ mosquitto_pub --url mqtt://mosquittourl.com.br:<port>/test
如何正确设置 Istio 资源,以便订阅和发布到我的 mosquitto 服务器?有没有办法将 Istio 配置为接受 mqtt 请求并将它们重定向到我的 mosquitto 服务?
【问题讨论】:
-
我是否正确理解您正在使用 HTTPS 代理连接到 MQTT 客户端?如果是这种情况,您希望它如何工作?为什么你认为将 MQTT 客户端连接到 HTTPS 服务器会做任何有用的事情?
-
我知道问题描述中就是这种情况,它不应该工作。我正在寻求一种解决方法。就像我如何设置 Istio 以接受 mqtt 请求并将它们重定向到 mosquitto 服务。如果那甚至可能。或者有什么替代方案
-
我猜你的情况应该是 TCP。 istio.io/latest/docs/ops/configuration/traffic-management/…
-
你能添加你的yamls吗?你是 istio 网格内的 mosquitto 服务器吗?您是否像@ashu 提到的那样在入口网关上添加并配置了这个 1883 端口作为 TCP? stackoverflow 上还有另一篇关于这个的帖子,也许你会在这里找到有用的东西。
标签: kubernetes istio mosquitto