所以,我今天不向您解释架构,而是为您画一幅画:) 我知道是1/10。
也忘记绘制此图像,它是单节点群集
希望这可以为您节省一些时间。 可能会更容易看到我的挣扎在哪里,因为我暴露出缺乏理解。
因此,简而言之:
工作原理:
- 通过服务器的 inside 中的虚拟主机卷曲每个入口
我可以使用
curl -vH 'host: host.com' http://192.168.1.240/articleservice/system/ipaddr
我可以访问服务器
什么不起作用:
- 我不能从外部访问群集。
以某种方式,我自己无法解决此问题,即使我阅读了很多书并获得了很多帮助。由于我对此有一段时间的疑问,现在非常感谢您明确回答。
答案 0 :(得分:1)
通常,如果不公开服务,则无法从外部访问群集。
您应该将“ Ingress Controller”服务类型更改为NodePort
,并让kubernetes为该服务分配端口。
您可以使用kubectl get service ServiceName
查看分配给服务的端口。
现在可以从http://ServerIP:NodePort
的外部访问该服务,但是如果您需要使用标准的HTTP和HTTPS端口,则应在群集外部使用反向代理,以将流量从端口80分配到分配的NodePort
进入Ingress Controller Service。
如果您不喜欢添加反向代理,则可以将externalIPs
添加到Ingress Controller服务中,但这样会导致RemoteAddr
在端点中丢失,而获得了Ingress Controller Pod IP。
externalIPs
可以是您的公共IP列表
您可以在以下链接中找到有关服务和入口的有用信息:
Kubernetes Services