我在Linux机器上部署了带有kubernetes的mosquitto代理。现在,我想将此容器与智能手机上运行的MQTT客户端连接。我该怎么办?我应该连接到哪个IP?
我已通过机器内部的客户端连接到mosquitto代理,并且运行正常。
编辑:我正在使用NodePort:
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default service/mosquitto-entrypoint NodePort 10.152.183.235 <none> 8080:30001/TCP 24h
答案 0 :(得分:0)
如果您的移动应用程序位于同一网络上,那么理想情况下,NodePort必须表现良好。您必须能够使用IP 10.152.183.235
来获得服务。
但这可能不是我相信的情况
apiVersion: v1
kind: Service
metadata:
name: example-service
spec:
selector:
app: example
ports:
- port: 8765
targetPort: 9376
type: LoadBalancer
为您的服务定义一个yml,然后通过kubectl kubectl apply -f <yourfile>
如果您拥有自己的DNS服务器,那么您可以选择使用Ingress控制器,并将服务公开给外部网络。
答案 1 :(得分:0)
如果可以从智能手机访问运行服务的主机,则可以将服务端口映射到Nodeport。
例如,如果您的计算机IP为192.168.x.y,并且您将服务映射到Hosts port / Nodeport 5000
当您连接到允许的网络时,本机允许手机的传入连接。
您可以通过192.168.x.y:5000到达服务