我有一个具有master和1个节点的kubernetes安装。
它已经配置好,一切都很好。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
mantis-gfs 1/1 Running 1 22h
mongodb-gfs 1/1 Running 0 14h
Run Code Online (Sandbox Code Playgroud)
我暴露了pod mongodb-gfs:
$ kubectl expose pod mongodb-gfs --port=27017 --external-ip=10.9.8.100 --name=mongodb --labels="env=development"
Run Code Online (Sandbox Code Playgroud)
外部IP 10.9.8.100是kubernetes主节点的IP
服务已成功创建。
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
glusterfs-cluster ClusterIP 10.111.96.254 <none> 1/TCP 23d
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 29d
mongodb ClusterIP 10.100.149.90 10.9.8.100 27017/TCP 1m
Run Code Online (Sandbox Code Playgroud)
现在,我可以使用以下方式访问mongo了:
mongo 10.9.8.100:27017
Run Code Online (Sandbox Code Playgroud)
这就是问题所在。它可以工作一段时间,但有时不能。我连接一次,得到外壳,第二次连接,得到:
$ mongo 10.9.8.100:27017
MongoDB shell version v3.4.17
connecting to: mongodb://10.9.8.100:27017/test
2018-11-01T09:27:23.524+0100 W NETWORK …Run Code Online (Sandbox Code Playgroud)