解锁分布式云多集群统一监控的云上最佳实践

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 为应对分布式云多集群监控的挑战,阿里云可观测监控 Prometheus 版结合 ACK One,凭借高效纳管与全局监控方案有效破解了用户在该场景的监控运维痛点,为日益增长的业务需求提供了一站式、高效、统一的监控解决方案,实现成本与运维效率的双重优化。助力企业的数字化转型与业务快速增长,在复杂多变的云原生时代中航行,提供了一个强有力的罗盘与风帆。

作者:在峰

引言


在当今数字化转型加速的时代,随着混合云、多云多集群环境等技术被众多企业广泛应用,分布式云架构已成为众多企业和组织推动业务创新、实现弹性扩展的首选,分布式云容器平台 ACK One(Distributed Cloud Container Platform for Kubernetes)是阿里云面向混合云、多集群、分布式计算等场景推出的企业级云原生平台,助力用户对任何地域、任何集群进行统一运维管控。


那么在日益复杂、环境异构的基础设施中,如何有效的统一监控横跨云上云下、数量较多的 Kubernetes 集群,成为了运维团队面临的一大挑战。传统监控方案往往难以应对这种动态变化、高度分布式的环境,阿里云可观测监控 Prometheus 版使用全局聚合实例,构建一套灵活、统一的可视化监控视图,并集成到分布式云容器平台 ACK One 集群中,为用户提供开箱即用的多集群统一监控能力。本文主要介绍在该场景下如何实现分布式云多集群的统一监控方案。


01 分布式云多集群业务场景


分布式云多集群因其灵活、可扩展性和地理分布等优势,被众多企业作为弹性需求、成本控制等方面的解决方案。其业务场景主要集中在如下几个方面:


弹性需求、资源成本

当企业的业务量呈现波动性,并且波动在不可预测的时候,比如电商网站在节假日或促销期间流量激增,一般在有本地 IDC 的情况下,同时利用公有云资源进行快速的弹性扩展,以满足峰值需求,而在业务低谷期收缩资源,从而节约成本。


业务跨国、多地分布

跨国公司可能需要在全球范围内快速部署应用和服务,同时遵守不同地区的数据主权法规。会结合本地私有云和全球分布的公有云资源快速扩展部署业务,满足业务连续性和合规要求。


数据保护、安全合规

企业可以将关键数据和系统在私有云和公有云之间做备份,利用公有云的地理冗余特性实现灾难恢复策略,增强业务连续性。同时在金融、医疗等行业,数据的存储位置和处理可能受到严格监管。需要在特定地理位置部署服务,确保数据合规性。


容灾备份、高可用性

在不同区域或环境中的多个集群中部署服务副本,一旦某个区域集群出现故障,流量可以迅速转移到其他正常运行的区域集群,确保服务连续性。


02 分布式云多集群监控的痛点


监控数据碎片化

由于集群分布在不同的地域和环境中,传统的监控方式往往需要为每个集群单独安装数据采集,导致监控数据分散在多个平台上,难以形成全局视图,增加了统一数据分析和故障排查的难度。


运维效率低下

运维人员需要频繁切换监控界面,分别查看每个集群的状态 ,其中因为环境不一、区域不一也会增加查询成本,而无法直观地从整体上把握系统的健康状况。这种割裂的监控方式大大降低了运维效率,增加了误判和遗漏风险。


告警策略不统一

每个独立集群可能设置不同的告警阈值和通知策略,这不仅增加了管理复杂度,还可能导致告警风暴或重要事件被忽视,影响故障响应速度和质量。


升级和维护成本高

每个集群的监控系统独立升级和维护,不仅操作重复,而且新功能或补丁的部署难以做到统一和增加了技术债务。同时云上云下集群采集组件管控、升级方式不统一,会额外增加维护成本。


03 构建统一的监控方案


阿里云可观测监控 Prometheus 版通过提供聚合实例,为构建跨越分布式云集群的统一监控需求提供了解决方案。概括来说主要分两个部分:


其一,鉴于分布式云多集群往往具备多集群、多地域乃至多云等特点,呈现出较高的异构性和复杂性,使用分布式云容器平台 ACK One 纳管不同环境集群,构建统一的云上运维管控能力,屏蔽不同环境下集群管控差异;


其二,在 ACK One 集群中使用统一的管控能力安装 Prometheus 采集组件并上报数据到云上,并通过 Prometheus 聚合实例提供统一监控视图。这样,在阿里云上为用户提供集群统一的监控、运维体验,解决了企业客户在使用分布式云多集群面临的监控痛点。该方案按照如下两个场景介绍:


