K8s 网络 CNI / 网络模型 面试问答(精简口述版)

K8s 网络 CNI / 网络模型 面试问答(精简口述版)

Q1:K8s 网络模型四大基本原则(必考)

A:

  1. 所有 Pod 之间可以直接通信,不需要 NAT
  2. 节点上所有 Pod 可以和节点本身直接通信
  3. 节点之间可以直接通信
  4. Pod 访问 Service、Service 访问后端 Pod 会做 NAT(这条是 Service 四层转发,不属于基础 Pod 网络)

Q2:什么是 CNI?

A:Container Network Interface,容器网络接口。是一套标准。
CNI 插件负责给 Pod 分配 IP、配置 Pod 网络。kubelet 创建 Pod 时调用 CNI 插件。
常见插件:Calico、Flannel、Weave。

Q3:CNI 插件做哪些事?

A:创建网络命名空间、创建 veth pair 虚拟网卡、分配 IP、配置路由。Pod 删除时清理网络资源。

Q4:Flannel 原理?

A:Overlay 网络,三层隧道。
每个节点上运行 flanneld;Pod 跨节点通信时,数据包封装在 UDP 包内,通过宿主机网络转发。
优点简单;缺点:没有网络策略,性能一般,适合测试环境。

Q5:Calico 原理?

A:BGP 协议,可 Underlay 也可以 Overlay(IPIP)。
不使用隧道时直接路由;支持NetworkPolicy 网络策略,可以做 Pod 间访问控制。生产最常用。

Q6:NetworkPolicy 网络策略是什么?

A:K8s 原生 Pod 防火墙,控制 Pod 的入 / 出流量。
基于 Pod 标签、命名空间、IP 段来放行 / 拒绝流量。
⚠️ 注意:需要 CNI 插件支持(Calico 支持,Flannel 默认不支持 NetworkPolicy),不配置策略默认全部允许。

Q7:Pod 网络 IP 特点?

A:Pod IP 是集群内唯一 IP。Pod 重建 / 漂移,IP 会变化,所以业务不能依赖 Pod IP,要用 Service。
同一 Pod 内多个容器共享同一个网络命名空间,localhost互通。

Q8:veth pair 是什么?

A:一对虚拟网卡,像一根网线,一端在宿主机网络命名空间,一端在 Pod 网络命名空间。Pod 的流量通过 veth pair 进出。

Q9:Service 和 CNI 网络的关系?

A:CNI 负责 Pod 之间底层连通;Service 是四层负载均衡,由 kube-proxy 在节点上维护 iptables/ipvs 规则,不属于 CNI。

Q10:ClusterIP、PodIP、NodeIP 区别

A:

  • PodIP:Pod 本身 IP,CNI 分配,会变
  • NodeIP:宿主机物理网卡 IP
  • ClusterIP:Service 虚拟 IP,集群内固定,不是真实网卡,由 kube-proxy 维护转发

Q11:Ingress 和 Service 的区别

A:Service 四层 TCP/UDP;Ingress 七层 HTTP/HTTPS,支持域名、路径路由,外部流量入口。Ingress 后端绑定 Service。

Q12:Pod 跨节点不通,排查思路?

A:

  1. 先看 Pod IP 是否正常,CNI 插件 Pod 是否 Running
  2. 同节点 Pod 能不能互通,定位是同节点问题还是跨节点问题
  3. 检查节点防火墙、内核 ip 转发是否开启
  4. Calico:BGP 邻居是否正常;Flannel:隧道是否正常
  5. NetworkPolicy 策略是否拦截流量

Q13:Pod 能 ping 通 PodIP,但访问端口不通,排查?

A:大概率不是底层网络问题:

  1. 应用没监听对应端口
  2. 应用监听在 127.0.0.1,没有监听 0.0.0.0
  3. NetworkPolicy 拒绝端口
  4. Pod 内部防火墙

Q14:ipvs vs iptables(kube-proxy 模式,这里回顾)

A:

  • iptables:纯 iptables 规则,无需额外内核模块。大规模集群规则太多,性能下降。
  • ipvs:内核 ipvs 模块,专门负载均衡,支持多种调度算法,大集群性能更好。

Q15:什么是 Overlay 和 Underlay 网络

A:

  • Underlay:底层物理网络直接路由,Pod 包不封装,性能高,依赖物理网络规划。
  • Overlay:数据包封装,在现有网络之上构建虚拟网络,不依赖底层网络改造,会有少量性能损耗(IPIP/VXLAN)。
posted @ 2026-09-20 11:12  JacobJacob  阅读(17)  评论(0)    收藏  举报