2.2.1通过Golang+eBPF实现无侵入应用可观测
Dynamically program the kernel for efficient networking, observability, tracing, and security. • 稳定 • 高性能 • 安全(内核verifier机制) • 动态可编程(无需重启) eBPF程序加载和校验 02. eBPF程序加载和校验 eBPF事件驱动 Kprobe/Kretprobe Uprobe/Uretprobe Kubernetes 容器 网络、操作系统、硬件 基础设施层复杂度日益增加 如何关联? 挑战3:数据散落,工具多, 缺少上下文,排查效率低下 业务应用 应用框架 容器虚拟化 系统调用 内核 应用性能监控(APM) Kubernetes监控 Kubernetes组件异常: Scheduler, KCM, etcd,api-server, coredns… 系统调用异常:网络请 求,内存申请,文件操 作,CGroup… 内核异常:进程调度, 内存管理,文件管理, 夯机宕机,资源异 常… 应用组件异常:线程池满,数据库连接无法获取, OOM,文件读取错误… 无法自顶向下端到端 串联导致棘手问题频 发。 Kubernetes下的可观测 Golang + eBPF实现数据采 集 第四部分 eBPF在可观测领域的优势 无侵入 多语言/多协议/多框架 全栈覆盖 无侵入性 • 无需修改代码0 码力 | 29 页 | 3.83 MB | 1 年前3Cilium的网络加速秘诀
��������������������� �������������������� ���������������� ������������������������ Cilium加速网络 性能提升的主要表现: • 不同场景下,不同程度地降低了 网络数据包的“转发延时” • 不同场景下,不同程度地提升了 网络数据包的“吞吐量” • 不同场景下,不同程度地降低了 转发数据包所需的“ redirect 能力,帮 助数据包在主机物 理网卡和pod虚拟 网卡之间快速转发, 能够完全 bypass 内核协议族的处理。 在某测试场景下, 跨节点间的 pod 通 信的 tcp 性能,比 node间应用通信的 tcp 性能还稍高 woker node2 woker node1 pod1 process kernel network stack tc ingress 的地址解 析,并且伪装通信目的地址,让上层应用 无感知 DNAT 的发生 效果: • 集群内访问nodePort、LoadBalancer 的service时,能够减少数据包转发跳 数,极大提高网络性能 • 相比传统 iptables 等 技术,降低了访 问延时。例如在相同环境下,service 数量达到3K,kube-proxy iptables下 的的延时为0.6ms,而cilium的延时为0 码力 | 14 页 | 11.97 MB | 1 年前3
共 2 条
- 1