场景一:  将云下(或三方云) K8s 集群监控迁到云上

当您的 K8s 集群在线下本地数据中心或者其他第三方公共云时,可以使用阿里云可观测监控 Prometheus 版,将容器监控迁到云上,获得云上云下统一的运维管理体验。


方案流程

1)集群纳管:使用 ACK One 注册集群对本地数据中心、三方公共云集群进行云上纳管[1],使得该场景各环境 K8s 集群在云上运维管理层面得到一致的使用体验。

2)开启监控:在纳管完成后,类似其他 ACK 集群类型,可以在注册集群中安装阿里云 Prometheus 组件[2],开启容器监控。

image.png

接入方式

步骤一:准备环境。在阿里云容器服务控制台创建注册集群[3],本文使用如下两个已创建集群,其中“注册集群测试 01”可以类比您本地数据中心或三方云 K8s 集群,“注册集群测试 02”是阿里云注册集群。以此模拟将目标集群“注册集群测试 01”纳管到“注册集群测试 02”中的流程。

image.png

步骤二:将目标集群纳管到注册集群。

1. 获取注册集群“注册集群测试 02”的连接信息,并在目标集群“注册集群测试 01”中保存如 agent.yaml,并执行。

image.png

image.png

2. 目标集群“注册集群测试 01”中可以查看下代理的运行状态。

image.png

3. 注册成功后,您可以在容器服务管理控制台的 Kubernetes 集群列表页面,看到该集群的状态为运行中。

image.png

步骤三:在注册集群中开启 Prometheus 监控。

image.png

接入效果

按照上述方式接入后,便完成了将容器监控迁到阿里云上,可以使用云上可观测监控 Prometheus 版提供开箱即用的监控能力。统一您所有 K8s 集群的监控使用体验。

image.png

场景二 :  云上云下分布式多集群统一监控

阿里云 ACK One 集成了可观测监控 Prometheus 版,支持用户一键开启全局统一监控。当您同时运行着来自不同供应商、不同地域的多个 K8s 集群时,您可以通过多集群舰队 ACK One Fleet 关联多个集群,达成统一监控的效果。


方案流程

1)将监控统一迁到云上:当您在云下或三方公共云上有 K8s 集群时,如场景一中描述的方案,先将监控能力统一搬迁到云上。至此,不同供应商、不同地域的各个 K8s 集群均可以使用阿里云可观测监控 Prometheus 版统一运维监控体验。

2)在云上统一监控视图:借助 ACK One 注册集群的能力,您能够将容器监控统一搬到云上,获得了统一的监控体验。此时,各个集群的监控数据仍然是分散的,为了获得统一的聚合监控视图。我们可以进一步借助 ACK One Fleet 将多集群关联起来,同时开启被集成的可观测监控 Prometheus 版全局聚合监控[4]

image.png

接入方式

步骤一:创建舰队,并关联集群。

image.png

image.png

步骤二:开启舰队全局监控。

image.png

接入效果

按照上述方式接入后,您可以在云上构建 K8s 多集群的统一监控视图,将各个集群分散的监控数据统一聚合查询,同时基于该聚合数据源配置告警,实现对所有 K8s 集群的统一监控管理。

image.png


总结


在分布式云多集群业务场景中,随着集群规模增长、架构复杂化等,带来的运维难度和成本也日益增加。


为应对分布式云多集群监控的挑战,阿里云可观测监控 Prometheus 版结合 ACK One,凭借高效纳管与全局监控方案有效破解了用户在该场景的监控运维痛点,为日益增长的业务需求提供了一站式、高效、统一的监控解决方案,实现成本与运维效率的双重优化。助力企业的数字化转型与业务快速增长,在复杂多变的云原生时代中航行,提供了一个强有力的罗盘与风帆。


方案的优势主要包括以下方面:


  • 统一云上云下监控使用体验:可以轻松将线下或第三方云的 K8s 集群监控数据迁移至阿里云,实现资源状态与监控信息的云端集中化管理,促进集群资源的透明度和可控性。
  • 全局统一监控视图:结合 ACK One Fleet,将多个分散的集群监控数据聚合在一个视图下,实现全局监控状态的可视化,帮助运维人员快速概览整体健康状况,及时发现并解决问题,增强业务稳定性。
  • 简化监控部署与配置:在纳管后的集群中直接安装阿里云 Prometheus 组件,便捷开启容器监控,减少手动部署和配置监控系统的负担,加速监控体系的建设和完善。
  • 高性能与可靠性:依托阿里云强大的基础设施和服务保障,提供的可观测监控 Prometheus 版能有效应对大规模监控数据处理需求,确保监控的稳定性和准确性,为企业核心业务提供坚实保障。
  • 一站式服务与生态集成:集成阿里云丰富的云产品和服务生态,便于与其他云服务如日志服务、告警服务等无缝对接,实现从监控、报警到故障排查的一站式解决方案,加速问题定位和解决速度。


