kube-proxy的原理是什么?

無名 发表于: 2021-07-27   最后更新时间: 2021-07-28 12:51:27   901 游览

kubernetes(k8s) kube-proxy的原理是什么?

问题:

详述kube-proxy原理,一个请求是如何经过层层转发落到某个pod上的整个过程。请求可能来自pod也可能来自外部。

发表于 2021-07-27

集群中每个Node上都会运行一个kube-proxy服务进程,他是Service的透明代理兼均衡负载器,其核心功能是将某个Service的访问转发到后端的多个Pod上。kube-proxy通过监听集群状态变更,并对本机iptables做修改,从而实现网络路由。 而其中的负载均衡,也是通过iptables的特性实现的。

另外我们需要了解k8s中的网络配置类型,有如下几种:

  • hostNetwork Pod使用宿主机上的网络,此时可能端口冲突。
  • hostPort 宿主机上的端口与Pod的目标端口映射。
  • NodePort 通过Service访问Pod,并给Service分配一个ClusterIP。

从kubernetes1.8开始,词用了IPVS(IP Virtual Server)模式,用于路由规则的配置。相比iptables,IPVS具有如下优势:

  • 为大型集群提供了更好的扩展性和性能。采用哈希表的数据结构,更高效。
  • 支持更复杂的负载均衡算法。
  • 支持服务器健康检查和连接重试。
  • 可以动态修改ipset的集合。
你的答案

查看kubernetes相关的其他问题或提一个您自己的问题