容器服务Kubernetes场景下可观测体系生产级最佳实践

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 阿里云容器服务团队在2024年继续蝉联Gartner亚洲唯一全球领导者象限,其可观测体系是运维的核心能力之一。该体系涵盖重保运维、大规模集群稳定性、业务异常诊断等场景,特别是在AI和GPU场景下提供了全面的观测解决方案。通过Tracing、Metric和Log等技术,阿里云增强了对容器网络、存储及多集群架构的监控能力,帮助客户实现高效运维和成本优化。未来,结合AI助手,将进一步提升问题定位和解决效率,缩短MTTR,助力构建智能运维体系。

K8s的容器化带来了灵活的调度,例如快速的故障自愈,但也带来了诸多复杂度。对于很多客户团队(如infer团队或CTO)而言,成败在于是否能够利用手段构建运维体系。可观测性是构建运维体系的核心能力之一。阿里云容器服务团队在2024年gaterner继续蝉联亚洲唯一的全球领导者象限。根据2022年Forrester分析师报告,可观测是整个容器平台里是最重要的运维核心能力之一,该报告对阿里云容器服务可观测体系给予了很高评价,这也说明了可观测在整个运维体系中具有非常核心的地位。


本次分享主要分为四个部分。首先介绍容器服务的可观测体系概要以及产品能力简要说明;然后重点分享近年在容器场景下一些重点领域的新建设;在近年的场景,我们的客户随着AI的浪潮等等我们也有更多重点临领域新的建设。这些建设在今天的分享也会进行汇报。接着阐述可观测体系如何承担提供数据价值驱动力的责任,我们会通过可观测提供客户ops体系的一些能力。

 

一、可观测体系在容器场景中的作用及典型应用场景

1.场景一:重保运维场景

阿里云容器服务团队(ACK)为2024年巴黎奥运会提供了基础设施服务,例如网红的子弹时间特效以及多个核心的巴黎奥运会线上系统。底层的运维体系和观测能力由容器服务和可观测团队的观测体系支撑,最终顺利支持了巴黎奥运会线上系统的平稳运行。


除了已有的运维体系和为他们提供稳定的运维系统(包括红绿灯式的低频首屏大盘和基于专家经验沉淀的报警体系),今年还面临实时GPU生产环境的更多异构场景挑战。


2. 场景二:生产级大规模集群稳定性实践

当应用跑在大规模集群上时,集群的稳定性需要经受考验。这是一个头部电商在大促活动时的流量洪峰集群servers的例子,容器化架构增加了一层容器层,也增加了运维复杂度。阿里云容器服务增强了对容器层本身集群稳定性的观测能力进行了增强,尽量做到透明化容器层的运维,让用户在容器层能体会到像在IDC上直接构建应用的透明化体验。此场景对可观测体系的能力挑战是全方位的,包括场景覆盖度以及应急响应时如何快速发现异常。这两个场景是可观测最重要的场景。


3.场景三:业务异常诊断场景

日常业务异常诊断是每天都需要可观测体系帮助解决的问题。这幅图以一个线上系统发生异常时的排查链路为例,通过阿里云可观测体系的多个产品串联,最终通态闭环解决问题的过程图。可以看到,我们从报警出发,经过逃逸或调度快速止血,然后查看网关流量影响的用户SOA,通过多维度的普罗米修斯定位问题实体,再通过SOS的日志分析能力进入业务查看问题所在,最终通过tracing代码级的调整定位问题。大部分问题基本都是代码问题,最终通过修复代码终态的修复问题。此场景对可观测的端到端覆盖能力是一个很大的考验。

 

二、容器场景可观测体系大图

1.数据分层与对应方案

在左侧的图片里自上而下越上层的越靠近里面的业务,越下层越靠近基础设施。可以看到最上层,如果你用的是如网格或微服务架构,我们提供与业务层直接耦合的tracing方案,支持OPEN以及DPF的无侵入式,甚至具备更强大的profiling能力,还有侵入式的加法agent的APM。中间层也是日常运维比较重要的容器监控层。我们follow flink的开原社区提供标准的普罗米修斯生态,在此基础上增强了普罗米修斯在容器方方面面重点领域的指标监控能力,如AI场景的异构GPU观测能力以及容器存储、容器网络等。操作系统层是今年整个体系中增强的部分。由于生产系统的很多问题可能来自对基础设施的不可控,操作系统是一个非常复杂的系统,需要ninacs专家经验才能诊断的层级。而在容器化架构里,操作系统在容器层之下,通过eBPF技术推出了SysOM类合集的容器监控,可以透出操作系统层的观测信息;在网络场景,也需要内合集端到端的观测能力,通过APGF技术透出了CuxS这一容器场景的网络诊断工具集。最下面是统一了阿里云基础设施层的所有观测能力,提供了所有阿里云统一一致性体验。


