跳至正文

纯IPv6 kubernetes集群架构图

整体架构图

========================================================================================================
                                      【 外部网络 / INTERNET 】
========================================================================================================
         │                                                                              ▲
         │ (1) 外部 IPv4 用户请求                                                       │ (5) 真正的 IPv4 流量出网
         │ [源: 1.1.1.1 -> 目的: HAProxy IPv4]                                          │ [源: 192.168.250.X -> 目的: 4.4.4.4]
         ▼                                                                              │
┌───────────────────────────────────────────────────────────────────────────────────────┴──────────────┐
│                  【 外部独立双栈虚拟机网关 A / B 】(同时部署 HAProxy 与 Jool,互不干扰)                    │
│                                                                                                      │
│  [ 物理网卡 1 ] (自动获取公网): 具备外网 IPv4 访问能力 & 获得 `2408:` 公网 IPv6                   │
│  [ 物理网卡 2 ] (静态分配 ULA) : 网关 A = `fd01:1010:1111:1::100/64`                                │
│                                    网关 B = `fd01:1010:1111:1::101/64`                                │
│                                                                                                      │
│  ┌───────────────────────────────────────────┐     ┌───────────────────────────────────────────┐     │
│  │             【 网关 A 】                  │     │             【 网关 B 】                  │     │
│  │  - HAProxy (L7 代理, HTTP 注入 XFF 保持源IP)│     │  - HAProxy (L7 代理, HTTP 注入 XFF 保持源IP)│     │
│  │  - Jool (L3 内核态有状态 NAT64 核心翻译官)   │     │  - Jool (L3 内核态有状态 NAT64 核心翻译官)   │     │
│  └────────────────────┬──────────────────────┘     └────────────────────┬──────────────────────┘     │
└───────────────────────┼─────────────────────────────────────────────────┼────────────────────────────┘
                        │                                                 │
                        │ (2) 转换为纯内网 IPv6 转发                       │ (4) 剥离外壳, 转换为真正的 IPv4
                        │ [源: 网关 -> 目的: Istio VIP]                   │ [从 64:ff9b::4.4.4.4 提取出 4.4.4.4]
                        ▼                                                 │
==========================================================================┴=============================
                                【 物理网络 (二层扁平交换域): fd01:1010:1111::/48 】
========================================================================================================
          │                                                                       ▲
          │ (3) 物理二层交换流转                                                   │ (3) 触发 Cilium 策略引流
          │ [目的地: fd01:1010:1111:1::11]                                        │ eBPF 内核级健康检查 (1s/次)
          ▼                                                                       │ 自动负载均衡/毫秒级漂移
┌─────────────────────────────────────────────────────────────────────────────────┴────────────────────┐
│                             【 纯 IPv6 Kubernetes 集群 (Cilium netkit) 】                            │
│                                                                                                      │
│  ==================================================================================================  │
│  【 K8s 虚拟网络总网段 (Overlay/eBPF 动态驱动): fd01:1010:2222::/48 】                                │
│  ==================================================================================================  │
│                                                                                                      │
│  ┌──────────────────────────────────────────┐             ┌──────────────────────────────────────────┐  │
│  │        K8s Node 1 (宿主机物理 IP)        │             │        K8s Node 2 (宿主机物理 IP)        │  │
│  │        `fd01:1010:1111:1::11/64`        │             │        `fd01:1010:1111:1::12/64`        │  │
│  │                                          │             │                                          │  │
│  │  ┌────────────────────────────────────┐  │             │  ┌────────────────────────────────────┐  │  │
│  │  │       Istio Ingress Gateway        │  │             │  │            业务 Pod A              │  │  │
│  │  │ - 纯虚拟网段, 绑定纯 IPv6          │  │             │  │ - 虚拟 IP: `fd01:1010:2222:10::5`  │  │  │
│  │  │ - 解析 XFF/Proxy v2 拿到真实 IPv4  │  │             │  │ - MTU 跟随宿主机物理网卡 (1500)    │  │  │
│  │  └─────────────────┬──────────────────┘  │             │  └─────────────────┬──────────────────┘  │  │
│  │                    │                     │             │                    │                     │  │
│  │                    ▼ 纯虚拟 eBPF 路由     │             │                    ▼ (1) 请求外部 IPv4    │  │
│  │          ┌───────────────────┐           │             │          ┌───────────────────┐           │  │
│  │          │    业务 Pod B     │           │             │          │      CoreDNS      │           │  │
│  │          └───────────────────┘           │             │          │ - 启用 dns64 插件  │           │  │
│  │                                          │             │          └───────────────────┘           │  │
│  │  ┌────────────────────────────────────┐  │             │  ┌────────────────────────────────────┐  │  │
│  │  │          Cilium Agent              │  │  ◄────────►  │  │          Cilium Agent              │  │  │
│  │  │ - 驱动 Node 1 Pod 池:             │  │ 跨节点 netkit│  │ - 驱动 Node 2 Pod 池:             │  │  │
│  │  │   `fd01:1010:2222:10::/64`         │  │ 零隧道封包开销│  │   `fd01:1010:2222:11::/64`         │  │  │
│  │  └────────────────────────────────────┘  │             │  └────────────────────────────────────┘  │  │
│  └──────────────────────────────────────────┘             └──────────────────────────────────────────┘  │
│                                                                                                      │
│  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│  │   K8s Service 虚拟网段 ClusterIP (锁死掩码, 对 CPU 查表最友好):  `fd01:1010:2222:99::/112`         │  │
│  └────────────────────────────────────────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────────────────────────────────────────┘

