02 Jul 2025
•
Cilium
尽管 Cilium 以其基于 eBPF 的高性能 CNI 著称,但其能力远不止于集群内部。Cilium 原生的 BGP 功能,让 Kubernetes 集群能真正地参与到外部网络的路由决策中,这在很多混合云或本地数据中心的场景下,是个非常优雅的解决方案。利用 BGP 宣告集群的 Pod CIDR,构建一个无覆盖网络(No-Overlay)的高性能环境。这种模式下,Pod IP 可在外部网络直接路由,彻底消除了封装开销。本文将通过 ContainerLab 和 Kind 搭建实验,演示如何配置 Cilium 与外部路由器对接,从而将 Pod 网段宣告给物理网络。
More …
22 Jun 2025
•
Cilium
长期以来,基于 Netfilter 的 kube-proxy 都是 Kubernetes 服务网络的标准实现。但随着 eBPF 技术演进为强大的内核网络引擎,一个新机遇随之而来:我们能否彻底绕开 kube-proxy?Cilium 以其 eBPF 方案给出了肯定答案。实际上,绕过 Netfilter 本就是 Cilium 的一贯设计思路,此次替代方案亦不例外。它通过 Socket-LB 与 DSR 技术,在内核的 Socket 层构建了一套更高性能的负载均衡模型,为我们揭示了 K8s 网络的新可能。
More …
21 Jun 2025
•
Cilium
之前的一篇文章探讨了 Cilium 在 Native Routing 模式下的数据路径。然而,该模式对底层网络环境有特定要求,使其无法适用于所有场景,因此,不依赖底层网络、具有更强兼容性的 VXLAN 模式成为了一种重要的替代方案。VXLAN 会引入额外的封装与解封装开销,其具体实现过程值得关注:当数据包离开 Pod 时,eBPF 程序如何在内核中拦截该数据包,对其进行 VXLAN 封装,并最终将其发送至目标节点?本文旨在深入解析 Cilium VXLAN 模式的数据路径实现细节。
More …
12 Jun 2025
•
Cilium
随着云原生生态的发展,各种新技术、新项目层出不穷,而在容器网络领域,以 eBPF 为核心的 Cilium 已成为性能最强的容器网络方案之一,它显著提升了网络性能与可观测性。然而,eBPF 在带来强大的性能的同时,也带来了数据路径的复杂性。理解其内部工作原理对于故障排查至关重要。因此,本文旨在详细剖析 Cilium 原生路由模式的 eBPF 数据路径,阐明其报文转发流程,为生产实践提供参考。
More …
08 Jun 2025
•
CNI
Kubernetes 网络是其体系中公认的复杂部分,尤其 CNI 更是让许多工程师望而却步。尽管我们日常使用 Calico、Flannel 等 CNI 插件,但其底层工作原理却常常不甚明了。许多人满足于“能用即可”,但作为工程师,若不理解底层机制,在排查网络问题时便会束手无策。实际上,抛开复杂的控制平面,数据平面的核心原理可归结为几种固定的实现模式。本文旨在揭示这些底层技术,不谈抽象理论,而是通过手动实践,复现 Host-GW、VXLAN 和 IPIP 这三种经典的数据平面模型,展示其背后由哪些基础的 Linux 网络功能所支撑。
More …
07 Jun 2025
•
CNI
在 Docker 与 Kubernetes 的世界里,容器间的通信似乎是信手拈来、宛如魔法。然而,作为工程师,我们深知所谓的“魔法”不过是精巧技术的封装。一旦网络出现异常,或需要构建更复杂的拓扑结构,仅停留在会用层面是远远不够的。要揭开这层神秘面纱,就需要从最基础的 veth pair 和 bridge 入手,逐步剖析容器通信的底层原理。
More …