指令层:kubectl → API Server → kubelet(发起者);
网络层:Calico CNI(分配 IP)→ etcd(存 IP 信息)→ confd(同步配置);
执行层:Felix(本机路由 / 网络配置)→ BIRD(集群路由同步);
载体层:pause 容器(承载 Pod 网络命名空间)。

我只帮你把最精准的角色关系捋顺,你就彻底闭环了:

kubectl = 发号施令的老大,只说「创建 Pod」kubelet = 每个节点的小弟,负责落地创建 Pod↓小弟(kubelet)干活时,调用本节点的 CNI 网络插件CNI 负责:分配 Pod IP → 把 IP 信息注册到 etcd↓confd 盯着 etcd → 把配置同步给本节点的 FelixFelix 负责:在本机写好路由表↓本节点的 BIRD把 Felix 的路由表同步给集群里所有其他节点的 BIRD↓所有节点都知道:这个 Pod IP 在哪台机器上跨节点 Pod 就能互通了

kubectl 下令 → kubelet 执行 → CNI 分 IP 存 etcd → Felix 写本地路由 → BIRD 全集群同步路由

更多推荐