1

所以,今天我给你画了一张照片,而不是解释架构:)我知道,它是 1/10。

也忘了画这个,它是一个单节点集群

希望这会为您节省一些时间。可能也更容易看出我的挣扎在哪里,因为我暴露了缺乏理解。

所以,简而言之:

什么工作:

  • 我可以使用从服务器内部通过虚拟主机卷曲每个入口curl -vH 'host: host.com' http://192.168.1.240/articleservice/system/ipaddr

  • 我可以访问服务器


什么不起作用:

  • 无法从外部访问集群。

不知何故,我自己无法解决这个问题,即使我读了很多书并得到了很多帮助。由于我在一段时间内遇到了这个问题,现在非常感谢明确的答案。

建筑学

4

1 回答 1

2

通常,您无法在不公开服务的情况下从外部访问您的集群。您应该将“入口控制器”服务类型更改为NodePort并让 kubernetes 为该服务分配一个端口。
您可以使用 . 查看分配给服务的端口kubectl get service ServiceName
现在可以从外部访问该服务,http://ServerIP:NodePort但如果您需要使用标准 HTTP 和 HTTPS 端口,您应该使用集群外部的反向代理将流量从端口 80 传输到NodePort分配给 Ingress Controller 服务。
如果您不喜欢添加反向代理,可以添加externalIPs到 Ingress 控制器服务,但这样您会丢失RemoteAddrEndpoints 并获得 Ingress 控制器 pod IP。 externalIPs可以是您的公共 IP 列表

您可以在以下链接中找到有关服务和入口的有用信息:
Kubernetes 服务

Nginx Ingress - 裸机注意事项

于 2019-01-06T09:55:35.083 回答