阿里云ACK容器服务生产级可观测体系介绍与实践

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 背景本文介绍阿里云ACK容器服务可观测体系,以及典型的用户基于ACK可观测体系建设生产级的可观测体系、运维体系的最佳实践。1.1 ACK可观测体系介绍-全景概要介绍上图为ACK 可观测体系全景图金字塔,从上至下可分为四层:最上层是最接近用户业务的 Business Monitoring,包括用户业务的前端的流量、PV、前端性能、JS 响应速度等监控。通过容器服务的 IngressDashboard

背景

本文介绍阿里云ACK容器服务可观测体系,以及典型的用户基于ACK可观测体系建设生产级的可观测体系、运维体系的最佳实践。

1.1 ACK可观测体系介绍-全景概要介绍

上图为ACK 可观测体系全景图金字塔,从上至下可分为四层:

最上层是最接近用户业务的 Business Monitoring,包括用户业务的前端的流量、PV、前端性能、JS 响应速度等监控。通过容器服务的 IngressDashboard 来监测 Ingress的请求量以及请求的状态,用户可以定制业务日志,通过容器服务的日志监控来实现业务的自定义监控。

第二层是 Application Performance Monitoring,包括用户的应用监控,由 ARMS APM 产品提供用户Java Profiling 和 Tracing等能力,也支持 OpenTracing和 OpenTelemetric 协议的多语言监控方案。

第三层是Container Monitoring,包括容器的集群资源、容器 runtime 层、容器引擎以及容器集群的稳定性。使用阿里云Prometheus在一张 Global view 的大盘中展示不同集群层面的资源应用,包括性能、水位、云资源,也包括事件体系和日志体系,由事件中心和日志中心覆盖。

最下层是 Infrastructure Monitoring,包括不同的云资源、虚拟化层、操作系统内核层等。容器层和基础架构层都可以使用基于eBPF的无侵入式架构和 K8s 监控能力做网络和调用的tracing。

可观测体系的每一层都和可观测的三大支柱Logging、Tracing、Metrics有不同程度的映射。

场景一:异常诊断场景的可观测能力实践

上图为用户的异常诊断案例。

早上 9 点多业务流量激增时出现了异常诊断,收到容器报警提示某Pod Down影响业务流量。用户收到报警后快速反应,对核心业务的 Pod 进行重启或扩容,查找问题根因。首先通过 IngressDashboard 从入口流量自上而下分析,发现对外业务的访问成功率下降以及出现4XX返回码的请求,说明这次异常影响了用户业务。再从资源以及负载层面分析,可以发现是由于朝九晚五的流量导致水位负载,在当天早上 9 点时存在与故障对齐的明显水位飙升,这也是故障所在。

系统第一时间报警核心业务的 Pod 定位,结合业务日志进行分析,加上ARMS Java的 APM 应用监控,定位到产生缓存 bug 是由于早上 9 点钟业务流量飙升引发了 bug 最后造成频繁的数据库读写,调用链也反映可能出现了数据库的慢查询,最后通过修复 bug 彻底闭环整个异常。

上述流程是非常典型的贯穿了整个 ACK 可观测不同能力异常诊断的排查过程,能够帮助我们更好地理解 ACK 可观测体系如何相互协调完成工作。

1.2.1 Logging-事件体系介绍

社区的 K8s 中包含了非常成熟的事件体系,提供了应用层的事件以及 runtime 层的事件。 ACK 可观测体系在社区的事件体系之上,从表层到底层都进行了覆盖和增强,做到了可观测事件体系的全覆盖。

① 应用异常:对于 K8s 的应用事件提供了用户灰度发布以及 HPA 等异常行为的事件监控。

② 管控操作事件:增加了集群的管控事件、用户对集群的异常操作以及重要变更,甚至包括成本和预算超标等。

③ 集群核心组件异常:集群的稳定性很大一部分由集群核心组件的健康来保证。对于集群核心组件包括 API server、ETCD、Scheduler、CCM 等都做了异常事件的增强,出现异常事件能够第一时间进行触达。此外,还包括用户侧核心组件addon 事件,比如Terway、存储等。

