- 实现机制不同
- iptables:基于 Linux 内核 Netfilter,通过纯规则链匹配实现 Service 负载均衡。
- IPVS:基于内核 IPVS 模块,使用哈希表管理服务与后端,查询效率更高。
- 性能差异巨大
- iptables:服务增多时规则线性增长,匹配效率O(n),大规模集群易卡顿。
- IPVS:查找效率O(1),高并发、上万 Service 下依然稳定。
- 负载均衡策略
- iptables:仅支持随机、轮询,策略单一。
- IPVS:支持 rr、lc、dh、sh 等多种负载算法,支持会话亲和。
- 转发效率
- iptables:规则全量更新,频繁增删 Service 时性能抖动明显。
- IPVS:增量更新后端,转发路径短、开销更低。
- 适用场景
- iptables:实现简单、稳定,适合小规模集群。
- IPVS:性能更强、功能更丰富,适合中大规模、高并发 K8s 集群。
一句话总结
iptables 简单稳定但规模大时性能差;IPVS 基于哈希表、转发更快、策略更多,是大规模集群的首选模式。
