首页 > 其他分享 >【Kubernetes】常见面试题汇总(二十九)

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

时间:2024-09-21 14:21:22浏览次数:11  
标签:BGP 面试题 Kubernetes 网络 网卡 二十九 转发 节点 路由

目录

 

81.简述你知道的几种 CNI 网络插件,并详述其工作原理。K8s 常用的CNI网络插件(calico && flannel),简述一下它们的工作原理和区别。

特别说明:

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

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


81.简述你知道的几种 CNI 网络插件,并详述其工作原理。K8s 常用的CNI网络插件(calico && flannel),简述一下它们的工作原理和区别。

(一)calico 的工作原理:

(1)calico 根据 iptables 规则进行路由转发,并没有进行封包,解包的过程,这和 flannel 比起来效率就会快多。

(2)calico 包括如下重要组件:Felix,etcd,BGP Client,BGP Route Reflector。下面分别说明一下这些组件:

① Felix:主要负责路由配置以及 ACLS 规则的配置以及下发,它存在在每个 node 节点;

② etcd:分布式键值存储,主要负责网络元数据一致性,确保Calico 网络状态的准确性,可以与 kubernetes 共用;

③ BGP Client(BIRD):主要负责把 Felix 写入 kernel 的路由信息分发到当前 Calico 网络,确保 workload 间的通信的有效性;

④ BGP Route Reflector(BIRD):大规模部署时使用,摒弃所有节点互联的 mesh 模式,通过一个或者多个 BGP Route Reflector 来完成集中式的路由分发。

(3)通过将整个互联网的可扩展 IP 网络原则压缩到数据中心级别,Calico 在每一个计算节点利用 Linuxkernel 实现了一个高效的 vRouter 来负责数据转发,而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 Calico 网络内传播小规模部署可以直接互联,大规模下可通过指定的 BGP Route Reflector 来完成。这样保证最终所有的 workload 之间的数据流量都是通过 IP 包的方式完成互联的。

(二)Flannel 的工作原理:

(1)Flannel 实质上是一种 “ 覆盖网络(overlay network)” ,也就是将 TCP 数据包装在另一种网络包里面进行路由转发和通信,目前已经支持 UDP、VxLAN、AWS VPC 和 GCE 路由等数据转发方式。

(2)默认的节点间数据通信方式是 UDP 转发。

工作原理:

数据从源容器中发出后,经由所在主机的 docker0 虚拟网卡转发到 flannel0 虚拟网卡(先可以不经过 docker0 网卡,使用 cni 模式),这是个 P2P 的虚拟网卡,flanneld 服务监听在网卡的另外一端。

(3)Flannel通过 Etcd 服务维护了一张节点间的路由表,详细记录了各节点子网网段。

(4)源主机的 flanneld 服务将原本的数据内容 UDP 封装后根据自己的路由表投递给目的节点的 flanneld 服务,数据到达以后被解包,然后直接进入目的节点的 flannel0 虚拟网卡,然后被转发到目的主机的 docker0 虚拟网卡,最后就像本机容器通信一下的有 docker0 路由到达目标容器。

(5)flannel 在进行路由转发的基础上进行了封包解包的操作,这样浪费了 CPU 的计算资源。


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

 

标签:BGP,面试题,Kubernetes,网络,网卡,二十九,转发,节点,路由
From: https://blog.csdn.net/Songyaxuan075118/article/details/142415925

相关文章

  • 【Kubernetes】常见面试题汇总(二十三)
    目录 69.考虑一家拥有分布式系统的跨国公司,拥有大量数据中心,虚拟机和许多从事各种任务的员工。您认为这样公司如何以与Kubernetes一致的方式管理所有任务?70.考虑一种情况,即公司希望通过维持最低成本来提高其效率和技术运营速度。您认为公司将如何实现这一目标?特别说明:题......
  • 【Kubernetes】常见面试题汇总(三十)
    目录 82.Worker节点宕机,简述Pods驱逐流程。特别说明:题目  1-68  属于【Kubernetes】的常规概念题,即“汇总(一)~(二十二)”。题目69-113属于【Kubernetes】的生产应用题。82.Worker节点宕机,简述Pods驱逐流程。(1)节点宕机的概述:在Kubernetes集群中,当节......
  • Redis面试题-如何保持缓存一致性
    1、延迟双删延迟双删策略是一种用于解决缓存与数据库之间数据一致性问题的方法。其基本思想是在更新数据库时,通过两次删除缓存的操作来尽可能地保证数据的一致性。具体步骤包括:首先,在更新数据库之前删除缓存;然后,执行数据库更新操作;最后,在延迟一段时间后再次删除缓存。优点:减......
  • 前端开发转行AI大模型?应该如何准备面试?面试题+答案来了!!!
    一、初探大模型:起源与发展1、预热篇:解码注意力机制1.1注意力机制最早是在哪个领域得到应用的1.2以下哪些方法被用于处理序列数据?1.3以下方法被用于处理序列数据的是1.4注意力机制是什么2、变革里程碑:transformer的崛起2.1Transformer模型和注意力机制的关系2.......
  • 面试面经|大模型算法岗常见面试题100道
    本文提供了一份全面的大模型算法岗位面试题清单,包括基础理论、模型结构、训练微调策略、应用框架、分布式训练和模型推理等方面的知识点,旨在帮助求职者准备相关技术面试。一、基础篇1、目前主流的开源模型体系有哪些?Transformer体系:由Google提出的Transformer模型及其......
  • kubernetes安全机制
    目录1.安全机制说明2.认证——Authentication2.1认证的方式2.2认证组件2.2.1需要被认证的访问类型2.2.2安全性说明2.2.3证书颁发2.3kubeconfig2.4ServiceAccount2.5Secret与SA的关系2.6总结3.鉴权——Authorization4.准入控制——AdmissionControl5.总结5.1认证(Authentication):......
  • kubernetes中如何抓包?
    目录描述1.在pod容器内抓包2.在节点主机上抓包3.使用nsenter命令抓包4.使用ksniff插件抓包描述随着容器化技术的普及,越来越多的应用部署在容器中,有时在正式环境中我们可能需要对容器进行抓包,以了解其网络通信情况及其排除通信异常的原因。此处,由于程序是在运行在Kubernetes的Po......
  • Kubernetes-高可用集群证书更新
    本次k8s版本为v1.23.17Kubernetes集群中的证书主要分为两大类:Kubernetes组件证书(如:apiserver相关的证书)Etcd集群证书根据集群角色,证书还可以细分为:管理节点证书工作节点证书证书详情管理节点证书:Kubeadm部署:证书会由Kubeadm自动生成,覆盖Kubernetes组件(如:a......
  • 【春秋招必看】Unity相关笔试面试题(内有完整答案)第二期
    欢迎来到光光的奇妙冒险,我是你们的煎饼光子老师。今天是我们的第二期笔试面试题总结。C#部分:1、请说说你认为C#中==和Equals的区别是什么?答案:(1).==是运算符,Equals是万物之父Object中的虚方法,子类可重写(2).Equals一般在子类中重写后用于比较两个对象中内容是否相同......
  • D23 kubernetes 工作负载资源对象-DaemonSet{简介}
    1、DaemonSet简介DaemonSet资源用于在集群中的每个节点上运行一个pod副本,具有以下特点-在每个节点上运行一个pod-当向集群中加入一个新节点或者从集群中移除一个节点时,DaemonSet会自动在新节点上启动一个pod或在移除的节点上删除pod-可以使用节点选择器或亲和性来定义pod......