《2021 阿里云可观测技术峰会演讲实录合辑(下)》——二、 基于eBPF的Kubernetes可观测实践【上】

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 《2021 阿里云可观测技术峰会演讲实录合辑(下)》——二、 基于eBPF的Kubernetes可观测实践【上】

作者:刘洋

 

可观测是为了解决问题,所以在聊可观测之前,应先对问题排查的普适原则进行了解。

image.png

以排查系统问题为例,要理解系统,要先关注基础知识,理解编程语言基本的计算机科学知识,关注系统大图比如架构部署和重大流程,要关注运行细节,要对核心功能的算法和数据结构了然于心,还要关注系统的运维工具,能够了解发布、回滚和监控。

 

在理解的基础上,还要能够复现问题,主要关注问题发生的触发条件以及问题发生时数据现场的保留,包含指标、链路、日志、事件等。

 

有了现场再加之对于系统的,才可以定位问题。通过现场保留的数据,进行关联分析;基于理解,可以快速用二分定位到根因。在定位的过程中,尤其要关注变更,因为有大量的系统问题是由变更导致的。

 

确定根因后再进行修复,既要治标也要治本,并且要充分验证,确保不引入新的问题。

 

以上为问题排查的普适原则,它不仅适用于系统问题的排查,也可以应用到生活的方方面面。

 

而可观测使得问题排查的过程更加高效、稳定、低成本。它能够帮助我们理解系统,出现问题的时候能够留下足够多的现场,能够使数据之间很方便地进行关联,帮助我们做二分的关联分析,最终还可以验证修复是否正确。

image.png

复杂度是恒定的,它不会消失,只会转移。我们构建的编程语言、编程框架、容器操作系统都只是将复杂度关在合适的地方。如果一切运行正常,皆大欢喜;而一旦出现问题,就是灾难。复杂度不断下沉的趋势使得可观测面临了很大的压力。K8s 的流行使得微服务架构十分普及,多语言、多通信协议成为常态,这也在另一方面带了挑战。

 

挑战1:端到端观测复杂度上升,埋点成本居高不下。然而这只是冰山一角,有大量能力下沉到 kubernetes 管控层、容器运行层、网络和操作系统层面,这些基础设施能力的下沉带来了很大挑战

挑战2:由于关注点的分离,使得应用问题与底层问题无法自顶向下形成关联

挑战3:虽然有很多工具,但是上下文缺失、数据散落,导致无法通过这些数据很好地理解应用,因为现场的缺失无法关联,而使问题排查效率低下。

 

可观测需要有统一的技术来解决自身的复杂度。

image.png

从一开始,内核就是可观测的绝佳位置,然而由于效率和安全问题一直无法实现。经过多年发展,eBPF技术为可观测打开了新的大门。

 

eBPF是一项可以安全地在内核中运行沙盒程序的技术,无需修改代码即可在内核用户态程序事件发生时运行。它具备以下特性:

 

无侵入特性:观测成本极低,应用无需修改任何代码,也无需重启进程

动态可编程性:无需重启探针,动态下发eBPF脚本即可修改探针侧的逻辑

高性能:自带JIT编译,使探针能够获得内核本地运行的效率

安全:verifier机制限制了eBPF脚本能够访问的内核函数,保证内核运行的稳定。

 

除了这些令人振奋的特性外,eBPF的使用流程也非常方便。以监控、应用、性能为例,只需要加载编译eBPF程序监听网络的内核事件,解析网络协议,然后聚合成指标,输出Trace即可。


接下篇:

