前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubernetes中重要组件之kube-proxy

kubernetes中重要组件之kube-proxy

作者头像
极客运维圈
发布2020-03-23 14:40:12
7130
发布2020-03-23 14:40:12
举报
文章被收录于专栏:乔边故事

我们前面介绍过在Kubernetes中的一个重要组件Service,它的作用为Pod提供一个入口,我们在集群中只要访问servie的IP+Port就可以代理到后端的Pod,在它们之前的请求转发离不开每个Node节点上的kube-proxy组件。

kube-proxy的模式有以下三种:

  • Userspace
  • iptables
  • ipvs

kube-proxy的主要作用是:

  1. 监听kube-api,获取Service相关的所有信息;
  2. 修改所有node上的转发规则,维护路由信息;
  3. 将请求转发到对应的Pod上;

Userspace

其工作流程为:请求到达Service IP的内核空间,然后回到当前组件的用户空间kube-proxy,然后生成相应的规则再到内核空间,再由iptables规则代理到请求的Pod。

在这整个过程中,kube-proxy起到代理的作用,整个调度都要经过它。

iptables

其工作流程为:请求到达内核空间service IP,直接由其iptables规则转发到相应Pod。 相比于userspace,iptables模式全工作在内核态,不用经过用户态kube-proxy中转。

ipvs

与iptables相比,IPVS拥有以下明显优势: ◎ 为大型集群提供了更好的可扩展性和性能; ◎ 支持比iptables更复杂的复制均衡算法(最小负载、最少连接、加权等); ◎ 支持服务器健康检查和连接重试等功能; ◎ 可以动态修改ipset的集合,即使iptables的规则正在使用这个集合。

由于IPVS无法提供包过滤、airpin-masquerade tricks(地址伪装)、SNAT等功能,因此在某些场景(如NodePort的实现)下还要与iptables搭配使用。在IPVS模式下,kube-proxy又做了重要的升级,即使用iptables的扩展ipset,而不是直接调用iptables来生成规则链。

其工作流程:请求到达内核空间Service IP,然后由ipvs规则转发到相应的Pod。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乔边故事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Userspace
  • iptables
  • ipvs
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档