目前,可观测监控 Prometheus 提供每月 50GB 免费额度,全面降低用户可观测成本。点击此处,立即开通!

image.png

相关链接:

[1] 使用 ACK One 注册集群对本地数据中心、三方公共云集群进行云上纳管

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/use-cases/use-registered-clusters-to-centrally-manage-external-kubernetes-clusters?spm=a2c4g.11186623.0.0.5dcd4c6aFhbWjp

[2] 注册集群中安装阿里云 Prometheus 组件

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/enable-prometheus-service-for-a-registered-cluster?spm=a2c4g.11186623.0.0.5ddb27f6J7UaTX

[3] 创建注册集群

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/create-a-cluster-registration-proxy-and-register-a-kubernetes-cluster-deployed-in-a-data-center?spm=a2c4g.11186623.0.0.47535801wV2s5Z

[4] 开启被集成的可观测监控 Prometheus 版全局聚合监控

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/global-monitoring?spm=a2c4g.11186623.0.0.1f885219vYytYR

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
算法 调度
电动汽车集群并网的分布式鲁棒优化调度matlab
电动汽车集群并网的分布式鲁棒优化调度matlab
|
11天前
|
消息中间件 缓存 监控
如何设计一个秒杀系统,(高并发高可用分布式集群)
【7月更文挑战第4天】设计一个高并发、高可用的分布式秒杀系统是一个非常具有挑战性的任务,需要从架构、数据库、缓存、并发控制、降级限流等多个维度进行考虑。
23 1
|
12天前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
87 1
|
14天前
|
存储 Java 数据库
Spring Boot与分布式事务的最佳实践
Spring Boot与分布式事务的最佳实践
|
21天前
|
SQL 关系型数据库 MySQL
MySQL高可用架构设计:从主从复制到分布式集群
MySQL高可用性涉及主从复制、半同步复制和Group/InnoDB Cluster。主从复制通过二进制日志同步数据,保证故障时可切换。半同步复制确保事务在至少一个从服务器确认后才提交。Group Replication是多主复制,支持自动故障切换。InnoDB Cluster是8.0的集成解决方案,简化集群管理。使用这些技术能提升数据库的稳定性和可靠性。
217 2
|
1月前
|
分布式计算 负载均衡 并行计算
Python 分布式计算框架 PP (Parallel Python):集群模式下的实践探索
该文介绍了使用Parallel Python (PP) 在两台物理机上构建分布式计算集群的经验。PP是一个轻量级框架,旨在简化Python代码在多处理器系统和集群中的并行执行。文中通过设置子节点的IP、端口和密钥启动PP服务器,并在主节点创建PP实例进行负载均衡。实验使用官方的质数和计算示例,显示PP在集群模式下能有效利用多台机器的多核CPU,实现计算效率的显著提升。未来,作者计划进一步研究PP在更复杂任务和大规模集群中的应用潜力。
143 4
|
14天前
|
消息中间件 监控 负载均衡
Java分布式系统设计最佳实践
Java分布式系统设计最佳实践
|
1月前
|
负载均衡 运维 监控
负载均衡与容错性:集群模式在分布式系统中的应用
本文由小米分享,解释了分布式系统中的集群模式。集群模式是通过组合多个服务器节点,共同提供服务,实现高可用性、负载均衡和扩展性。文章介绍了主控节点的角色及其高可用性策略,如主备模式和选举机制,并以Zookeeper为例详细阐述了其工作机制。集群模式的优势在于高可用性、负载均衡、扩展性和数据一致性,但也面临节点通信、数据一致性、故障检测和管理等挑战。最后,作者鼓励读者讨论和交流相关技术问题。
238 5
|
17天前
|
存储 运维 Prometheus
微服务监控:确保分布式系统的可观察性与稳定性
微服务监控:确保分布式系统的可观察性与稳定性
|
2月前
|
存储 监控 分布式数据库
Scala代码在局域网监控软件中的分布式处理
该文介绍了如何使用Scala进行局域网监控数据的分布式处理。通过示例展示了利用Scala的并发能力进行数据收集,使用集合操作进行数据处理与分析,以及如何将处理结果存储到分布式数据库(如Cassandra)和自动提交到网站。Scala的并发处理能力和丰富库支持使其在分布式处理中表现出色。
107 3