首页 文章

使Kubernetes服务在外部可访问

提问于
浏览
1

我们有一个私有kubernetes集群,运行在裸机CoreOS集群(带有Flannel网络覆盖)上,带有私有地址 .

在这个集群的顶部,我们为elasticsearch运行kubernetes ReplicationController和Service . 要启用负载 balancer ,此服务已定义ClusterIP - 它也是专用IP地址:10.99.44.10(但与节点IP地址的范围不同) .

我们面临的问题是我们希望能够从群集外部连接到此ClusterIP . 据我们所知,私人IP无法与我们私人网络中的其他机器联系...

我们怎样才能做到这一点?


节点的IP地址是:

node 1  - 192.168.77.102
 node 2  - 192.168.77.103

.

这就是服务,RC和Pod与kubectl一起出现的方式:

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

1 回答

  • 1

    您需要设置服务的 type .

    http://docs.k8s.io/v1.0/user-guide/services.html#external-services

    如果您使用的是裸机,则表明您没有集成LoadBalancer . 您可以使用NodePort获取每个VM上的端口,然后设置用于负载 balancer 的任何内容,以瞄准任何节点上的该端口 .

相关问题