Muh*_*eed 8 azure kubernetes azure-kubernetes kubernetes-ingress azure-aks
我的理解是,设置Service类型以LoadBalancer创建新的Azure负载均衡器并为其分配IP地址Service.这是否意味着我可以使用端口80拥有多个服务?如果我的Service(一个ASP.NET核心应用程序)后面的应用程序可以处理TLS和HTTPS,为什么我不应该只使用LoadBalancer's Service我想要暴露给互联网?
使用Ingressif有什么好处我不关心TLS终止(你可以让Cloudflare处理TLS终止)?如果有的话,它会通过为每个请求添加额外的跃点来减慢速度.
下面的一些答案提到创建负载平衡器的成本很高.应该注意的是,Azure上的负载均衡器是免费的,但是他们会为IP地址收取费用,他们会免费为您提供5个IP地址.因此,对于您希望公开最多五个IP地址的小型项目,它基本上是免费的.除此之外,你可能想看看广告Ingress.
如果您不使用,一些答案也会提到额外的复杂性Ingress.我已经提到Cloudflare可以为我处理TLS终止.我还发现了external-dnsKubernetes项目在Cloudflare中创建指向负载均衡器IP地址的DNS条目?在我看来,切割Ingress降低了复杂性,因为我不得不配置和管理.Ingress的选择也是巨大的,我可能会选择一个错误的选项,这会在一段时间后无法维护.
有一个很好的文章在这里它描述的服务(负载均衡)和入口的差异。
总之,集群中可以有多个服务(负载均衡器),其中每个应用程序彼此独立公开。主要问题是添加的每个负载均衡器都会增加您的解决方案的成本,并且不必如此,除非您确实需要这样做。
如果多个应用程序侦听端口 80,并且它们在容器内,则没有理由还需要将其映射到主机节点中的端口 80。您可以将其分配给任何端口,因为服务将为您处理动态端口映射。
在这种情况下,入口是最好的,因为您可以在端口 80 上列出一个入口,并根据许多变量将流量路由到正确的服务,例如:
Ingress in 不仅用于 TLS 终止,简单来说,它是一个代理\网关,将控制到正确服务的路由,TLS 终止只是其中一项功能。
不,您不能在端口 80 上侦听多个服务,因为负载均衡器不知道将它们路由到哪里(但是入口会)。如果您可以努力将每个服务托管在不同的端口上,则可以使用负载均衡器。或者,如果每个服务都有公共 IP,并且每个服务都有不同的后端端口,则可以实现此目的。
quote:您输入的协议和端口组合与该负载均衡器使用的另一个规则匹配。负载均衡器上的每个负载均衡规则和入站 NAT 规则的协议和端口组合必须是唯一的。
再次强调,如果您是开发人员,您可能没有意识到在入口上管理证书有多么方便,而不是在所有应该可访问的单个容器上管理证书
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |