这个其实没什么优劣好对比的吧,你要用原生的K8S,就用kubeproxy了,做后端PODs的负载均衡,原理上几乎是一样的,HAProxy通常独立使用,HA+Proxy,除了负载均衡,同时实现了HA,当然这根负载均衡的方式也有一定关系,比如轮询、最少连接数什么的。
收起kube-proxy其实就是管理service的访问入口,包括集群内Pod到Service的访问和集群外访问service。 kube-proxy管理sevice的Endpoints,该service对外暴露一个Virtual IP,也成为Cluster IP, 集群内通过访问这个Cluster IP:Port就能访问到集群内对应的serivce下的Pod。 service是通过Selector选择的一组Pods的服务抽象,其实就是一个微服务,提供了服务的LB和反向代理的能力,而kube-proxy的主要作用就是负责service的实现。 service另外一个重要作用是,一个服务后端的Pods可能会随着生存灭亡而发生IP的改变,service的出现,给服务提供了一个固定的IP,而无视后端Endpoint的变化。
收起