Kubernetes同时拥有Ingress(在服务之前)和服务类型: LoadBalancer。这些似乎做了相同的事情:允许公共流量进入与服务选择器匹配的pod。每个的好处和缺点是什么?在什么情况下我会选择一个而不是另一个?
答案 0 :(得分:2)
假设AWS,GCP或Azure是您的基础架构所在的位置
只有你有入口控制器,如nginx-ingress-controller,traefik,......才有效。
许多服务可以共享相同的入口
基于名称的虚拟主机
基于路径的路由
只需要一个AWS ELB(或Google Cloud的GCP负载均衡器)
建议大多数用例使用此方法
每个服务都会创建独立的AWS ELB(成本效率低下,如果以后有越来越多的服务,会非常昂贵)
如果您想确保最大的安全性/工作量(每项服务1 ELB),可能会有所帮助
答案 1 :(得分:1)
根据路径甚至多个应用程序,Ingress可用于公开许多服务,具体取决于请求中的主机或域。
负载均衡器始终只显示一项服务。