我们有一个私有 kubernetes 集群,运行在具有私有地址的裸机 CoreOS 集群(使用 Flannel 进行网络覆盖)上。
在这个集群之上,我们运行了一个 kubernetes ReplicationController 和 Service for elasticsearch。为了启用负载平衡,该服务定义了一个 ClusterIP - 这也是一个私有 IP 地址:10.99.44.10(但与节点 IP 地址的范围不同)。
我们面临的问题是我们希望能够从集群外部连接到这个 ClusterIP。据我们所知,这个私有 IP 无法从我们私有网络中的其他机器上联系到......
我们怎样才能做到这一点?
节点的IP地址是:
node 1 - 192.168.77.102
node 2 - 192.168.77.103
.
这就是使用 kubectl 时 Service、RC 和 Pod 的显示方式:
NAME LABELS SELECTOR IP(S) PORT(S)
elasticsearch <none> app=elasticsearch 10.99.44.10 9200/TCP
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS
elasticsearch elasticsearch elasticsearch app=elasticsearch 1
NAME READY STATUS RESTARTS AGE
elasticsearch-swpy1 1/1 Running 0 26m