K8s 网络插件 Cilium
简介
Cilium 是一个基于 eBPF 和 XDP 的高性能容器网络方案,代码开源在 github.com/cilium/cilium,目前已从 CNCF 毕业,是云原生网络领域事实上的标准之一。它通过在 Linux 内核中动态插入 eBPF 字节码,把网络转发、安全策略、负载均衡和可观测性逻辑下沉到内核态执行,无需修改应用代码或容器配置。
Cilium 是一个基于 eBPF 和 XDP 的高性能容器网络方案,代码开源在 github.com/cilium/cilium,目前已从 CNCF 毕业,是云原生网络领域事实上的标准之一。它通过在 Linux 内核中动态插入 eBPF 字节码,把网络转发、安全策略、负载均衡和可观测性逻辑下沉到内核态执行,无需修改应用代码或容器配置。
CNI 全称为 Container Network Interface,是用来定义容器网络的一个规范。containernetworking/cni 是一个 CNCF 的 CNI 实现项目,包括基本的 bridge、macvlan 等基本网络插件。
SRIOV-CNI最早由腾讯互娱计算资源团队开发, 后被 CNI 社区接纳,并被Intel关注和Fork。
SRIOV-CNI 为K8s 提供一种 Underlay 网络。 其主要是 基于 网卡虚拟化技术 SR-IOV 实现的。
本文整理 Kubernetes(简称 K8s)学习路径上值得收藏的演示文稿、视频分享、官方文档与社区资源。内容面向不同阶段的学习者:从概念入门、网络模型深挖,到生产实践与认证考试,均可在此找到对应素材。文中链接以官方渠道与社区一手资料为主,尽量规避失效或转载失真的内容。
Kubernetes 的主仓库 kubernetes/kubernetes 是一个以 Go 为主(占比约 97%)的庞大项目,截至本文写作时提交数已超过 14 万。直接从根目录切入很容易迷失方向,阅读源码前先理解它的整体结构、构建机制和典型调用链,可以显著降低入门成本。
Kubernetes 作为云原生应用的基础调度平台,常被类比为"云原生的操作系统"。和传统操作系统通过驱动屏蔽硬件差异类似,Kubernetes 通过一组开放接口(Open Interfaces) 把计算、网络、存储这三类最基础的资源抽象出来,让上游可以对接不同的后端实现,而无需修改 Kubernetes 核心代码。这种可插拔(pluggable)的设计,是 Kubernetes 能够支撑极其多样化的基础设施的关键。