NNetpath
L1

容器网络

K8s 网络模型与 CNI

把 K8s 网络从"魔法"变成可推导的机制。Pod 之间怎么通、Service 的 VIP 是谁在翻译、流量从集群外进来经过哪几跳,全都能画出来。

3 个小组 · 10 节课 · 约 5 小时已完成 0/10

1网络模型与数据平面

3 节 · 95 分钟 · 正文 2/3

先看清 K8s 定下的四条约束,再用 ip 命令手搓一个满足它的最小网络,最后看各家 CNI 的取舍。

  1. 1

    K8s 网络模型:四条铁律

    原理入门25 分钟

    K8s 不实现网络,它只规定了几条必须满足的约束。理解约束,才能理解各家 CNI 的取舍。

    • 复述 K8s 网络模型的强制约束,并解释它为什么排除了端口映射方案
    • 区分 Pod CIDR、Service CIDR、节点网段三套地址
    • 判断一个网络需求该由 CNI、Service 还是 Ingress 来满足
  2. 2

    动手:用 netns 和 veth 手搓一个容器网络

    实验35 分钟仅大纲

    不用 K8s、不用 Docker,纯 ip 命令把两个"容器"连通,容器网络就没有秘密了。

    • 手工创建 netns、veth pair 和网桥,让两个命名空间互通
    • 解释容器出网为什么需要 SNAT
    • 在宿主机上找到某个 Pod 对应的 veth 和 netns
  3. 3

    CNI 与数据平面:overlay、原生路由与 eBPF

    原理35 分钟

    同一个网络模型有三种实现路线,性能与运维复杂度差别很大。

    • 解释 overlay(VXLAN/Geneve)与原生路由各自的代价
    • 说清 eBPF 数据平面比 iptables 快在哪里
    • 按机房条件(能否跑 BGP、MTU 是否可控)选 CNI 与模式

2Service 与南北流量

5 节 · 155 分钟 · 正文 1/5

一个不存在的 IP 怎么工作、VIP 怎么让物理网络知道、L7 入口与 DNS 策略各在哪一层生效。

  1. 4

    Service:一个不存在的 IP 是怎么工作的

    原理35 分钟

    ClusterIP ping 不通却能访问。把这件事讲透,Service 的四种类型就都通了。

    • 解释 ClusterIP 为什么 ping 不通,以及 DNAT 发生在哪一侧
    • 区分 ClusterIP、NodePort、LoadBalancer、Headless 的适用场景
    • 说清 externalTrafficPolicy 与源 IP 保留之间的取舍
  2. 5

    kube-proxy 的三代实现与 eBPF 替换

    原理深入30 分钟仅大纲

    iptables 模式在几千个 Service 时会退化。这节讲退化的原因和替代方案。

    • 解释 iptables 模式的规则数量与匹配开销为何随 Service 数增长
    • 说清 IPVS 模式改善了什么、没改善什么
    • 判断是否该开 kubeProxyReplacement
  3. 6

    MetalLB:裸金属集群的 LoadBalancer

    原理35 分钟仅大纲

    云上一行 type: LoadBalancer 就有 VIP,裸金属得自己实现。两种宣告方式,选错了要么不通、要么只有高可用没有负载均衡。

    • 解释 L2 模式下 VIP 是怎么被宣告与抢占的,以及为什么它只是高可用
    • 说清 BGP 模式的对等配置与 ECMP 分担,并据此在两种模式之间选择
    • 排查 VIP 不通时知道该看哪个 CRD、哪份日志、抓什么包
  4. 7

    南北流量:Ingress、Gateway API 与出口治理

    原理30 分钟仅大纲

    流量从集群外进来的几种正规入口,以及出方向该不该管、怎么管。

    • 说出 Ingress 与 Gateway API 的能力差异和迁移路径
    • 规划入口层:LB VIP、Ingress 控制器副本、证书从哪来
    • 给出限制 Pod 出网的两种做法及其代价
  5. 8

    CoreDNS 与 NetworkPolicy

    原理25 分钟仅大纲

    集群里一半的"网络故障"其实是 DNS;另一半是策略拦了没人知道。

    • 解释 Pod 内 DNS 查询的完整过程与 ndots 带来的额外查询
    • 排查 CoreDNS 延迟与超时
    • 写出一条最小放行的 NetworkPolicy 并验证它生效

3扩展与排障

2 节 · 65 分钟 · 正文 0/2

给 Pod 插第二张网卡,然后练一次「Pod 之间不通」。

  1. 9

    动手:给 Pod 插第二张网卡

    实验35 分钟仅大纲

    AI 训练和虚拟机场景都需要 Pod 直连物理网。Multus、Spiderpool、MacVLAN 的实际配法。

    • 用注解给 Pod 申请次级网卡与固定 IP 段
    • 解释 MacVLAN、IPvlan、SR-IOV 三种接入方式的差异
    • 判断什么场景必须 hostNetwork、什么场景该用 MacVLAN
  2. 10

    闯关:Pod 之间不通

    闯关30 分钟仅大纲

    同一个 Service 有些副本能访问、有些不行。在模拟终端里一层层剥开。

    • 按 Pod → 节点 → CNI → Service → 策略的顺序收敛问题
    • 区分 DNS 失败、策略拦截、路由缺失三类症状
    • 定位到具体节点或具体规则,而不是停在"网络不通"