llm-wiki wiki · sources 2026-06-14

原文:raw/apiserver-network-proxy-architecture-analysis.md · 仓库:https://github.com/kubernetes-sigs/apiserver-network-proxy · 优先级 P1

一句话定位

apiserver-network-proxy 通过 konnectivity server/agent 建立 apiserver 到节点网络的反向隧道,适合托管集群或私有节点网络。

核心架构图

┌────────────────────────────────────────────────────────────────────────────┐
│ Control-plane egress need                                                  │
│ API server must reach nodes, kubelets, or services across private network  │
│ boundaries.                                                                │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ apiserver-network-proxy                                                    │
│ Server and konnectivity agents maintain gRPC tunnels between control plane │
│ and cluster network.                                                       │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ API server integration                                                     │
│ Egress selector routes selected traffic through the proxy path.            │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Runtime boundary                                                           │
│ Managed or private clusters expose kubelet and service access without      │
│ direct network reachability.                                               │
└────────────────────────────────────────────────────────────────────────────┘

模块分层

层 / 模块 职责
Server control-plane side proxy
Agent node/cluster side tunnel
gRPC streams multiplexed connections
Integration apiserver egress selector

关键数据流

agent 从节点侧连到 server
        │
        ▼
apiserver 需要访问 kubelet/service
        │
        ▼
请求进入 konnectivity server
        │
        ▼
通过 agent tunnel 转发到目标
        │
        ▼
响应回传给 apiserver

设计决策与哲学