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

news/2024/9/24 17:30:24/

目录

 

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 面试题汇总

 


http://www.ppmy.cn/news/1529909.html

相关文章

uber-go/zap sirupsen/logrus

文章目录 uber-go/zap 和 sirupsen/logrus日志库对比1. **性能**2. **易用性和灵活性**3. **结构化日志**4. **生态系统和可扩展性**5. **输出格式**6. **使用场景**总结 Zap库在Gin中的实践1. **安装 zap**2. **封装 zap 日志**logger.go - 封装 zap 日志3. **将 zap 集成到 g…

Linux打包压缩命令

1.tar:文件的归档(打包)和压缩 优点 :节约硬盘的资源 ,加快文件传输速率 用法:tar [选项] 压缩后生成文件 打包文件 参数: -c:创建文件 …

MySQL_数据类型简介

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :&#x1…

车辆合格证识别接口-汽车管理智能化-python示例

随着汽车行业的蓬勃发展和数字化进程的加快,如何高效、准确地管理车辆信息成为众多企业面临的重要挑战。新车合格证作为新车上牌、车辆注册和管理的重要凭证,其识别与录入的准确性直接关系到业务流程的顺畅。新车合格证识别接口应运而生,为汽…

Python知识点:如何使用Python进行物联网数据处理

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 物联网数据处理:Python实战指南 物联网(IoT&#xff09…

Visual Studio 2022 - QT 环境中文字符乱码问题

Visual Studio 2022 - QT 环境中文字符乱码问题 一、Visual Studio 2022 - Qt 环境 在 QT 中使用中文字符串常会出现乱码现象&#xff0c;如下&#xff1a;以下提供了几个解决方法&#xff0c;仅供参考 QString str "百香果真是一直可爱的小猫咪"; qDebug() <…

Nuxt.js提供了多种内置的性能优化策略

Nuxt.js提供了多种内置的性能优化策略&#xff0c;同时也允许开发者通过配置Webpack和服务端缓存来进行进一步的优化。以下是一些具体的优化策略和配置示例&#xff1a; 1. 代码分割&#xff08;Code Splitting&#xff09; Nuxt.js默认支持代码分割&#xff0c;这意味着每个…

桥接模式和NET模式的区别

桥接模式和NET模式的区别 NAT模式&#xff1a; NAT&#xff1a;网络地址转换&#xff08;模式&#xff09;&#xff1a;借助宿主机来上网&#xff0c;没桥接那么麻烦&#xff0c;只用配置DNS即可。 缺点&#xff1a;扎根于宿主机&#xff0c;不能和局域网内其它真实的主机进行…