2.数据链路与增值场景

通过强大的可观测团队的观测服务能力,提供Tracing、Metric和Login。利用日志服务的强大查询和分析能力以及普罗米修斯的多维度数据实时统计,得到增值场景的价值,发挥观测数据的数据驱动力。


上层两层涉及大家经常遇到的集群和应用的健康状态运维,提供业务的更新分析以及结合K8s的网关控制流量能力进行流量控制和管理。还包括集群本身稳定性的运维,增强了KMS控制面的稳定性,提供更具SOA托管集群保障,让业务流程更安全,同时提供集群的异常诊断和容量规划等功能,帮助客户在业务更新的时候更好的进行容量规划。


集群优化的分析是今年着重建设的增值场景,观测数据可用于分析和决策业务,包括安全性和成本等方面。比如云析产品,当你购买了集群上但我动态调度业务,这些业务所需要的成本都需要观测进行降本增效,最终实现集成的高可靠性。因为容器场景包括了弹性HPAotomation的能力,还可以与资源管控相结合,利用观测数据进行自动化和弹性方面的集成,支持通过自定义Metric或业务Metric进行弹性HPA,根据业务流量弹性实现自动化运营。同时支持观测数据的集成能力,通过观测数据方便客户构建数据消费体系和运维体系。


3.事件体系与指标体系

如图所示的事件是最直接透出异常和报警信息的链路通道。阿里云容器服务团队在社区原有的K8s事件体系上分层增强,让事件体系下探到基础设施层甚至操作系统层。


在指标体系方面,借助强大的阿里云普罗米修斯产品,能够完全统一在普罗米修斯协议上,看到阿里云的整个分层监控,包括容器层上层的业务层、中间件以及云产品层所有指标的统一监控,都可以通过普罗米修斯为用户提供一致的监控。最终使用户看到所有指标均在普罗米修斯。在ACK服务领域所有服务都在普罗米修斯,达到了一致性的用户体验。同时,我们提供开箱级的预支大盘,同领域的预支大盘也迎来升级,通过技术的支持和沉淀,我们继续迭代了不同领域的预支大盘。完全不同但心新买的ACK集群对K8S不熟悉,我们已经为用户提供开箱即用的重点领域观测大盘,为客户提供运维经验的沉淀。


在集群本身的稳定性方面,为ACK托管集群提供SAV保障,通过建设更深层的观测链路,透明化组件的健康状态,通过预制contral大盘让用户清晰看到托管组件的运行状况。


4.tracing体系

tracing体系离用户业务层最近,提供三个档位的解决方案。第一个是无侵入式的eBPF技术,使得你的tracing反感无门槛,它支持低Overcade,无侵入地获取整个集群里所有应用网络和端到端的调用方面的基本容器监控能力。这是我们推出的基于EGPF的急基础应用能力。第二个是全面拥抱Open Telemetry协议,通过Open Tracing协议接入的数据,能通过调用链分析服务接入并监控应用的tracing数据。第三个是新入室且运用更强大Providing能力的APM能力,在jiava如今年新推出的Golang预编译的APM能力,虽侵入代码但提供更强大的profiling应用监控能力。得益于EGPF的技术越来越成熟,已经广泛应用到了产品和产品能力商。EGP能够为我们提供无侵入式而且能够深入到内核层低功耗的应用监控能力。它能支持各类场景包括集群top感知,无侵入的完整观测整个集群的网络状况。以及下钻查看一些细节,比如pod和pid之间进程之间的端到端的网络情况。

 

三、重点场景ACK可观测能力介绍

今天的重点在于汇报我们在新的时代比如AI浪潮下的一些新的重点场景。如何分离出观测解决方案解决新的问题。


1.AI场景

(1)AI场景的可观测需求

随着容器场景与AI的紧密结合(K8s也是AI的主要架构,如大模型,甚至是AI训练),客户对生产环境的要求从能跑就行变为有高SOAP要求。总结出AI场景对可观测的需求如下:


