2.2.1通过Golang+eBPF实现无侵入应用可观测com/p/507388164 微服务可观测的挑战 第三部分 微服务可观测的挑战 应用:微服务架构、多语言、多协议 挑战1:微服务、多语言、多协议环境下,端到端观测 复杂度上升,埋点成本居高不下 Kubernetes 容器 网络、操作系统、硬件 基础设施层复杂度日益增加 如何关联? 挑战3:数据散落,工具多, 缺少上下文,排查效率低下 业务应用 应用框架 容器虚拟化 系统调用 内核 应用性能监控(APM) Kubernetes下的可观测 Golang + eBPF实现数据采 集 第四部分 eBPF在可观测领域的优势 无侵入 多语言/多协议/多框架 全栈覆盖 无侵入性 • 无需修改代码 • 无需重启应用 • Verifier保证运行安全 多协议、多框架、多语言 • 捕获网络字节流 • 无需适配编程语言 • 无需适配协议框架 • 同时支持用户态插桩 全栈覆盖 ✅ uprobe 依靠运行时汇编,将整个大型LLVM/Clang 库带入并嵌入其中 编译过程中资源用量大,对Cpu、Mem有要求 依赖内核的头包 bpf 程序跟其他的用户空间的程序没有太大区别 编译成二进制文件,可以适应不同运行环境 libbpf 扮演bpf程序装载机角色 开发人员只需要关注bpf程序的正确性和性能,不 需要关注其他依赖关系 通过Golang加载eBPF程序 01. 副标题 func loadSync()0 码力 | 29 页 | 3.83 MB | 1 年前3
Cilium的网络加速秘诀10 ,cilium github 项目已有 9.3K star,Contributors 316位 cilium的特色功能: • 网络功能 • 负载均衡 • 网络安全 • 可观察性 • 多集群连通 注:本 PPT 基于 cilium v1.10.4 进行分析 ��������������� ��������������� �������������������� �������������������� 效果: • 集群内访问nodePort、LoadBalancer 的service时,能够减少数据包转发跳 数,极大提高网络性能 • 相比传统 iptables 等 技术,降低了访 问延时。例如在相同环境下,service 数量达到3K,kube-proxy iptables下 的的延时为0.6ms,而cilium的延时为 0.3ms XDP 加速南北向 nodePort 访问 cilium 借助 sock_opt sk_msg msg_redirect() identity技术应用于网络policy 传统基于 IP 来实现 policy过 滤,不足: • 一条过滤规则可能需要记录诸 多的CIDR • endpoint身份和 IP 地址耦合, 如 pod 重启后 IP 发生变化, 整集群可能需要同步 信息,刷 新 OVS 流表或者 ipset 规则 • 大规模的 policy ,会一定程度0 码力 | 14 页 | 11.97 MB | 1 年前3
共 2 条
- 1













