![](/img/trans.png)
[英]What's the difference between ClusterIP, NodePort and LoadBalancer service types in Kubernetes?
[英]What is the different between ingress route connection into ClusterIP and Headless service in Kubernetes?
我知道ClusterIP
和Headless
服务的基本概念。
我认为关键的不同是ClusterIP
通过应用一些 iptable 规则在底层 pod 之间进行某种负载平衡。
然后Headless
只是在 DNS 中注册的 Pod 的 ip 地址列表。
我的问题是,如果ClusterIP
做“负载平衡”工作,这是否意味着入口 controller 只做路由但不做负载平衡?
如果使用Headless
作为服务类型,我可以配置入口 controller 并让它接管负载均衡工作吗?
谢谢。
服务通过选择器标签映射到向其注册的所有 pod,并将流量发送到任何 pod,只需要与该服务通信,它将 select 一些 pod 将请求路由到,而无头服务有与 clusterIP 完全不同,因此它仅使用 Pod 的 IP,有机会与 Pod 进行直接通信。
假设您部署了一组 Kafka 代理,并且您想获取有关某个代理中的某个主题的信息,那么您可能可以通过无头服务来做到这一点。
现在这些 pod 与外部世界对话,它们需要暴露在负载均衡器层,这里是 ingress 的作用,将域 URL 映射到后端服务,并且只有 ingress 的服务暴露在负载均衡器层,rest留在引擎盖下。
这样做的好处是,您可以将防火墙规则附加到入口,可以完成 URL 重写,可以实现粘性会话,即服务不能提供这些东西。
我的问题是,如果 ClusterIP 做“负载平衡”工作,这是否意味着入口 controller 只做路由但不做负载平衡?
AFAIK, Ingress
公开某些Services
,并将外部请求路由到多个Services
。 它通常与负载均衡器层集成以处理外部请求,但它不仅用于负载均衡。
如果使用 Headless 作为服务类型,我可以配置入口 controller 并让它接管负载均衡工作吗?
在Headless
的用例中,它设计用于负载平衡和事务管理的自我管理应用程序。 有时,Kubernetes 上的clusterIP
负载平衡不适合已经具有相同功能的应用程序或中间件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.