当前位置:首页 > 报告详情

分会场2_张子健_Cilium:基于 eBPF 的 Kubernetes CNI_报告PPT.pdf

上传人: 科*** 编号:713375 2025-06-08 36页 1.02MB

1、Cilium:基于eBPF的Kubernetes CNI第三届 eBPF开发者大会中国 西安By 张子健-2020年获得武汉大学计算机科学学士学位-2022年获得哥伦比亚大学计算机科学硕士学位,主要研究方向是Linux内核-现就职于字节跳动,主要工作内容是Linux内核网络相关以及eBPF-Linux Netdev/eBPF模块以及Cilium开源贡献者第三届eBPF开发者大会0.个人介绍1.K8S 网络模型回顾2.CNI简介3.Cilium概述4.Cilium对K8S网络模型的实现5.Cilium对K8S负载均衡的实现6.Cilium对网络策略的实现7.总结第三届eBPF开发者大会目录Kub

2、ernetes(简称 K8s)是一个由 Google 开发、现由 CNCF 维护的开源容器编排平台,用于自动化容器化应用的部署、扩展和管理,帮助实现高效、可扩展、稳定的应用运行环境。第三届eBPF开发者大会1.K8S第三届eBPF开发者大会1.K8S 集群K8S 定义了一种简单、一致的网络模型,基于扁平网络结构的设计1.每个 Node 和 Pod 都有自己的 IP 地址,这个 IP 在集群范围内可达2.任意Node和Node,Pod和Pod,Node和Pod之间有连通性,而无需任何NAT3.Kubernetes 的组件之间可以相互通信,也可以与 Pod 通信第三届eBPF开发者大会1.K8S

3、网络模型第三届eBPF开发者大会1.K8S 网络模型CNI 是 Container Network Interface 的缩写,是一个用于配置Linux 容器网络的标准接口规范。它是 CNCF(Cloud Native Computing Foundation)下的一个项目。K8S本身不实现网络模型而是由CNI实现。当一个容器启动时,CNI 负责给这个容器分配网络、设置 IP、连接到网络桥、配置路由等事情,确保容器之间以及容器与外部世界之间能通信。第三届eBPF开发者大会2.CNI1.CNI 规范:定义了插件之间如何交互的规则。1.CNI 配置文件:定义插件的使用方式和参数1.CNI 插件:按

4、照规范实现的网络插件,不同的插件有不同的特性,比如:Calico、Flannel、Cilium第三届eBPF开发者大会2.CNI组件组成Flannel 是一个较为轻量级的 CNI 插件,专注于为 Kubernetes 提供基础的容器网络功能。它使用 overlay 网络来实现 Pod 之间的跨主机通信,用UDP包来封装原始数据包。Flannel 的架构简单,部署容易,适合对网络功能需求不高的小型或开发环境。但由于其主要定位是网络互通,缺乏复杂的网络策略控制、安全特性以及高级网络功能。第三届eBPF开发者大会2.CNI插件举例-FlannelCilium 是一个基于 eBPF 的 CNI 插件。

5、它不仅提供基础的容器网络功能,还支持 L7(应用层)可观测性与策略控制(比如对 HTTP、gRPC 等协议的可视化和控制),并与 Service Mesh、API 安全、透明加密等功能高度集成。得益于 eBPF,Cilium 在性能、扩展性和可调试性方面具有显著优势。第三届eBPF开发者大会3.Cilium概述第三届eBPF开发者大会3.Cilium概述第三届eBPF开发者大会3.Cilium概述第三届eBPF开发者大会3.Cilium概述第三届eBPF开发者大会3.Cilium概述第三届eBPF开发者大会3.Cilium概述第三届eBPF开发者大会3.Cilium概述-配置第三届eBPF开发

6、者大会3.Cilium概述-实验环境第三届eBPF开发者大会4.Cilium对K8S网络模型的实现-Pod的创建I.K8S给Cilium Agent发送一个“Endpoint Create”的请求第三届eBPF开发者大会II.Cilium Agent为Pod创建veth对,并且通过IPAM模块分配IP4.Cilium对K8S网络模型的实现-Pod的创建第三届eBPF开发者大会III.Cilium Agent为Pod的外层veth设备附加TC eBPF程序,4.Cilium对K8S网络模型的实现-Pod的创建第三届e

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了基于eBPF的Kubernetes CNI插件Cilium。关键点如下: 1. Kubernetes网络模型:每个Node和Pod拥有唯一IP,集群内可达,无需NAT。 2. CNI简介:CNI是配置容器网络的标准接口规范,Kubernetes通过网络插件实现网络模型。 3. Cilium概述:Cilium基于eBPF,提供基础网络功能以及L7可观测性和策略控制,具备高性能、扩展性优势。 4. Cilium实现K8S网络模型:通过veth对、IPAM模块分配IP、附加TC eBPF程序等,实现Pod创建和通信。 5. Cilium实现K8S负载均衡:利用eBPF Map和程序,高效实现Service负载分发。 6. 网络策略实现:Cilium通过eBPF实现L3策略,利用Envoy实现L7策略。 引用文章核心数据:Cilium利用eBPF技术深度集成Linux内核网络栈,实现高性能、可编程的Kubernetes网络数据路径,替代iptables/kube-proxy,提高通信效率。
"Cilium如何提升K8S网络性能?" "eBPF技术在Cilium中扮演什么角色?" "K8S网络策略,Cilium如何实现?"
客服
商务合作
小程序
服务号
折叠