目前,我的kubernetes集群(位于AWS上)有一个简单的Deployment设置,其中有一个web容器侦听80和443。
集群还有一个NodePort服务,它在端口30080和30443上向公众公开通信量。我正试图找到一种在80和443上接受公共交通的方法。
有什么办法能做到这一点呢?
我对可能的解决方案的思考
E 231端口。Ingress服务的帖子,但是各种帖子的设置完全不同。我想知道在我的设置中什么是Ingress的好用例。在我的情况下,Ingress应该替换我的NodePort服务吗?谢谢
发布于 2018-07-16 13:22:08
一旦NodePort服务绑定到所有集群节点上的指定端口,您只需将流量传递给这些节点中的任何一个,或者所有这些节点。有时它可能会导致额外的延迟,但是从连接的角度来看,它应该工作得很好。
您可以手动配置Load平衡器,然后将所有集群节点添加到其池中,并为它们配置健康检查,以便在特定节点失败时将节点排除在池之外。
入口实际上是以类似的方式工作的。到达任何节点的特定端口的所有通信量都被转发到Ingress。入口控制器根据这些对象中的规范查找已创建的in对象,并配置in。实际上,在我的例子中,控制器和进题荚是相同的。
入口可以提供额外的逻辑来管理HTTP级别上的流量,比如基于路径的路由、在将请求发送到服务之前调整请求、提供类似SSL端点的服务等。
但是无论如何,您应该以某种方式向节点传递外部通信量。此时,我们将返回负载均衡器配置。
在某些情况下,当您的集群部署在提供负载均衡器服务的云上时,宏控制器还负责创建云负载均衡器。
您是否使用库普斯在AWS上部署您的Kubernetes集群?
通常,kops创建一个与AWS集成的集群,没有任何问题,因此您可以使用LoadBalancer类型的服务。手动完成所有操作,您可能会犯一些很难找到和纠正的小配置错误。
请看一下这篇很好的文章:
如何在AWS上创建入侵:
https://stackoverflow.com/questions/51327991
复制相似问题