CNCF CNI 学习笔记
如何使用 CNI
1 首先在每个结点上配置 CNI 配置文件(/etc/cni/net.d/xxnet.conf),其中 xxnet.conf 是某一个网络配置文件的名称;
2 安装 CNI 配置文件中所对应的二进制插件;
3 在这个节点上创建 Pod 之后,Kubelet 就会根据 CNI 配置文件执行前两步所安装的 CNI 插件
4 在节点运行的 Daemon 进程学习到集群所有 Pod 的 IP 地址及其所在节点信息
CNI 插件选择
类型
- Overlay: Flannel-vxlan、Calico-ipip、Weave.
- 路由模式 flannel-hostgw、sriov
- Underlay 模式中容器和宿主机位于同一层网络,两者拥有相同的地位。容器之间网络的打通主要依靠于底层网络
功能需求
1 安全需求:NetworkPolicy
2 需要集群外的资源与集群内的资源互联互通
3 K8s 的服务发现与负载均衡的能力:Underlay 模式的插件可能流量无法走到宿主机所在的命名空间,因此也无法应用 kube-proxy 在宿主机配置的规则
环境限制
1 虚拟化环境(例如 OpenStack)中的网络限制较多,overlay可能是唯一选择
2 物理机环境,Underlay 或者路由模式的插件
3 公有云环境
- 尽量选择公有云厂商提供的 CNI 插件
- Aliyun
- Terway 插件
- Aliyun
性能需求
- Pod 的创建速度:Overlay 或者路由模式的网络插件占优
- Pod 的网络性能:Underlay 或者路由模式的 CNI 插件
开发
二进制的 CNI 插件去配置 Pod 网卡和 IP 地址
1 给 Pod 准备一个网卡:一个 “veth” 这种虚拟网卡,一端放到 Pod 的网络空间,一端放到主机的网络空间
2 Pod 分配 IP 地址:唯一的 IP
3 配置 Pod 的 IP 和路由
- 3.1 IP 地址配置给 Pod 的虚拟网卡
3.2 Pod 的网卡上配置集群网段的路由
3.3 宿主机上配置到 Pod 的 IP 地址的路由
Daemon 进程去管理 Pod 之间的网络打通
1 CNI 在每个节点上运行的 Daemon 进程会学习到集群所有 Pod 的 IP 地址及其所在节点信息,监听 K8s APIServer
2 网络进行打通
- 2.1 Daemon 会创建到整个集群所有节点的通道
2.1.1 Overlay 隧道、阿里云上的 VPC 路由表、或者是自己机房里的 BGP 路由
2.2 所有 Pod 的 IP 地址跟上一步创建的通道关联起来
2.2.1 Linux 路由、fdb 转发表或者OVS 流表
2.2.2 fdb 转发表是 forwarding database 的缩写,就是把某个 Pod 的 IP 转发到某一个节点的隧道端点上去(Overlay 网络)
负责事情
1 给Pod配置网卡和IP等网络配置
2 配置Network Policy
3 打通Pod间网络的访问
CNCF CNI 学习笔记相关推荐
- CNCF RuntimeClass学习笔记
RuntimeClass 容器运行时的演进过程 Kubernetes 正式开源,Docker 是当时唯一的.也是默认的容器运行时. Kubernetes v1.3:Rkt 合入 Kubernetes ...
- Kubernetes学习笔记之Calico CNI Plugin源码解析(二)
女主宣言 今天小编继续为大家分享Kubernetes Calico CNI Plugin学习笔记,希望能对大家有所帮助. PS:丰富的一线技术.多元化的表现形式,尽在"360云计算" ...
- Kubernetes学习笔记之Calico CNI Plugin源码解析(一)
女主宣言 今天小编为大家分享Kubernets Calico CNI Plugin的源码学习笔记,希望对正在学习k8s相关部分的同学有所帮助: PS:丰富的一线技术.多元化的表现形式,尽在" ...
- Kubernetes学习笔记-未整理
Kubernetes学习笔记 标签:Kubernetes 学习笔记 原文:https://github.com/wtysos11/NoteBook/blob/master/微服务/Kubernetes ...
- 管理节点连接不上sql节点_华为云IEF智能边缘平台十万边缘节点管理技术深度解读学习笔记...
华为云智能边缘平台IEF首席架构师张琦在3月27-28日举办的华为开发者大会2020(Cloud)上,深度解读了十万边缘节点的管理技术,以及如何通过云原生技术和边缘计算结合,构建边缘计算实战场景中所需 ...
- Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量
原文链接:Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量 在 Kubernetes 中运行大规模以 Web 为中心的工作负载,最关键的需求之一就是在 L7 ...
- 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(二)
长篇博文记录学习流程不容易,请关注.转发.点赞.评论,谢谢! 上一篇文章:Docker学习笔记与深度学习环境的搭建和部署(一) 文章末尾附加nvidia455.23.cuda11.1.cudnn8.0 ...
- Linux性能优化实战学习笔记:第四十六讲=====实战分析
Linux性能优化实战学习笔记:第四十六讲 一.上节回顾 不知不觉,我们已经学完了整个专栏的四大基础模块,即 CPU.内存.文件系统和磁盘 I/O.以及网络的性能分析和优化.相信你已经掌握了这些基础模 ...
- 尚硅谷云原生学习笔记(76~143集)
笔记列表: 尚硅谷云原生学习笔记(1-75集) 尚硅谷云原生学习笔记(76~143集) 尚硅谷云原生学习笔记(144~172集) 尚硅谷云原生学习笔记(173~XXX集) 目录 76.为什么用kube ...
最新文章
- Beta阶段总结博客(麻瓜制造者)
- 网络空间安全Windows系统命令行学习笔记
- 田志刚:企业知识库如何跟Google、百度竞争?
- 【Android 安装包优化】动态库打包配置 ( “armeabi-v7a“, “arm64-v8a“, “x86“, “x86_64“ APK 打包 CPU 指令集配置 | NDK 完整配置参考 )
- 036_CSS导航条
- Ant Design Pro 2.0/umijs站点配置到非站点根目录下处理
- 拓端tecdat|R语言对股票风险“溃疡指数”( Ulcer Index)曲面图可视化
- wince 播放器 最终版本
- Google Map MarkerCluster 点聚合使用简介
- pytest tox.ini使用
- SpringBoot的幕后推手,Java后端知识体系
- verilog 中的可综合与不可综合
- 程序员除了代码还应该有什么
- 中国液冷数据中心市场发展研究
- 同步以太网-SyncE介绍
- python基础(一):python简介
- 理解性能的奥秘——应用程序中慢,SSMS中快(4)——收集解决参数嗅探问题的信息
- 关于 Swiper 的坑——只有3.3.1的非压缩版正常,非常奇怪
- 300+零售CIO大咖齐聚杭州 他们聊了什么?
- 打印机更换感光鼓单元k_感光鼓更换技法_维修技术