【发布时间】:2016-03-25 12:29:31
【问题描述】:
我有一个运行良好的 kubernetes 设置,但我似乎无法在外部公开服务。我认为我的网络设置不正确:
kubernetes 服务地址:--service-cluster-ip-range=172.16.0.1/16
法兰绒网络配置:etcdctl get /test.lan/network/config {"Network":"172.17.0.0/16"}
docker 子网设置:--bip=10.0.0.1/24
主机节点IP:192.168.4.57
我已经运行了 nginx 服务,并尝试像这样公开它:
[root@kubemaster ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-px6uy 1/1 Running 0 4m
[root@kubemaster ~]# kubectl get services
NAME LABELS SELECTOR IP(S) PORT(S) AGE
kubernetes component=apiserver,provider=kubernetes <none> 172.16.0.1 443/TCP 31m
nginx run=nginx run=nginx 172.16.84.166 9000/TCP 3m
然后我像这样公开服务:
kubectl expose rc nginx --port=9000 --target-port=9000 --type=NodePort
NAME LABELS SELECTOR IP(S) PORT(S) AGE
nginx run=nginx run=nginx 9000/TCP 292y
我现在希望能够访问主机节点 IP (192.168.4.57) 上的 nginx 容器 - 我误解了网络吗?如果有的话,可以解释一下吗:(
注意:这是在没有云提供商提供负载平衡器的物理硬件上,所以我认为 NodePort 是我唯一的选择?
【问题讨论】:
标签: docker kubernetes coreos flannel flanneld