https://developer.aliyun.com/article/1222962?groupCode=alisoftwaretech

 

 

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6天前
|
运维 Kubernetes 监控
Kubernetes 集群的持续性能优化实践
【4月更文挑战第26天】 在动态且不断增长的云计算环境中,维护高性能的 Kubernetes 集群是一个挑战。本文将探讨一系列实用的策略和工具,旨在帮助运维专家监控、分析和优化 Kubernetes 集群的性能。我们将讨论资源分配的最佳实践,包括 CPU 和内存管理,以及集群规模调整的策略。此外,文中还将介绍延迟和吞吐量的重要性,并提供日志和监控工具的使用技巧,以实现持续改进的目标。
|
11天前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化实践
【4月更文挑战第22天】在动态且复杂的微服务架构中,确保 Kubernetes 集群的高性能运行是至关重要的。本文将深入探讨针对 Kubernetes 集群性能优化的策略与实践,从节点资源配置、网络优化到应用部署模式等多个维度展开,旨在为运维工程师提供一套系统的性能调优方法论。通过实际案例分析与经验总结,读者可以掌握持续优化 Kubernetes 集群性能的有效手段,以适应不断变化的业务需求和技术挑战。
|
2天前
|
测试技术 块存储 开发者
阿里云块存储团队软件工程实践
本文介绍了阿里云团队软件工程实际开发流程,并简述了开发过程中遇到的一些问题。且附带案例,以及遇到案例中出现的情况应当如何应对。
|
7天前
|
存储 Kubernetes 监控
Kubernetes 集群的持续性能优化实践
【4月更文挑战第25天】 在动态且不断变化的云计算环境中,维护 Kubernetes 集群的高性能是一个挑战。本文将探讨一系列实用的策略和方法,用于持续监控和优化 Kubernetes 集群的性能。通过分析真实案例,我们将展示如何识别瓶颈,采取相应的优化措施,并实现自动化以简化运维工作。这些方法将帮助读者提高其 Kubernetes 环境的稳定性和效率,同时降低运营成本。
|
17天前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化实践
【4月更文挑战第16天】 随着容器化技术的普及,Kubernetes 已成为管理微服务架构的首选平台。但在动态变化的负载环境中保持高性能并非易事。本文将探讨一系列实用的 Kubernetes 集群性能优化策略,旨在帮助运维工程师识别和解决潜在的性能瓶颈。通过对存储、计算资源分配、网络配置以及集群规模管理的深入分析,我们将提供一套综合的性能调优框架,以支持高效、稳定的服务运行。
|
17天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
481 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
9天前
|
存储 运维 Kubernetes
Kubernetes 集群的监控与维护策略
【4月更文挑战第23天】 在微服务架构日益盛行的当下,容器编排工具如 Kubernetes 成为了运维工作的重要环节。然而,随着集群规模的增长和复杂性的提升,如何确保 Kubernetes 集群的高效稳定运行成为了一大挑战。本文将深入探讨 Kubernetes 集群的监控要点、常见问题及解决方案,并提出一系列切实可行的维护策略,旨在帮助运维人员有效管理和维护 Kubernetes 环境,保障服务的持续可用性和性能优化。
|
21天前
|
运维 Kubernetes 监控
Kubernetes 集群的监控与维护策略
【4月更文挑战第12天】在微服务架构日益普及的当下,Kubernetes 作为容器编排的事实标准,承载着运行和管理大量服务的重要职责。本文将深入探讨 Kubernetes 集群的监控要点,并提出一系列切实可行的维护策略,旨在帮助运维人员确保集群的稳定性和性能优化。
|
23天前
|
Kubernetes 搜索推荐 网络协议
使用 kubeadm 部署 Kubernetes 集群(三)kubeadm 初始化 k8s 证书过期解决方案
使用 kubeadm 部署 Kubernetes 集群(三)kubeadm 初始化 k8s 证书过期解决方案
37 8
|
2天前
|
运维 Kubernetes 监控
Kubernetes 集群的监控与维护策略
【4月更文挑战第30天】 在现代云计算环境中,容器化技术已成为应用程序部署和管理的重要手段。其中,Kubernetes 作为一个开源的容器编排平台,以其强大的功能和灵活性受到广泛欢迎。然而,随之而来的是对 Kubernetes 集群监控和维护的复杂性增加。本文将探讨针对 Kubernetes 集群的监控策略和维护技巧,旨在帮助运维人员确保集群的稳定性和高效性。通过分析常见的性能瓶颈、故障诊断方法以及自动化维护工具的应用,我们将提供一套实用的解决方案,以优化 Kubernetes 环境的性能和可靠性。

相关产品

  • 容器服务Kubernetes版