Cilium的网络加速秘诀
pod在跨节点通 信的场景下, cilium 借助 eBPF redirect 能力,帮 助数据包在主机物 理网卡和pod虚拟 网卡之间快速转发, 能够完全 bypass 内核协议族的处理。 在某测试场景下, 跨节点间的 pod 通 信的 tcp 性能,比 node间应用通信的 tcp 性能还稍高 woker node2 woker node1 pod1 process cgroup ebpf service DNAT connect sendmsg recvmsg getpeername bind cilium的Host-Reachable 技术,利 用eBPF程序,拦截应用在内核connect 、 sendmsg、 recvmsg 、getpeername 、 bind等系统调用,实现 service 的地址解 析,并且伪装通信目的地址,让上层应用 nodePort 提供了 native 和 IPIP 等方式的 DSR (direct server return)实现,有效减 少了网络转发的跳数,极大提升了 nodePort的转发性能,降低访问延时。 相关测试表明: • kube proxy iptables模式下,请求完 成时间 1.6ms ,connect 时间 0.9 ms • Cilium DSR模式下,请求完成时间 1ms,connect时间00 码力 | 14 页 | 11.97 MB | 1 年前32.2.1通过Golang+eBPF实现无侵入应用可观测
挑战1:微服务、多语言、多协议环境下,端到端观测 复杂度上升,埋点成本居高不下 Kubernetes 容器 网络、操作系统、硬件 基础设施层复杂度日益增加 如何关联? 挑战3:数据散落,工具多, 缺少上下文,排查效率低下 业务应用 应用框架 容器虚拟化 系统调用 内核 应用性能监控(APM) Kubernetes监控 Kubernetes组件异常: Scheduler, KCM, etcd,api-server 更稳定 无侵入 异常监控 持续剖析 what’s new: 应用监控eBPF版 • eBPF Agent性能提升20% • Otel Collector 性能提升80% • 无需要修改任何业务代码,一键接入eBPF监控 • 语言无关、框架无关、协议无关 无侵入的应用可观测 eBPF是一种在Linux内核运行的沙盒程序,无需修改 任何应用代码,提供无侵入的应用无关、语言无关、 框架无0 码力 | 29 页 | 3.83 MB | 1 年前3
共 2 条
- 1