IPv6 网络地址规划

我们使用 fd01:1010:1111::/48 专门作为真实的物理/宿主机网络;
我们使用 fd01:1010:2222::/48 专门作为集群内部的虚拟网络。

1. 物理网络规划(真实虚拟机、物理机、网卡 IP)
该网段属于您本地二层交换机的物理网络范围。所有机器的物理网卡、网关都配置在这里:

角色 / 机器名称   建议物理静态 IPv6 地址  说明
物理网络根网段 fd01:1010:1111::/48 整个物理机房/实验室的二层大网。
物理接口标准子网    fd01:1010:1111:1::/64   所有真实服务器接口所在的标准子网。
Jool 网关虚拟机  fd01:1010:1111:1::100/64    独立网关的内网静态卡 IP。
HAProxy 虚拟机 fd01:1010:1111:1::200/64    边缘双栈负载均衡的内网静态卡 IP。
K8s Node 1 宿主机  fd01:1010:1111:1::11/64 节点 1 的物理物理网卡 IP。
K8s Node 2 宿主机  fd01:1010:1111:1::12/64 节点 2 的物理物理网卡 IP。

2. 虚拟网络规划(K8s 内部,由 Cilium eBPF 动态驱动)
该网段在物理世界上完全不存在,不需要在任何交换机或宿主机网卡上配置,完全由 Cilium 在内核层通过 netkit 进行虚拟路由:
角色 / 场景 K8s / Cilium 配置网段   说明与设计原理
K8s 虚拟总网段   fd01:1010:2222::/48 告诉 K8s 的 Pod 总池子是这个范围。
K8s Node 1 Pod 池    fd01:1010:2222:10::/64  Cilium 自动分配给 Node 1 内部 Pod 的子网(满足单节点 110+ Pod)。
K8s Node 2 Pod 池    fd01:1010:2222:11::/64  Cilium 自动分配给 Node 2 内部 Pod 的子网。
K8s Service 网段  fd01:1010:2222:99::/112 虚拟 ClusterIP 网段,固定 112 位掩码,完美压榨 CPU 查表性能。

3. 外部 NAT64 转换大门
    • 64:ff9b::/96:全球通用的知名标准前缀。

📌 完美的参数对照(这就绝对不会冲突了)
后续初始化 K8s 集群时,参数要这样填:
    • --pod-network-cidr=fd01:1010:2222::/48
    • --service-cidr=fd01:1010:2222:99::/112

cilium netkit网络拓扑图

 Pod A (fd00:1010:1000:10::5) 
      │ 
      │ (通过 netkit 钩子,eBPF 直接将包打入宿主机内核)
      ▼
 宿主机内核 (Cilium eBPF 查表)
      │
      │ (发现目的地是 64:ff9b::/96,直接触发 BPF_REDIRECT)
      ▼
 物理网卡 (通过扁平的二层网络,直接将原始 IPv6 包发往 Jool 网关)
      │
      ▼
 Jool 虚拟机 (fd00:1010:1000:1::100) -> 翻译成 IPv4 出网

🔒 原创版权声明

本文标题:纯IPv6 kubernetes集群架构图

原文链接:https://www.infraserviceonline.com/%e7%ba%afipv6-kubernetes%e9%9b%86%e7%be%a4%e6%9e%b6%e6%9e%84%e5%9b%be/

版权来源:Infraservicenow

⚠️ 重要声明:本站所有文章均为原创技术文档,未经作者书面正式授权,严禁任何形式转载、复制、摘抄、二次发布

如需转载、引用、整理发布,请务必提前联系作者获得授权,违者将依法追究侵权责任。

© 2026 Infraservicenow All Rights Reserved. 保留所有权利。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

error: Content is protected !!