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

相关推荐
wclass-zhengge22 分钟前
K8S篇(基本介绍)
云原生·容器·kubernetes
颜淡慕潇28 分钟前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
川石课堂软件测试2 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
昌sit!9 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
A ?Charis11 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
wclass-zhengge12 小时前
Docker篇(Docker Compose)
运维·docker·容器
茶馆大橘12 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
北漂IT民工_程序员_ZG12 小时前
k8s集群安装(minikube)
云原生·容器·kubernetes
coding侠客12 小时前
揭秘!微服务架构下,Apollo 配置中心凭啥扮演关键角色?
微服务·云原生·架构
梦魇梦狸º15 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github