【Kubernetes】常见面试题汇总(三十三)

目录

[85.简述 kube-proxy 的三种工作模式和原理。](#85.简述 kube-proxy 的三种工作模式和原理。)

特别说明:

题目 1-68 属于【Kubernetes】的常规概念题,即 " 汇总(一)~(二十二)" 。

题目 69-113 属于【Kubernetes】的生产应用题。


85.简述 kube-proxy 的三种工作模式和原理。

1、userspace 模式

(1)该模式下,kube-proxy 会为每一个 Service 创建一个监听端口。

发向 ClusterIP 的请求被 lptables 规则重定向到 Kube-proxy 监听的端口上,Kube-proxy 根据 LB 算法选择一个提供服务的 Pod 并和其建立链接,以将请求转发到 Pod 上。

(2)该模式下,Kube-proxy 充当了一个四层 Load balancer 的角色。

由于 kube-proxy 运行在 userspace 中,在进行转发处理时会增加两次内核和用户空间之间的数据拷贝,效率较另外两种模式低一些;好处是当后端的 Pod 不可用时,kube-proxy 可以重试其他 Pod。

2、iptables 模式

为了避免增加内核和用户空间的数据拷贝操作,并且提高转发效率,Kube-proxy 提供了 iptables 模式。

(1)在该模式下,Kube-proxy 为 service 后端的每个 Pod 创建对应的 iptables 规则,直接将发向 ClusterIP 的请求重定向到一个 Pod IP。

(2)该模式下 Kube-proxy 不承担四层代理的角色,只负责创建 iptables 规则。

(3)该模式的优点是较 userspace 模式效率更高,但不能提供灵活的 LB 策略,当后端 Pod 不可用时也无法进行重试。

3、ipvs 模式

(1)该模式 和 iptables 类似,kube-proxy 监控 Pod的变化并创建相应的 ipvs rules。

(2)ipvs 也是在 kernel 模式下通过 netfilter 实现的,但采用了hash table 来存储规则因此在规则较多的情况下,Ipvs 相对 iptables 转发效率更高

(3) 除此以外,ipvs 支持更多的 LB 算法。如果要设置 kube-proxy 为 ipvs 模式,必须在操作系统中安装 IPVS 内核模块。


"【Kubernetes】常见面试题汇总" 系列文章,可点击链接查看专栏详情:K8s 面试题汇总

相关推荐
Thneonl7 小时前
照着 CKS 教材做实验,把 apiserver 干瘫了 7 分钟
安全·kubernetes
AINative软件工程8 小时前
LLM 应用的 Graceful Shutdown 工程实践:正在进行的 AI 请求如何安全停止
云原生·ai编程
名字还没想好☜9 小时前
Kubernetes 用 kubectl port-forward 和 proxy 调试集群内服务:两者区别、断连自动重连与为什么别用在生产
运维·docker·kubernetes
武汉唯众智创18 小时前
云计算实训室建设指南(2026版):从技能大赛赛项标准反推架构、课程与落地路径
云原生·kubernetes·云计算·云计算实训室·云计算教学平台·职业技能大赛
wdfk_prog19 小时前
ROS教程:01 搭建 ROS1 Noetic Docker 开发环境
运维·缓存·docker·容器·ros
szephyr20 小时前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器
wdfk_prog20 小时前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
阿里云云原生1 天前
剧透丨AI 原生研发组织的探索和实践
云原生
名字还没想好☜1 天前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
探索云原生1 天前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go