From bdcc0dd265e1424d1facbf97cab515835bdfeae2 Mon Sep 17 00:00:00 2001 From: Yaojia Wang Date: Sun, 15 Mar 2026 21:45:14 +0100 Subject: [PATCH] vault: update k8s DNS fix, node bypass OpenClash, ArgoCD restored --- .../VLESS-REALITY-Router-iStoreOS.md | 14 ++++++++++++++ 3 - Areas/家庭网络基础设施.md | 15 ++++++++++++++- 4 - Resources/HomeLab Infrastructure.md | 8 ++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md index 4fea12d..e446082 100644 --- a/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md @@ -63,6 +63,20 @@ iStoreOS (192.168.68.63) ← 主网关 > **重要:** NameServer 必须用海外 DNS,不能用国内 DNS(114、119、223 等), > 否则会产生 DNS 环路(国内 DNS IP 匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环)。 +### 流量绕过(K8s 节点直连) + +配置文件 rules 中添加了 K8s 节点直连规则,避免 fake-ip 干扰容器镜像拉取: + +```yaml +rules: + - SRC-IP-CIDR,192.168.68.11/32,DIRECT # k8s-cp1 + - SRC-IP-CIDR,192.168.68.21/32,DIRECT # k8s-w1 + - SRC-IP-CIDR,192.168.68.22/32,DIRECT # k8s-w2 + # ... 其他规则 +``` + +K8s 节点 DNS 也改为 `8.8.8.8`(不经过 OpenClash),详见 [[家庭网络基础设施#K8s 节点绕过 OpenClash]] + ### 配置文件 - 源配置:`/etc/openclash/config/vless-reality.yaml` diff --git a/3 - Areas/家庭网络基础设施.md b/3 - Areas/家庭网络基础设施.md index 2e8db47..547b3c1 100644 --- a/3 - Areas/家庭网络基础设施.md +++ b/3 - Areas/家庭网络基础设施.md @@ -149,7 +149,7 @@ iStoreOS / EasePi Pro (192.168.68.63) ← 主网关 | 域名 | IP | 说明 | |------|-----|------| -| `*.k8s.home` | 192.168.68.70 | Kubernetes 入口 | +| `*.k8s.home` | 192.168.68.240 | Kubernetes Ingress (MetalLB) | | `nas.colacoder.com` | 192.168.68.70 | NAS | | `pve.colacoder.com` | 192.168.68.70 | PVE(通过 NPM 代理) | | `npm.colacoder.com` | 192.168.68.70 | Nginx Proxy Manager | @@ -213,6 +213,19 @@ iStoreOS / EasePi Pro (192.168.68.63) ← 主网关 | 443/tcp → NAS:443 | Nginx Proxy Manager | 端口映射 | | 51888/tcp → WG:51888 | WireGuard | 端口映射 | +### K8s 节点绕过 OpenClash + +K8s 节点 DNS 使用 `8.8.8.8`(不经过 OpenClash fake-ip),流量通过 `SRC-IP-CIDR` 规则直连: + +| 节点 | IP | DNS | 网关 | OpenClash | +|------|-----|-----|------|-----------| +| k8s-cp1 | 192.168.68.11 | 8.8.8.8 | 192.168.68.63 | DIRECT(绕过) | +| k8s-w1 | 192.168.68.21 | 8.8.8.8 | 192.168.68.63 | DIRECT(绕过) | +| k8s-w2 | 192.168.68.22 | 8.8.8.8 | 192.168.68.63 | DIRECT(绕过) | + +> 原因:OpenClash fake-ip 对容器镜像仓库(quay.io、ecr.aws 等)返回假 IP, +> K8s 节点无法通过 TUN 路由假 IP,导致 ImagePullBackOff。 + ### 待评估 | 项目 | 说明 | 建议 | diff --git a/4 - Resources/HomeLab Infrastructure.md b/4 - Resources/HomeLab Infrastructure.md index 03d37f4..c2e0f09 100644 --- a/4 - Resources/HomeLab Infrastructure.md +++ b/4 - Resources/HomeLab Infrastructure.md @@ -39,6 +39,14 @@ DNS 服务器: `192.168.68.63` 注意: 所有 `*.k8s.home` 域名都应指向 ingress-nginx 的 LoadBalancer IP `192.168.68.240`(由 MetalLB 分配),而不是节点 IP。 +### K8s 节点网络配置 + +K8s 节点 DNS 使用 `8.8.8.8`(绕过 OpenClash fake-ip),否则会导致 ImagePullBackOff。 +网关统一指向 `192.168.68.63`(iStoreOS 主网关)。 +OpenClash 配置了 `SRC-IP-CIDR` 规则让三个节点流量直连。 + +配置文件: `/etc/netplan/50-cloud-init.yaml`(每个节点) + ## 已部署应用 | 应用 | URL | 命名空间 | 说明 |