Kubernetes 网络之 Flannel 与 Calico 课程导读

课程导读

在 Kubernetes 容器集群的构建中,网络往往是初学者乃至进阶工程师面临的最大挑战。如果说计算与存储是集群的骨肉,那么网络便是连接全身的经络,决定了服务能否高效、稳定地互通。本课程《Kubernetes 网络之 Flannel 与 Calico》旨在拆解这一黑盒,深入剖析两类最主流 CNI(Container Network Interface)插件的底层原理与工作机制,帮助学习者建立完整的 K8s 网络认知体系。

学习门槛与准备
本课程适合具备基础 Linux 操作知识、理解 Docker 容器基本概念,并了解 Kubernetes 核心资源(如 Pod、Service)定义的学习者。无需成为网络专家,但建议对 IP 子网、路由表及 NAT 转换有初步认识,这将有助于更好地理解后续的数据包流转逻辑。

学习路径与核心内容
课程前半部分聚焦于 Flannel,作为早期广泛使用的网络方案,其设计简洁但机制独特。讲师首先从 K8s 网络规范入手,厘清 Pod IP、Node IP 与服务 IP 的基本概念,随后深入容器间、Pod 间通信的数据包流转过程。针对 Flannel 的三种主要工作模式——UDP、VxLAN 与 HostGW,课程进行了逐一拆解:UDP 模式虽性能最低但兼容性最好;VxLAN 模式通过隧道封装实现跨网段通信,是当前最通用的选择;而 HostGW 模式则直接利用主机路由表转发,性能优异但要求底层网络支持。此外,课程还特别讲解了 VxLAN 路由模式,进一步细化了对大规模集群网络优化的理解。对于从 Pod 到 Service,再到出集群访问互联网的完整流量链路,也有细致的图解与说明。

后半部分转向 Calico,这是一个基于纯三层网络、支持网络策略(Network Policy)的高性能方案。课程介绍了 Calico 的核心架构,包括 BGP 路由协议在节点间 IP 路由分发中的作用,以及其如何通过 iptables/eBPF 实现精细化的访问控制。相比 Flannel 的“尽力而为”转发,Calico 更强调企业级场景下的安全隔离与可视化管控。

学完产出
完成本课程后,你将能够:1)清晰绘制并解释 K8s 集群内 Pod 通信的完整数据包流向;2)根据业务需求选择合适的 CNI 插件,并理解 Flannel 与 Calico 在性能、功能及安全上的本质差异;3)具备排查基础网络连通性问题的能力,为深入钻研 Kubernetes 高级网络特性打下坚实基础。

资料包使用方法
建议学员将视频课程作为主线,配合提供的文档资料进行预习和复习。在观看 Flannel 各模式详解时,若条件允许,可在本地实验环境中部署对应组件,观察节点路由表与 VxLAN 接口的实际变化,理论结合实践方能事半功倍。

课程目录

1-1 [flannel网络详解] k8S网络规范 (05:17)
1-2 [flannel网络详解] 容器间的通信 (12:12)
1-3 [flannel网络详解] pod间的通信 (27:09)
1-4 [flannel网络详解] flannel udp模式详解 (07:16)
1-5 [flannel网络详解] flannel vxlan封装详解 (15:32)
1-6 [flannel网络详解] flannel hostgw模式详解 (13:32)
1-7 [flannel网络详解] flannel vxlan 路由模式 (07:27)
1-8 [flannel网络详解] pod到服务间的通信 (10:43)
1-9 [flannel网络详解] 内部到互联网流程 (11:55)
2-1 [calico原理及部署] calico网络介绍 (06:48)
2-2 [calico原理及部署] calico组件介绍 (08:24)
2-3 [calico原理及部署] calico网络和策略部署 (11:09)
2-4 [calico原理及部署] calicoctl部署 (08:36)
3-1 [calico网络自定义] 确定calico网络较好选项 (12:21)
3-2 [calico网络自定义] 配置BGP的路由反射 (23:10)
3-3 [calico网络自定义] calico IPinIP封装 (16:29)
3-4 [calico网络自定义] calico vxlan的封装 (25:03)
3-5 [calico网络自定义] 修改MTU来增加网络性能 (07:30)
3-6 [calico网络自定义] calico网络地址 (15:19)
3-7 [calico网络自定义] calico BGP邻居IP地址检测转换 (14:15)
3-8 [calico网络自定义] calico网络配置补充 (05:32)
4-1 [calico及k8s网络策略入门] calico网络策略原理 (09:20)
4-2 [calico及k8s网络策略入门] 启用默认策略 (06:42)
4-3 [calico及k8s网络策略入门] calico网络策略案例 (26:02)
4-4 [calico及k8s网络策略入门] k8s网络策略原理 (07:49)
4-5 [calico及k8s网络策略入门] k8s策略案例演示一 (07:55)
4-6 [calico及k8s网络策略入门] k8s策略案例演示二 (26:47)
4-7 [calico及k8s网络策略入门] K8s策略生产情况模拟 (09:18)
5-1 [网络策略规则篇] 名称空间和服务帐户规则 (05:01)
5-2 [网络策略规则篇] calico策略使用IP限制 (20:30)
5-3 [网络策略规则篇] calico icmp的规则 (06:44)
5-4 [网络策略规则篇] 限制k8s节点流量一 (06:51)
5-5 [网络策略规则篇] 限制k8s节点流量二 (17:08)
5-6 [网络策略规则篇] 链路追踪的旁路 (05:03)
6-1 [flannel和calico集成] K8s部署canal及策略演示 (10:06)
6-2 [flannel和calico集成] k8s canal网络更改flannel (17:05)
6-3 [flannel和calico集成] flannel平滑迁移到calico (11:58)