④ 集群容器引擎层异常:对集群容器引擎层做了增强,包括了 Container Runtime、Kubelet、Cgroup 等异常。

⑤ 节点异常:包括OS/内核层异常,比如操作系统内核宕机、操作系统配置的异常等,也包括资源层异常比如网络资源异常、存储资源异常、其他云资源异常等,为容器服务的运维保障及功能更强的覆盖提供了支持。

ACK 提供了开箱即用的事件中心能力,一键开启事件中心,即可享受复杂的事件体系带来的强大功能。它提供了预置的试验中心大盘,能够对重要的事件进行突出以及统计,也提供了强大、灵活易用的数据分析能力,为后面基于事件驱动的 OPS 体系提供了基础。ACK K8s 集群更多的是对资源的生命周期进行管控,事件中心也提供了以事件为锚点的资源生命周期的管控能力。可以对生命周期中最重要的几个时间点进行性能的调试优化以及对异常 Pod 状态快速反应。

1.2.2 Logging-日志体系介绍

Logging 在 K8s 中的第一个使用场景是重要流量,如 Ingress等。ACK 的日志中心默认提供了 Ingress等重要场景的大盘,一键接入 Ingress大盘后即可快速查看集群 Ingress流量,此外还包括PV、UV、应用的异常状态以及统计,快速清晰,易于应用。

第二个日志使用场景是审计。集群中的资源经常被不同的账号访问使用,集群的安全也迫切需要重点关注。我们提供了审计日志大盘,可以快速分析集群资源的访问和使用轨迹,针对未被授权的访问可进行报警和预警,为集群提供更安全的环境。

我们提供了云原生无侵入式的日志获取方式,用户只需通过简单的 CRD 或在Pod上打 annotation ,即可将日志采集到日志中心,并享受日志中心多维、强大的分析能力。

1.3 Metric-容器服务指标体系介绍

Metrics 体系是做稳定性保障和性能调优时最常用的体系,水位等关键指标都能通过大盘进行直观展示。产品侧预置了ARMS Prometheus大盘产品,购买了 ACK K8s 集群后,可以一键开启Prometheus大盘。此外,体系内预置了重要场景的Prometheus大盘,都是经过 K8s 上业务运维成熟经验的沉淀。Prometheus方案涉及到不同的服务,不仅包括容器服务侧最核心的 K8s 应用、网络、核心控制面指标,还包括比如 AI 场景、 GPU 指标以及存储 CSI 等外部存储场景,以及资源的优化或成本的优化指标。

使用统一的Prometheus数据链路方案,不进能够支持容器场景的指标,也支持不同云产品的指标以及云产品上不同中间件的指标,可以将所有层级指标都在Prometheus数据链路中进行统一展示。 

ACK 集群控制面的核心组件 API Server、ETCD 、scheduler 、CCM 等也做了指标加强。Pro 集群不只负责托管这部分核心组件、维护其 SLA,同时也会将透明指标性能暴露给用户,让用户使用安心。

场景二:业务稳定性保障场景-以2022冬奥为例

指标场景是稳定性保障的重要支持能力。ACK 非常荣幸地为 2022 年的冬奥会服务,助力冬奥系统圆满平稳运行。 

ACK 集群中部署了冬奥会多个核心业务系统,包括冬奥的国际官网、比赛场馆、票务系统等,为多个核心系统保驾护航。核心系统多为 Java 系微服务架构,实际使用时有近千个 Deployment 实例。我们通过引入压测的方式进行容量评估,同时配合为冬奥定制的首屏运维大盘,实时进行应用和集群稳定性的保障,保证了冬奥访系统访问的顺滑。

场景三:生产级规模集群稳定性保障实践

很多用户的生产系统规模很大,到达千级别节点的集群规模后,用户在集群上会进行密集、大规模的集群资源访问,极易出现集群稳定性问题。

