kube-proxy的nftables模式

kube-proxy的nftables模式

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

Kubernetes 1.29引入了nftables模式的kube-proxy,解决了iptables模式的性能问题。nftables通过单一规则和快速查找,显著降低了数据平面和控制平面的延迟,适合大规模集群使用。

🎯

关键要点

  • Kubernetes 1.29引入了nftables模式的kube-proxy,解决了iptables模式的性能问题。

  • nftables通过单一规则和快速查找,显著降低了数据平面和控制平面的延迟,适合大规模集群使用。

  • iptables模式在处理大量服务时,延迟随着服务数量的增加而增加。

  • nftables模式使用'判决映射',实现O(1)的查找时间,处理延迟几乎恒定。

  • nftables允许更增量的更新,避免了iptables模式中每次更新都需要重写所有规则的问题。

  • nftables模式需要较新的Linux内核(5.13或更高),不支持旧版Linux发行版。

  • nftables模式与iptables模式不完全兼容,某些功能的默认行为有所不同。

  • 用户可以通过设置kube-proxy的配置文件来尝试nftables模式。

  • 未来Kubernetes将继续支持iptables模式,IPVS模式的前景不确定,建议用户尝试nftables模式。

延伸问答

nftables模式的kube-proxy有什么优势?

nftables模式通过单一规则和快速查找,显著降低了数据平面和控制平面的延迟,适合大规模集群使用。

如何在Kubernetes中启用nftables模式?

在Kubernetes 1.31及更高版本中,可以通过传递--proxy-mode nftables给kube-proxy或在配置文件中设置mode: nftables来启用。

nftables模式与iptables模式有什么不同?

nftables模式与iptables模式不完全兼容,某些功能的默认行为有所不同,且nftables允许更增量的更新。

使用nftables模式需要什么样的系统要求?

nftables模式需要较新的Linux内核(5.13或更高),不支持旧版Linux发行版。

nftables模式的更新效率如何?

nftables模式允许更增量的更新,更新的大小仅与自上次同步以来更改的服务和端点数量成正比。

nftables模式是否稳定?

nftables模式的代码相对较新,虽然经过测试,但尚未经历与iptables模式相同的广泛实际使用,因此稳定性可能不如iptables。

➡️

继续阅读