1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| 公网环境: ┌─────────────────────────┐ │ 公网服务器端 │ └─────────────────────────┘ │ Wireguard隧道 │ 10.7.0.1 ←→ 10.7.0.2/3/4/... ▼ 内网环境: ┌─────────────────────────┐ │ ┌─ Base:192.168.0.x │ │ ├─ Pod:10.42.0.0/1 │ │ ├─ Service:10.43.0.0/16 │ │ └─ MetalLB:192.168.0.50+│ │ │ │ ┌─────┬─────┬─────┐ │ │ │Node1│Node2│Node3│ │ │ │.10 │.11 │.12 │ │ │ └─────┴─────┴─────┘ │ └─────────────────────────┘ ▲ │ Headscale/Tailscale │ 100.64.0.x ┌─────────────────────────┐ │ 内网设备访问 │ └─────────────────────────┘
网络分段: ├── 100.64.0.0/24 # Headscale/Tailscale 网段 ├── 10.7.0.0/24 # Wireguard 网段 ├── 192.168.0.0/24 # K3s 本地网段 ├── 192.168.20.0/24 # MetalLB LoadBalancer 池(还没做) ├── 10.42.0.0/16 # K3s Pod CIDR (默认) └── 10.43.0.0/16 # K3s Service CIDR (默认)
# 内网段 headscale | LoadBalancer > 参考 test/test-external-dns.yaml [headscale客户端 100.64.0.5] https://grafana.hk3s.loc ↓ DNS查询 grafana.hk3s.loc [PowerDNS Recursor 100.64.0.1:53] ↓ 转发到权威DNS [PowerDNS Authoritative 127.0.0.1:53] #TOOD ↓ 返回 100.64.0.1 [headscale客户端] ↓ HTTP请求 https://grafana.hk3s.loc -> 100.64.0.1:443 [Caddy 100.64.0.1:443] ↓ 代理到 grafana.k3s.loc [PowerDNS Authoritative 100.64.0.1:5353] ↓ 返回 192.168.0.X [LoadBalancer _(MetalLB)_ 192.168.0.X] #TODO ↓ 路由到Grafana Pod [Grafana Pod]
# 公网段 wireguard | NodePort (未实现) > 参考 test/test-2service.yaml [用户] https://grafana.yourdomain.com ↓ DNS解析到公网IP [公网服务器] ├── 请求1 → Wireguard隧道 10.7.0.1→10.7.0.2 → 192.168.0.10:30080 ├── 请求2 → Wireguard隧道 10.7.0.1→10.7.0.3 → 192.168.0.11:30080 ├── 请求3 → Wireguard隧道 10.7.0.1→10.7.0.4 → 192.168.0.12:30080 └── 请求4 → Wireguard隧道 10.7.0.1→10.7.0.5 → 192.168.0.13:30080 ↓ Caddy 负载均衡 [Wireguard server 10.7.0.1] ↓ Wireguard隧道 [Grafana Pod 10.42.1.15:3000]
|