比如,用户在大规模集群中频繁密集地访问集群资源,首先会使API Server的请求数较高,API ServerMutating 请求数也会处于高位。 API Server负载过高会导致出现丢弃请求的情况,这也是 API Server的降级特性,会影响用户业务的发布或用户的变更。

再比如,密集的集群资源访问也可能打满 API Server带宽,API Server的请求延时RT 会升至高位,一次 API 的访问可能需要几十秒,会严重影响用户的业务,API Server的只读请求数也会飙升。

我们提供了 control plane核心组件的监控大盘,可以快速发现 API Server的水位和请求响应时间的延时问题,然后根据 API Server的访问日志快速定位是哪个应用的什么动作导致 API Server的水位和资源请求高,最终找到具体应用进行止血,解决问题。

阿里云近期推出了 Prometheus for ACK Pro ,它是 Prometheus 的升级服务,能够在同一张大盘上看到多个数据源,包括集群事件日志、基于 ebpf 的无侵入式的应用指标、网络指标等,提供一致性的体验。用户可以通过一张大盘的关联分析逻辑,从总览到细节,通过多数据源、多角度的可观测能力进行不同角度的排查。

1.4.1 Tracing-应用层Trace

在 ACK 可观测体系里, Tracing体系提供了最终定位根因的能力,它分为两部分:

第一部分是应用层的Tracing,提供ARMS APM 能力,支持OpenTracing、OpenTelemetry  协议,可以支持多种语言的应用。针对 Java 也提供了无侵入式的 APM 能力,只需要在 Pod 上打上 annotation, Java 应用的 Pod即可享受实时的监控数据服务,可以查看实时的应用水位、 JVM 的性能指标、应用上下游分布式和微服务的全局调用 top 图等,也支持 Profiling 以及代码堆栈级的调用监控能力。不同语言可以汇聚成同一张分布式调用追踪大图,自上而下地查看一次分布式调用,从而定位、诊断问题。

1.4.2 Tracing-集群网络、调用Trace

第二部分是集群网络和调用Trace。

近期我们推出了基于 eBPF 网络层面的Tracing能力。通过 eBPF 插桩技术,在内核层面实现了零代码改动且非常低性能消耗的网络 Tracing能力。提供了全局拓扑、快速定位问题调用链的网络拓扑展示以及资源层面展示,也支持在统一的全局架构视图中集合 Metrics、Tracing和Logging 多个角度进行可观测能力观察。

2.1 基于ACK可观测能力建设AI/ITOps体系

事件驱动的 AIOps 体系,用户可以将事件作为统一的驱动数据源进行问题的发现、触达以及 AI 智能化运维操作的桥梁。以 ACK 事件中心为核心,构造了统一的事件格式规范,K8s 的事件会以统一的事件配置格式提供给用户,最后以事件中心为核心,通过统一的事件处理流提供给用户。用户可以通过订阅事件做事件的智能化运维以及构建其体系。用户可以通过某个应用的业务进行业务事件推送,并对业务事件进行智能化运维处理,比如智能的扩容或缩容等。

此外,我们也提供了 ACK 报警中心,通过统一的报警配置为用户构建 AIOps 的体系,帮助用户快速建立运维的订阅、收发和问题排障、处理体系。

报警中心会为用户提供统一的配置,帮助用户快速建立 ACK 场景上异常诊断的异常规则集。ACK 报警中心提供了开箱即用的报警能力,沉淀了常用的容器场景异常规则集,开箱即用。其次,可以通过报警消息的细粒度订阅关系构建 ITOps 体系,不同的异常可以通过报警中心的订阅配置关系投递到真正能够解决异常的人手里。ACK 也沉淀了标准的异常以及对应标准异常处理的 SOP 手册,发现报警时,会提示异常类型,以及为用户提供处理异常的标准 SOP 修复流程。

2.2 基于ACK可观测能力建设FinOps体系

越来越多的用户面临了上云阶段或上云后治理阶段的降本增效问题,主要存在以下几个方面的痛点:

