内容提要
字节跳动的工程师利用Linux内核新特性netkit,通过eBPF优化网络,提升容器间通信效率,性能提高10%。尽管仍在使用旧版内核,但已在多个集群成功部署netkit,确保系统稳定运行。
关键要点
-
字节跳动的工程师利用Linux内核新特性netkit,通过eBPF优化网络,提升容器间通信效率,性能提高10%。
-
netkit是Linux内核6.7中首次发布的网络设备,能够通过eBPF编程,旨在简化容器网络。
-
传统的虚拟以太网(veth)存在瓶颈,导致容器间通信速度慢,需经过两个网络栈。
-
netkit可以在数据包到达网络栈之前拦截并内部路由,从而提高性能并减少CPU使用。
-
字节跳动的多个平台依赖快速性能,包括TikTok、抖音、今日头条等。
-
由于操作限制,字节跳动仍在使用Linux内核5.15,已将eBPF回溯到早期内核以支持netkit。
-
netkit已在多个集群成功部署,且未报告任何事故,确保系统稳定运行。
-
新上线的容器将使用netkit,现有容器继续使用veth,确保无停机时间。
-
字节跳动开发了一个代理来管理主机上的eBPF程序,以便进行内服务器使用。
延伸问答
字节跳动如何利用netkit提升容器间通信效率?
字节跳动通过使用netkit和eBPF优化网络,提升容器间通信效率,性能提高了10%。
什么是netkit,它的主要功能是什么?
netkit是Linux内核6.7中首次发布的网络设备,旨在通过eBPF简化容器网络,提高通信效率。
传统的虚拟以太网(veth)存在哪些问题?
veth存在瓶颈,导致容器间通信速度慢,需要经过两个网络栈,增加了延迟。
字节跳动是如何解决内核版本限制的问题的?
字节跳动将eBPF回溯到早期内核,以支持netkit,同时更新了容器网络接口(CNI)。
netkit的部署情况如何?
netkit已在多个集群成功部署,且未报告任何事故,确保系统稳定运行。
字节跳动在使用netkit时如何确保无停机时间?
字节跳动保持veth在现有容器中使用,新上线的容器则使用netkit,以确保无停机时间。