深度解析|基于 eBPF 的 Kubernetes 一站式可观测性系统

阿里云推出了一款面向Kubernetes的可观测性系统,利用eBPF技术解决Kubernetes环境下复杂架构、多语言和多协议带来的运维难题。该系统支持无侵入的数据采集,构建全局拓扑,降低运维难度。产品核心功能包括架构感知、错慢请求分析等,通过端到端可观测性解决思路,提供全面的可观测性覆盖。
摘要由CSDN通过智能技术生成

摘要

阿里云目前推出了面向 Kubernetes 的一站式可观测性系统,旨在解决 Kubernetes 环境下架构复杂度高、多语言&多协议并存带来的运维难度高的问题,数据采集器采用当下火出天际的 eBPF 技术,产品上支持无侵入地采集应用黄金指标,构建成全局拓扑,极大地降低了公有云用户运维 Kubernetes 的难度。

前言

背景与问题

当前,云原生技术主要是以容器技术为基础围绕着 Kubernetes 的标准化技术生态,通过标准可扩展的调度、网络、存储、容器运行时接口来提供基础设施,同时通过标准可扩展的声明式资源和控制器来提供运维能力,两层标准化推进了细化的社会分工,各领域进一步提升规模化和专业化,全面达到成本、效率、稳定性的优化,在这样的背景下,大量公司都使用云原生技术来开发运维应用。正因为云原生技术带来了更多可能性,当前业务应用出现了微服务众多、多语言开发、多通信协议的特征,同时云原生技术本身将复杂度下移,给可观测性带来了更多挑战:

1、混沌的微服务架构

业务架构因为分工问题,容易出现服务数量多,服务关系复杂的现象(如图 1)。

图 1 混沌的微服务架构(图片来源见文末)

这样会引发一系列问题:

  • 无法回答当前的运行架构;
  • 无法确定特定服务的下游依赖服务是否正常;
  • 无法确定特定服务的上游依赖服务流量是否正常;
  • 无法回答应用的 DNS 请求解析是否正常;
  • 无法回答应用之间的连通性是否正确;
  • ...

2、多语言应用

业务架构里面,不同的应用使用不同的语言编写(如图 2),传统可观测方法需要对不同语言使用不同的方法进行可观测。

图 2 多语言(图片来源见文末)

这样也会引发一系列问题:

  • 不同语言需要不同埋点方法,甚至有的语言没有现成的埋点方法;
  • 埋点对应用性能影响无法简单评估;

3、多通信协议

业务架构里面,不同的服务之间的通信协议也不同(如图 3),传统可观测方法通常是在应用层特定通信接口进行埋点。

图 3 多通信协议

这样也会引发一系列问题:

  • 不同通信协议因为不同的客户端需要不同埋点方法,甚至有的通信协议没有现成的埋点方法;
  • 埋点对应用性能影响无法简单评估;

4、Kubernetes 引入的端到端复杂度

复杂度是永恒的,我们只能找到方法来管理它,无法消除它,云原生技术的引入虽然减少了业务应用的复杂度,但是在整个软件栈中,他只是将复杂度下移到容器虚拟化层,并没有消除(如图 4)。

图 4 端到端软件栈

这样也会引发一系列问题:

  • Deployment 的期望
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值