【发布时间】:2016-06-01 21:29:51
【问题描述】:
我正在按照说明 here 启动单节点主 kubernetes 安装。然后计划通过直接在互联网上托管的nginx ingress controller 使托管在其中的网站可用(在物理服务器上,而不是 GCE、AWS 或其他云上)。
设置按预期工作,我可以点击负载平衡器并通过入口流到目标 echoheaders 实例,得到我的输出,一切看起来都很棒。好东西。
当我端口扫描服务器的公共互联网 IP 并查看除入口端口 (80) 之外的所有这些开放端口时,问题就来了。
Open TCP Port: 80 http
Open TCP Port: 4194
Open TCP Port: 6443
Open TCP Port: 8081
Open TCP Port: 10250
Open TCP Port: 10251
Open TCP Port: 10252
Open TCP Port: 10255
Open TCP Port: 38654
Open TCP Port: 38700
Open TCP Port: 39055
Open TCP Port: 39056
Open TCP Port: 44667
所有额外的端口对应于 cadvisor、skydns 以及各种 echo headers 和 nginx 实例,出于安全原因,它们不应绑定到服务器的公共 IP 地址。所有这些都被注入到主机的 KUBE-PORTALS-HOST iptable 中,并通过 kube-proxy 绑定到服务器的公共 IP。
如何让 hypercube 告诉 kube-proxy 仅绑定到 docker IP (172.x) 或私有集群 IP (10.x) 地址?
【问题讨论】:
标签: kubernetes