字节跳动利用netkit网络连接百万个容器

字节跳动利用netkit网络连接百万个容器

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

字节跳动的工程师利用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,以确保无停机时间。

➡️

继续阅读