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

news2024/12/29 11:18:13

作者:在峰

引言

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

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

分布式云多集群业务场景

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

弹性需求、资源成本

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

业务跨国、多地分布

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

数据保护、安全合规

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

容灾备份、高可用性

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

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

监控数据碎片化

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

运维效率低下

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

告警策略不统一

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

升级和维护成本高

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

构建统一的监控方案

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

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

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

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

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

方案流程

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

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

图片

接入方式

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

图片

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

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

图片

图片

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

图片

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

图片

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

图片

接入效果

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

图片

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

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

方案流程

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

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

图片

接入方式

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

图片

图片

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

图片

接入效果

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

图片

总结

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

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

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

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

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

图片

相关链接:

[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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ONLYOFFICE 文档 8.1 现已发布:功能全面的 PDF 编辑器、幻灯片版式、优化电子表格的协作等等

🔥 个人主页:空白诗 文章目录 一、引言二、ONLYOFFICE简介1. 文档编辑器2. 电子表格编辑器3. 演示文稿编辑器4. 项目管理5. 邮件和日历6. 客户关系管理(CRM)7. 安全性和权限管理8. 多平台和第三方集成 三、安装1. Windows/Mac 安装…

斯坦福大学 AI 研究部门推出的“7 周人工智能学习计划”

①AI Python 基础,包括计算机原理、语法、判断语句等; ②AI Python 进阶,涉及 Linux 命令、多任务编程等; ③机器学习,涵盖算法、数据结构等; ④计算机视觉与图像处理,包含图像分类、目标检测…

每日鲜语携手中国国家高尔夫球队队员殷若宁征战巴黎,打响中国高端鲜奶品牌“鲜”声量

近日,高端鲜奶品牌每日鲜语宣布携手蒙牛品牌代言人、中国国家高尔夫球队队员殷若宁,共赴巴黎奥运赛场,为梦想挥杆而上。邀请众多消费者开启高品质、健康的生活方式。此举不仅彰显了每日鲜语作为高端鲜奶新标杆的品牌定位,也同时延…

COMSOL Multiphysics物理模拟软件 下载安装,COMSOL Multiphysics 卓越的模拟性能

COMSOL Multiphysics,它不仅具备卓越的模拟性能,还以其创新的多物理场耦合分析能力,为各类复杂问题提供了前所未有的解决方案。 这款软件的出现,犹如为科研工作者和工程师们插上了一双智慧的翅膀,使他们能够在物理世界…

RubyMine 2024 mac/win版:智慧编程,从心出发

JetBrains RubyMine 2024 是一款专为Ruby和Rails开发者打造的高效集成开发环境(IDE)。它凭借其卓越的性能和丰富的功能,帮助开发者在Ruby和Rails的开发过程中提升效率,减少错误。 RubyMine 2024 mac/win版获取 RubyMine 2024 提供了强大的代码编辑功能&…

VR加密方案常见问题有哪些?

在数字化时代,随着虚拟现实(VR)技术的迅速发展与普及,VR视频内容的安全传输成为关注焦点。为保护版权及敏感信息免遭非法复制或篡改,VR视频加密技术显得尤为重要。 首先,高效的加密算法对确保数据安全性至关…

60.Python-web框架-Django手动删除了一个数据库表,migrate问题

目录 1.问题产生 2.解决方法: 1.问题产生 今天手欠,删了一个数据库表,然后迁移不进来了。 当你在Django项目中手动删除了数据库模型(models)的表后,想要Django通过makemigrations命令重新创建或识别这些更…

第四届机械设计与智能制造国际会议(MDSM2024)

第四届机械设计与智能制造国际会议(MDSM2024) 4th International Conference on Mechanical Design and Smart Manufacturing 会议日期:2024年8月23-25日 会议地点:中国-武汉 会议官网:https://www.iaast.cn/meet/home/Bx118v7D 【支持单位】…

Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻、直播带货及免费小程序商城搭建

用技术: Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台: 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务(30个通用微服务如:商品、订单、购物车、个人中心、支付…

C语言结构体包含结构体

C语言结构体可以包含另一个结构体; 下面通过一个例子看一下; struct Date {int day;int month;int year; };struct Person {char *name;struct Date birthday; }; ...... void CTestView::OnDraw(CDC* pDC) {CTestDoc* pDoc GetDocument();ASSERT_VAL…

.NET也能玩量化【2】搭建本地财经数据获取服务,以及获取复权历史大A数据演示...

直接动手,不写前言了。 创建.NET 8的一个webapi项目备用 本地安装python库 aktools 输安装完毕以后,输入 python -m aktools 即可启动有关服务 启动以后,主页地址:http://127.0.0.1:8080/ 查看swwager的api文档说明。我们主要使用…

Unity面试题 UGUI调整UI与粒子特效的显示层级

首先,必须保证Canvas画布的渲染模式为了相机渲染 方法:一:将需要控制UI显示层级的Image换成Sprite 1.创建一个粒子系统,和两张Sprite. 2.设置Sprite1的Order in Layer为 -1,设置Sprite2的Order in Layer为 1,粒子的Ord…

ANSYS Electronics 电磁场仿真工具下载安装,ANSYS Electronics强大的功能和灵活性

ANSYS Electronics无疑是一款在电磁场仿真领域表现卓越的软件工具。它凭借强大的功能和灵活性,帮助用户在产品设计阶段就能精确预测和优化电磁场性能,从而极大地降低了实际测试成本,并显著提升了产品的可靠性。 这款软件不仅在电子设计领域有…

【专利】一种光伏产品缺陷检测AI深度学习算法

申请号CN202410053849.9公开号(公开)CN118037635A申请日2024.01.12申请人(公开)超音速人工智能科技股份有限公司发明人(公开)张俊峰(总); 叶长春(总); 廖绍伟 摘要 本发明公开一种光伏产品缺陷检测AI深度…

破解App推广困局:Xinstall如何助力游戏盒子代理快速扩大用户池?

在互联网流量日益分散的今天,游戏盒子代理推广面临着前所未有的挑战。如何迅速搭建起能时刻满足用户需求的运营体系,成为了众多企业急待解决的问题。Xinstall作为一款专业的App推广和运营工具,凭借其强大的功能和独特优势,为游戏盒…

ONLYOFFICE 编辑器8.1,一个功能全面的编辑器

目录 官网地址:ONLYOFFICE - 企业在线办公应用软件 | ONLYOFFICE 一、PDF编辑 二、PPT播放 1. 多样化的幻灯片样式与布局 2. 强大的文本编辑与格式化功能 3. 丰富的图形与图表插入功能 4. 灵活的过渡效果与动画设置 5. 舒适的呈现与演讲辅助功能 6. 便捷的团…

Java--Data类

1.Data类 java.util.Date.表示指定的时间信息,不支持国际化 构造方法 new Date():当前系统日期和时间 new Date(long):给定日期和时间 主要方法: after(Date):判断当前日期对象是否在给定日期对象之后 before(Date):判断当前日期…

关于文章“python+百度语音识别+星火大模型+讯飞语音合成的语音助手”报错的修改

前言 关于我的文章:python百度语音识别星火大模型讯飞语音合成的语音助手,运行不起来的问题 文章地址: https://blog.csdn.net/Phillip_xian/article/details/138195725?spm1001.2014.3001.5501 1.报错问题 如果运行中报错,且…

Banded Grid Views

标注栏网格视图(BandedGridView)以表格形式显示数据,并将列组织到标注栏中。 Advanced Banded View(AdvBandedGridView)也有同样的功能,并额外支持数据单元格的复杂布局。 标注栏和列 BandedGridView和…

fyne的对话框

对话框 import "fyne.io/fyne/v2/dialog"dialog包 定义了应用程序GUI的标准对话框窗口。 NewError NewError()为应用程序错误在指定的窗口上创建一个对话框。该消息是从提供的错误中提取的(不应为nil)。创建后,您应该调用Show()…