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

目录

[93. Kubelet 与 kubeproxy 作用。Kubeproxy 的三种代理模式和各自的原理以及它们的区别。](#93. Kubelet 与 kubeproxy 作用。Kubeproxy 的三种代理模式和各自的原理以及它们的区别。)

特别说明:

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

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


93. Kubelet 与 kubeproxy 作用。Kubeproxy 的三种代理模式和各自的原理以及它们的区别。

(一)Kubelet 与 kubeproxy 作用:

(1)kubelet:

kubelet 进程用于处理 master 下发的任务,管理 pod 中的容器,注册自身所在的节点。

(2)kube-proxy 运行机制解析:

kube-proxy 本质上类似一个反向代理。我们可以把每个节点上运行的 kube-proxy 看作 service 的透明代理兼 LB。

(3)Service:

Service 是 k8s 中资源的一种,也是 k8s 能够实现减少运维工作量,甚至免运维的关键点,我们公司的运维都要把服务搭在我们集群里,接触过的人应该都能体会到其方便之处。

Service 能将 pod 的变化屏蔽在集群内部,同时提供负载均衡的能力,自动将请求流量分布到后端的 pod,这一功能的实现靠的就是 kube-proxy 的流量代理,一共有三种模式:userspace、iptables 以及 ipvs。

(二)Kubeproxy 的三种代理模式:

(1)userspace:

为每个 service 在 node 上打开一个随机端口(代理端口)

建立 iptables 规则,将 clusterip 的请求重定向到代理端口。

到达代理端口(用户空间 userspace )的请求再由kubeproxy 转发到后端 pod

这里为什么需要建 iptables 规则:

因为 kube-proxy 监听的端口在用户空间,所以需要一层 iptables 把访问服务的连接重定向给 kube-proxy 服务,这里就存在内核态到用户态的切换,代价很大,因此就有了iptables。

(2)iptables:

kube-proxy 不再负责转发,数据包的走向完全由iptables规则决定,这样的过程不存在内核态到用户态的切换,效率明显会高很多。

但是随着 service 的增加,iptables 规则会不断增加,导致内核十分繁忙(等于在读一张很大的没建索引的表)。

(3)ipvs:

用 ipset 存储 iptables 规则 ,这样规则的数量就能够得到有效控制,而在查找时就类似hash 表的查找。


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

相关推荐
@sinner2 小时前
Docker实践与应用:深度探索与丰富案例
docker·容器
Rainbond云原生2 小时前
Rainbond 助力城建智控,从传统开发到敏捷开发转型
云原生·kubernetes·开源·云计算
onejson3 小时前
docker 进入容器运行命令
容器
是芽芽哩!3 小时前
【Kubernetes】常见面试题汇总(四十七)
云原生·容器·kubernetes
楼下创了电瓶车4 小时前
ubuntu20.04系统安装zookeeper简单教程
分布式·zookeeper·云原生
图灵追慕者4 小时前
如何查看NVIDIA Container Toolkit是否配置成功
spring cloud·云原生·eureka
大宇进阶之路4 小时前
离线安装docker
运维·docker·容器
sam_文刀4 小时前
Docker面试-24年
docker·云原生
0.0-05 小时前
Docker的入门详解
运维·docker·容器