第一GPU昂贵且坏卡率较高,需要进行坏卡检测,结合容器服务比如节点不能使用,里面的训练任务需要逃逸或调度来保证AI生产环境业务不间断。第二AI训练任务有高时效性要求,如拿到样本需在两小时内出报告结果,需要高时效性高交付能力,对生产环境提出的要求。通过观测能力提供运维体系保障是第二ai生产系统稳定性保障的强要求。第三,模型调优。在容器场景更复杂的情况下进行模型调优,如何使用GPU进行AI推理,甚至要在这个场景上进行参数的调优,这也是新挑战。


(2)AI场景的解决方案

现在我们能够粗略地讲ai容量架构通过分层,阿里云通过AI套件为客户提供在容器场景上使用AI和GPU调度任务的全套生命周期解决方案。用户可通过AI套件接入任务,同时背后需要配套完备的可观测体系保障环境稳定性。这里我们做到了从底层GPU资源层SLAMIg或者AM K8S这些解决方案的配套完成能力。


2.GPU场景

(1)容器场景的GPU观测能力

在产品上,提供开箱即用的GPU集群和监控大盘,我们有团队的GPU专家进行GPU换卡及节点上GPU状态的实时坏卡检测,能做到一定程度的任务自愈,对于硬件问题可结合K8s进行重调度或逃逸,迁移或驱逐关键推理任务,保证AI业务不中断。GPU很昂贵,但是我们还提供对GPU资源的容器分账能力以及40多种细致的GPU指标,帮助在容器化场景进行大模型任务的细致调参。


进一步地,我们还提供更精细化的GPU观测能力。通过eBPF技术支持实时的GPU profiling,提供无侵入式轻量级且低Overhead的GPU任务profile能力,贯穿宿主基层、内核、Cuda、NCCL以及上层的patach。帮助数据科学家快速诊断GPU任务运行时的异常耗时。接下来是GPUprofiling的时序耗时图,从底层到HIGHTACH上层,中间包括cudda,可以看到在某个时刻大模型任务,如impoch到几十个突然卡住或者是缓慢的根源。


3.容器网络场景

(1)容器网络问题的挑战

容器网络问题的定位流程长,时间跨度大,对网络经验要求高,且存在网络问题现场易消失等情况,是团队经手的最复杂场景。专家也需要花费很多时间帮助解决线上用户网络的问题。


(2)容器网络场景的解决方案

团队推出了K8S网络问题诊断工具集KubeSKoop,在容器服务产品里通过latersport组件为用户提供能力。它能解决容器网络联通不通的问题,kubeskoop提供端到端全链路覆盖的联通性检查能力。由于容器服务的架构非常复杂,所以他需要做到端到端的网络联通性覆盖的检查,同时利用阿里云普罗米修斯产品,可把网络监控的数据切片式存储,通过历史数据访问回溯,能够还原当时网络问题的现场,甚至绘制出整个集群当时的网络拓扑关系图,解决容器网络问题现场丢失的窘境。对于网络延迟,在联通性检查的基础的基础上,能通过端到端的联通性检查进一步进行网络延时的探查和具体位置诊断。对于抓包问题,由于k8s容器场景的特殊性,抓包需要分布式在多个节点上并行进行,kubeskoop提供了在容器场景上完整端到端抓包以及还原网络传输调用完整链路的诊断能力。此工具基于eBPF技术,是今年在cogcom香港场上发布的kubeskoop通过EGPF技术,低功耗内核级网络诊断工具。


4.容器存储场景

(1)容器存储的问题与需求

容器存储在容器场景中经常遇到问题,如写入IO等异常导致存储异常,需要对观测能力提出要求以帮助诊断。还包括容量规划和生产环境的存储介质选型问题,以及极端场景高吞吐量的性能优化需求。


(2)容器存储场景的解决方案

通过CSI统一的容器标准接入方案统一了各种容器介质的接入,同时实现CSI的增强,提供统一和增强的监控和观测能力。通过普罗米修斯和SSK8S事件,结合日志服务提供了全套统一的普罗米修斯和事件日志的增强来支持上层有状态的存储方案的容器存储监控能力。


对于多集训的AI训练对各种容器存储的IO有非常高吞吐量需求消耗,大规模的存储计算也对此又非常高的要求,而我们增强的实践观测能力能观测到毛刺或高层流量,帮助进行存储介质和方案的选型。

去年和操作系统团队提供了CSO内核机的观测能力,经过一年打磨解决了很多容器化问题,如内存黑洞。比如JAVA很容易产生超出JAVAM的JAVACATH,导致POTAM,通过一年的打磨现在CSO已经解决了很多线上客户容器化问题。通过CCM的内存和内合集的内存剖析,能清晰看到内核的消耗来源,结合codinated混布方案能更精细化地无侵入管理内存,帮助解决容器化上的内存问题。


