考点精讲
- Kubernetes 本身并不提供 Pod 之间的网络实现,它只定义了一套网络模型和接口标准,具体联网能力要由符合 CNI(Container Network Interface)规范的网络插件提供。常见的插件有:Calico(网络策略能力强,适合有安全隔离需求的场景)、Flannel(配置简单、上手快)、Weave、Cilium(基于 eBPF,性能与可观测性强)等。安装插件后,各节点的 Pod 才能跨节点互通。部署完成后的测试也很关键:用 kubectl get nodes 确认所有节点处于 Ready 状态,再部署一个测试 Pod 验证网络连通性。若节点一直 NotReady 或 Pod 一直 Pending,首先排查网络插件是否已就绪。
记忆技巧
常见误区
真题思路
- 【示例】本页题目为教学模拟题,非真题,仅用于讲解答题思路 Kubernetes 集群中负责实现 Pod 跨节点网络、符合 CNI 规范的组件是?
kube-scheduler etcd 网络插件(如 Calico/Flannel) kube-apiserver
答案:C
解析:K8s 本身不实现 Pod 网络,需由 CNI 网络插件(Calico、Flannel 等)提供;调度器、etcd、apiserver 都与网络实现无关。
常见问题
Q:不装 CNI 插件能部署应用吗
A:不能,Pod 无法获得网络、会一直处于 Pending,节点也可能 NotReady。
Q:Calico 和 Flannel 怎么选
A:需要网络策略隔离选 Calico;追求简单快速可选 Flannel。
Q:节点 NotReady 先查什么
A:优先查网络插件(CNI)是否已部署并正常运行。
相关知识
教材出处:第4章 Kubernetes安装和配置 选择网络解决方案与部署测试