大规模微服务利器:eBPF 与 Kubernetes
Daniel 是 eBPF 两位 maintainer 之一,目前在 eBPF commits 榜单上排名第一,也是 Cilium 的核心开发者之一。 本文内容的时间跨度有 8 年,覆盖了 eBPF 发展的整个历史,非常值得一读。时间限制, Daniel 很多地方只是点到,没有展开。译文中加了一些延展阅读,有需要的同学可以参考。 eBPF 正在吞噬世界 Kubernetes 已经是云操作系统 Kubernetes 正在吞噬世界(eating the world)。越来越多的企业开始迁移到容器平台上 ,而 Kubernetes 已经是公认的云操作系统(Cloud OS)。从技术层面来说: Linux 内核是一切的坚实基础,例如,内核提供了 cgroup、namespace 等特性。 Kubernetes CNI 插件串联起了关键路径(critical path)上的组件。例如,从网络的 视角看,包括: 广义的 Pod 连通性:一个容器创建之后,CNI 插件会给它创建网络设备,移动到容 器的网络命名空间。 IPAM:CNI 向 IPAM 发送请求,为容器分配 IP 地址,然后配置路由。 Kubernetes 的 Service 处理和负载均衡功能。 网络策略的生效(network policy enforcement)。 监控和排障。 两个清晰的容器技术趋势