5.多集群架构场景

(1)多集群架构的管理问题与需求

多集群架构是一个趋势,ACK万舰队提供了多集训多云的统一管理方式,但也面临结构复杂后管理的问题。


(2)多集群架构场景的解决方案

提供统一的Global View监控大盘以及统一的成本分析。很多多云架构都面对复杂结构后的管理问题。例如极客汽车通过多集群的ACK万键进行统一的成本分析,实现了25%的总量资源用量减少。

 

四、数据驱动能力与未来展望

 

以上已经汇报了容器场景端到端的数据链路建设,现在讲述这些数据的具体用途。其实他们是非常宝贵的财富,我们希望通过数据驱动力发挥它的价值帮助用户去建立自己的OPS体系。


1.成本方面

阿里云的finops已经发布两年,是发挥可观测数据价值的典型场景。帮助多家头部客户进行降本增效,取得了较好效果。finops套件通过整体的集群和下钻到集群比如pod力度的观测大盘,并通过分析找到里集群的浪费,帮助里集群进行降本增效,提供优化方案,包括节点和节省计划的推荐,实现科学的降本增效。


2.其他方面

这些功能可能在某一个控制台的角落,但是无需出现异常的时候我们如何去查找。因为我们正在建设可观测下一个时代的产品。我们会结合AI助手。也就是容器集合可观测驱动力结合容器服务团队沉淀的专家经验通过通义千问作为强大的智能引擎得到了ai助手2.0,也就是以后不需要在每个复杂的数据盘里找某一数据,直接通过cht ops就能得知集群的问题所在以及如何解决问题。它会告诉你现在哪个指标有问题,目前的集群的状态,通过这样的交互模式在非常短的交互周期内回答你的问题。发现你的异常缩短MTTR。这是今年提供的全生命周期的覆盖,包括之前的诊断和巡检以及事后异常的分析,可观测体系的数据还可用于其他方面,如保障业务的安全性等。


3.未来展望:AI助手的应用

通过一年上线,AI助手解决线上问题的方案采纳率已达40%以上,在某些诊断场景结合专家经验,根因定位率可达70%以上,这得益于底层强大的可观测体系和有价值的数据才能达到如此高的数据

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
23天前
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
12天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
76 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
10天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
8天前
|
Kubernetes 安全 数据安全/隐私保护
云卓越架构:容器安全最佳实践
本次分享由阿里云智能集团解决方案架构师张玉峰主讲,主题为“云卓越架构:容器安全最佳实践”。内容涵盖容器安全的挑战、云原生容器安全架构及典型场景。首先分析了容器安全面临的问题,如镜像漏洞和权限管理。接着介绍了容器安全架构的五个维度:身份权限管理、配置安全检查、运行时防护、镜像安全检测及发布的安全管控。最后通过具体场景展示了容器身份与权限管理、密钥管理、运行时防入侵等最佳实践,强调了安全左移的重要性,确保从开发到运行的全生命周期安全覆盖。
|
24天前
|
缓存 Serverless 调度
Moka:ACS 容器计算服务助力CI/CD场景提效降本 70%
Moka,作为国内发展最快的HR SaaS厂商之一,在ACS产品初期就与阿里云产品团队紧密联系产品需求及体验反馈,本文将着重分享我们使用ACS在CI/CD 场景的最佳实践。
|
24天前
|
Kubernetes 算法 调度
阿里云 ACK FinOps成本优化最佳实践
本文源自2024云栖大会梁成昊演讲,讨论了成本优化策略的选择与实施。文章首先介绍了成本优化的基本思路,包括优化购买方式、调整资源配置等基础策略,以及使用弹性、资源混部等高级策略。接着,文章详细探讨了集群优化和应用优化的具体方法,如使用抢占式实例降低成本、通过资源画像识别并优化资源配置,以及利用智能应用弹性策略提高资源利用效率。
|
24天前
|
Kubernetes 容灾 调度
阿里云 ACK 高可用稳定性最佳实践
本文整理自2024云栖大会刘佳旭的演讲,主题为《ACK高可用稳定性最佳实践》。文章探讨了云原生高可用架构的重要性,通过Kubernetes的高可用案例分析,介绍了ACK在单集群高可用架构设计、产品能力和最佳实践方面的方法,包括控制面和数据面的高可用策略、工作负载高可用配置、企业版容器镜像服务高可用配置等内容,旨在帮助企业构建更加可靠和高效的应用运行环境。
|
5天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
24天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
2天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。

相关产品

  • 容器服务Kubernetes版