背景
homelab 里硬件、PVE 宿主机、K8s 节点、网络分散记录在多篇文章里:Hardware 记了全部硬件清单,PVE、Proxmox VE 存储、pve + openwrt 记了 PVE 与软路由操作,k8s 记了 K8s 概念。但没有一篇把"哪台物理机 → 哪个 PVE 宿主机 → 跑了哪些 K8s 节点 → 怎么连网"串起来。
本文只画这条链路。集群里部署了哪些服务(RSSX、Diun、Grafana 等)见 Homelab Services。PVE 宿主机上除 K8s 节点外的其它虚拟机(win11-ltsc、VPN 客户端、netbird-router 等)不展开。数据来源于 w10n-config 仓库的 infra/homelab/opentofu/pve/main.tf(OpenTofu,宿主机与 VM 的权威定义)和 infra/homelab/inventory/homelab-vms.ini(IP 与节点角色)。
一张图:物理机 → PVE → K8s 节点 → 网络
flowchart TB
onu["光猫 ONU"] -->|PPPoE WAN| openwrt
subgraph n100_host["物理机 n100 · 192.168.50.6"]
openwrt["VM openwrt-24-10
软路由 · LAN 192.168.50.1"]
k8s67["VM k8s-67
control-plane"]
k8s71["VM k8s-71
worker"]
end
openwrt -->|vmbr0 LAN 口| lan["交换机 / LAN 192.168.50.0/24"]
lan --- j4125_host
lan --- pve03_host
lan --- r86s_host
lan --- n100_host
lan --- vip["kube-vip VIP
192.168.50.100"]
lan --- ap["无线 AP
Ruckus R310"]
ap -.->|Wi-Fi 2.4G / 5G| wifi_clients["无线终端
手机 / 笔记本 / Switch"]
subgraph j4125_host["物理机 j4125 · 192.168.50.2"]
k8s21["VM k8s-21
worker"]
end
subgraph pve03_host["物理机 pve03 · 192.168.50.3"]
k8s38["VM k8s-38
control-plane"]
k8s39["VM k8s-39
worker"]
end
subgraph r86s_host["物理机 r86s · 192.168.50.5"]
k8s50["VM k8s-50
worker"]
k8s51["VM k8s-51
control-plane"]
end
要点:
- 4 台 PVE 宿主机(j4125、pve03、r86s、n100)各自独立,不组 Proxmox 集群,管理端口各自的
https://<ip>:8006。 - 软路由本身是 n100 上的一台 VM(
openwrt-24-10),不是独立硬件;n100 用vmbr1接光猫 WAN、vmbr0接 LAN,其余三台 PVE 宿主机和局域网设备都挂在vmbr0这条 LAN 上。细节见 pve + openwrt。 - 家里的 Wi-Fi 由一台 Ruckus R310 提供,它有线接在 LAN 上,以胖 AP 方式工作,只负责无线接入,路由和 DHCP 仍然由 OpenWrt 处理,所以无线终端和有线设备在同一个
192.168.50.0/24网段。型号参数见 Hardware,配置见 Ruckus R310。 - K8s 的对外入口是 kube-vip 维护的 VIP
192.168.50.100,飘在某台 control-plane 节点上,Kong Ingress 走这个 VIP 的 443;VIP 与 22 端口共存的机制见 kube-vip LoadBalancer 与节点 SSH 的 22 端口之争。 - 局域网里另有一台 VM(
192.168.50.61)承担 K8s 节点的 VPN / 透明代理出网网关,与本文的物理/虚拟拓扑是两条独立的关注点,这里不展开。
PVE 宿主机 ↔ K8s 节点对照表
| PVE 宿主机 | 管理 IP | K8s 节点(VM) | 角色 | 节点 IP |
|---|---|---|---|---|
| j4125 | 192.168.50.2 | k8s-21 | worker | 192.168.50.21 |
| pve03 | 192.168.50.3 | k8s-38 | control-plane | 192.168.50.38 |
| pve03 | 192.168.50.3 | k8s-39 | worker | 192.168.50.39 |
| r86s | 192.168.50.5 | k8s-50 | worker | 192.168.50.50 |
| r86s | 192.168.50.5 | k8s-51 | control-plane | 192.168.50.51 |
| n100 | 192.168.50.6 | k8s-67 | control-plane | 192.168.50.67 |
| n100 | 192.168.50.6 | k8s-71 | worker | 192.168.50.71 |
7 个节点:3 control-plane(k8s-38 / k8s-51 / k8s-67)+ 4 worker(k8s-21 / k8s-39 / k8s-50 / k8s-71),K8s 概念性内容见站内 k8s。
r86s、n100 与 Hardware 里的 ROCK 5B(R86S 型号)、畅网微控 n100 是同一批硬件;pve03、j4125 这两台宿主机目前 Hardware 一文里还没有单独条目,是待补的空档。
与已有文章的关系
| 主题 | 看哪篇 |
|---|---|
| 集群里部署了哪些服务 | Homelab Services |
| 全量硬件清单(含非 PVE 设备) | Hardware |
| PVE 安装、日常命令、备份恢复 | PVE |
| PVE 存储分层(VG/瘦池/local-lvm) | Proxmox VE 存储 |
| 软路由 VM 怎么搭(vmbr0/vmbr1) | pve + openwrt |
| 无线 AP(Ruckus R310)配置 | Ruckus R310 |
| PVE 虚拟机内存/磁盘热扩容 | pve-vm-memory-hotplug |
| K8s 概念(Pod/Service/DaemonSet 等) | k8s |
| kube-vip VIP 与端口复用机制 | kube-vip-loadbalancer-port-22 |
| kube-vip cp/svc 双选举、双挂根因,与 keepalived+haproxy、MetalLB 对比 | kube-vip-cp-svc-ha-comparison |
| 一次真实的节点负载排查 | Homelab K8s Node Rebalance |
| 容器镜像新版本通知(Diun) | Diun |
| 2021 年旧网络拓扑(单机软路由,已被本文取代) | network topology |
维护记录
| 时间 | 修改内容 | 原因 |
|---|---|---|
| 2026-07-23 | 新建本文,梳理硬件/PVE 宿主机/K8s 节点/网络关系图 | 现有文档各记一段,缺一篇串联全局的总览 |
| 2026-09-14 | 相关文章表增加 Diun 镜像更新通知 | homelab 用 Diun 盯容器镜像新版本 |
| 2026-10-09 | 拓扑图增加无线 AP(Ruckus R310)及无线终端;要点与相关文章表补充 AP 说明 | 原图只画了 PVE 与 K8s 节点,缺少家庭 Wi-Fi 接入部分 |