用途:面向在托管 Kubernetes(Vultr VKE)上部署 NetBird Agent Network 的场景,补充单节点构建不会遇到的差异。目标形态与单节点版本相同:一个无密钥、受策略门控的 LLM 端点,以及一个网络隔离、运行无头 Claude Code 的智能体。
主要能力与要点:
- 拓扑为一个 VKE 集群、三个命名空间。网关命名空间运行 Traefik、合并的 netbird-server、仪表盘与 private 模式反向代理;智能体命名空间运行两 Pod 应用。
- NetBird 客户端 Pod 以 netstack 模式运行(NB_USE_NETSTACK_MODE),用户态 WireGuard,暴露未认证 SOCKS5 监听,无 TUN、无 capabilities、非 root、只读根文件系统。
- 智能体 Pod 运行 Claude Code 加本地 HTTP→SOCKS5 桥(Claude Code 本身不支持 SOCKS5)。其唯一出网通道被默认拒绝的 NetworkPolicy 限定为 SOCKS5 监听。
- 隔离验证从内外两侧探测:外层原始 TCP 与内层 CONNECT 对禁止目标均须失败,仅代理 overlay 地址可应答。
- 固定版本客户端的若干实测事实:--daemon-addr 与 --log-file 被静默忽略,需用 NB_DAEMON_ADDR、NB_LOG_FILE 等环境变量;非 root 需设置 USER 与 HOME;配置文件存在不代表已注册,应以守护进程状态为准。
使用方式:参考实现(OpenTofu、manifests、NetworkPolicy、收敛与验收脚本)位于 getcolors/agent-network-k8s 包技能中,本技能不复制这些文件。用法细节见 references 下的 pins、failure-catalogue、netstack、acceptance 等文档。
适用场景与限制:适用于受管 Kubernetes、非特权智能体、需要密钥端点与网络隔离的部署。限制包括:netstack 静态 hostname→overlay 映射在代理 Pod 重启后失效需重新收敛;反向代理为嵌入 peer,不出现在 GET /api/peers;NetworkPolicy 无法约束 CONNECT 的目标;托管集群上不应断言路由表形态。未提供收费、价格与其他平台支持信息。