l  上云之前——如何上云,难规划;

l  上云之后——云产品种类丰富,集群资源类型也丰富,计费难;

l  高度 SaaS 化的应用部署在同一个集群中进行共享,成本分账难;

l  每年都会有新的业务生成和下线,集群和资源的使用关系是动态的,难以进行持续的优化和治理;

l  此前一般使用 Excel 表对能力进行管理,在云原生的场景下有丰富的用户应用和有丰富的账单资源类型,难以管理。

ACK 提供了云原生企业IT成本治理方案,通过多维度的成本分摊和估算模型,为集群的资源进行成本估算和分摊。可以通过根因的下钻和趋势的预测进行成本洞察,集群上多个应用业务的成本可以细粒度下钻,进行成本拆分。对多集群场景上的成本提供了成熟的解决方案覆盖,以及提供企业云原生 IT成本治理的专家服务。

此外,我们还推出了内置的应用资源画像以及应用资源的智能推荐,可以为资源推荐合适的成本以及进行预算控制,最后会根据不同的场景进行成本优化,如大数据、AI、游戏等。

最后,支持多样化场景,包括多云和混合云等都能在统一的平面进行展示和管理。 

客户案例:

中华财险作为互联网金融的头部公司,有千核级别的集群规模,同时管理运维多个SaaS化线上业务,具有高度多租化、对业务稳定性要求高、对业务资源/成本趋势敏感度高等行业特点。

中华财险从传统IT架构到云原生化的过程中,面临着容量规划难、算清成本难、闲置资源难发现以及成本优化和业务稳定性难以平衡的挑战。

我们通过 ACK 的成本治理解决方案为它进行了压测、容量规划,通过 ACK 成本分析进行业务分账的账单管理和分析,解决了闲置资源的优化,为其提供了分配资源的优化策略,最后通过容器服务提供了细粒度的容器部署以及弹性策略等优化手段。

上云前,客户集群的资源分配闲置率高达 30%+,而通过我们提供的成本治理方案,闲置率降至10%以下,为行业领先水平。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
12天前
|
供应链 安全 Cloud Native
阿里云飞天企业版获【可信云·容器平台安全能力】先进级认证
阿里云飞天企业版容器系列产品获中国信息通信研究院【可信云·容器平台安全能力】先进级认证,这是飞天企业版容器产品获得《等保四级PaaS平台》和《 云原生安全配置基线规范V2.0》之后,本年度再一次获得行业权威认可,证明飞天企业版的容器解决方案具备符合行业标准的最高等级容器安全能力。
阿里云飞天企业版获【可信云·容器平台安全能力】先进级认证
|
21天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
13天前
|
人工智能 运维 监控
容器服务Kubernetes场景下可观测体系生产级最佳实践
阿里云容器服务团队在2024年继续蝉联Gartner亚洲唯一全球领导者象限,其可观测体系是运维的核心能力之一。该体系涵盖重保运维、大规模集群稳定性、业务异常诊断等场景,特别是在AI和GPU场景下提供了全面的观测解决方案。通过Tracing、Metric和Log等技术,阿里云增强了对容器网络、存储及多集群架构的监控能力,帮助客户实现高效运维和成本优化。未来,结合AI助手,将进一步提升问题定位和解决效率,缩短MTTR,助力构建智能运维体系。
|
1月前
|
Kubernetes 算法 调度
阿里云 ACK FinOps成本优化最佳实践
本文源自2024云栖大会梁成昊演讲,讨论了成本优化策略的选择与实施。文章首先介绍了成本优化的基本思路,包括优化购买方式、调整资源配置等基础策略,以及使用弹性、资源混部等高级策略。接着,文章详细探讨了集群优化和应用优化的具体方法,如使用抢占式实例降低成本、通过资源画像识别并优化资源配置,以及利用智能应用弹性策略提高资源利用效率。
|
16天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
1月前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
13天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
1月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
1月前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。
|
1月前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。

相关产品

  • 容器计算服务
  • 容器服务Kubernetes版