字节跳动开源 Kelemetry:面向 Kubernetes 控制面的全局追踪系统
💡
原文中文,约6100字,阅读约需15分钟。
📝
内容提要
Kelemetry是字节跳动开发的用于Kubernetes控制平面的追踪系统,通过可视化K8s系统内的事件链路,使得Kubernetes系统更易观测、理解和Debug。Kelemetry采用对象作为跨度,连接不同组件的可观察性数据,展示相关数据。它收集审计日志和事件数据,并关联起来。Kelemetry支持转换流水线,提供更好的用户体验。未来增强包括自定义追踪源和批量分析。用户可通过GitHub上的开源项目尝试Kelemetry。
🎯
关键要点
- Kelemetry是字节跳动开发的Kubernetes控制平面的追踪系统,旨在提高Kubernetes的可观测性和调试能力。
- Kelemetry通过可视化事件链路,串联多个Kubernetes组件的行为,追踪对象的完整生命周期。
- 传统的分布式追踪模型在Kubernetes中不适用,因为Kubernetes API是异步和声明式的,缺乏直接的因果关系。
- Kelemetry以组件无关的方式收集和连接不同组件的信号,解决可观察性数据孤岛的问题。
- Kelemetry将对象作为跨度,创建对象的层次结构和事件范围,提供更清晰的追踪视图。
- 审计日志和事件是Kelemetry的主要数据源,帮助理解控制器之间的交互。
- Kelemetry使用分布式KV存储来管理追踪数据,确保每个对象只创建一个追踪。
- Kelemetry支持多种转换流水线,以提高用户体验和追踪的可读性。
- Kelemetry能够监视多个集群的事件,支持跨集群组件的追踪。
- 未来增强包括自定义追踪源和批量分析,以提供更全面的系统视图和性能洞察。
- Kelemetry已在GitHub上开源,用户可以尝试与其组件的交互。
➡️