本文分享自华为云社区《新一代云原生可观测平台之华为云CCE集群健康中心》,作者:云容器大未来。

"Kubernetes运维确实复杂,这不仅需要深入理解各种概念、原理和最佳实践,还需要对集群的健康状态、资源利用率、容器的稳定性等多个方面进行风险评估。当集群出现故障时,我们通常需要花费大量时间来分析各种日志和监控信息,以找出问题的根本原因。"一位IT公司运维总监如此说道。

近年来,越来越多的公司转向了基于Kubernetes的云原生架构。随着微服务和云原生架构的变得越来越复杂,我们也收到不少客户反馈在生产中进行监控和故障排除变得越来越困难。虽然CCE云原生可观测平台提供了监控、告警、日志等功能,能够让用户更加方便的定位问题,但是同样也无形中提高了运维人员的技术门槛。为了让运维和开发人员能够从繁重的故障定位排查中解脱出来,CCE服务提供了集群健康诊断能力。

CCE集群健康诊断集合了容器运维专家的经验,为您提供了集群级别的健康诊断最佳实践。可对集群健康状况进行全面检查,帮助您及时发现集群故障与潜在风险,并给出对应的修复建议供您参考。

开箱即用:免开通零依赖,一键健康诊断

集群健康诊断功能作为CCE内置健康专家系统,可以在不依赖任何插件和其他服务的情况下独立运行。用户无需繁琐的开通与配置流程,就可以一键触发集群健康诊断。

图1 一键健康诊断

定时巡检:无人值守,持续守护集群健康

在主动运维场景,比如集群升级前后或业务重保期间,用户可随时主动触发健康诊断来保障业务的顺利运行。另一方面,在日常运维中,我们无法一直盯屏保障,为了将客户从这种低级的劳动中解放出来,健康诊断支持定时巡检功能,只需要简单的配置定时任务,健康诊断任务就可以在后台守护您的集群健康,并将检查结果定时存档,方便随时回溯复盘。

图2 健康检查结果

多维诊断:丰富的诊断项,集群全方位体检

CCE集群健康诊断提炼了运维专家提供的高频故障案例,覆盖了集群/核心插件/节点/工作负载/外部依赖等多种维度的健康检查,并且所有的诊断项都给出了风险评级、影响风险、以及修复建议。

  • 集群维度:包括集群运维能力检查,安全组配置检查,集群资源规划检查等诊断项。

图3 集群维度诊断项

  • 核心插件维度:覆盖监控、日志、coredns、存储等核心插件的健康检查。

图4 核心插件维度诊断项

  • 节点维度:包括节点资源负载情况和节点状态诊断。

图5 节点维度诊断项

  • 工作负载维度:包括工作负载配置检查,Pod资源负载检查,Pod状态诊断等。

图6 工作负载维度诊断项

  • 外部依赖维度:主要包括ECS和云硬盘等资源配额检查。

图7 外部依赖维度诊断项

智能分析:智能健康评级,专业修复建议

CCE集群健康诊断会针对故障和潜在风险,给出风险等级并提供修复建议。风险等级按照紧急程度分为高风险和低风险两种:

  • 高风险:说明该诊断项会危及到集群或应用稳定性,可能造成业务损失,需要尽快修复。
  • 低风险:说明该诊断项不符合云原生最佳实践,存在潜在的风险,但是不会马上对业务造成重大影响,建议修复。

在每一次健康诊断完成之后,所有的诊断结果会被汇总分析,并给出最终的集群健康评分,该评分反映了集群的整体健康状况。健康评分较低的集群往往存在较大的故障风险,需要引起集群管理员的高度重视。

图8 健康风险等级评估

案例分析:一次安全组误操作导致的业务故障

CCE作为通用的容器平台,安全组规则的设置适用于通用场景。集群在创建时将会自动为Master节点和Node节点分别创建一个安全组。如果用户不小心误操作了默认安全组中的规则,可能会导致节点网络不通等问题,而且这种问题往往比较难以排除,需要花费较多的时间才能定位到安全组的原因,影响业务恢复速度。这种情况我们可以通过健康中心的巡检功能来进行故障诊断。

例如修改一个集群的默认安全组规则,将Master与Node通信规则,从允许改为拒绝。

图9 修改安全组规则

以上操作会导致集群部分功能异常,如网络不通出现无法执行kubectl命令的问题。

这种问题往往难以排查,会消耗用户大量的时间来寻找根因。此时如果用户在CCE健康中心执行一次健康巡检,会发现安全组高风险巡检项提示:

图10 安全组异常提示

通过诊断详情可以直接定位异常安全组,便于进行针对性修复:

图11 定位异常安全组

整个故障诊断流程方便快捷,可以大幅减低故障排查时间,帮助客户业务更稳定的运行在CCE集群上。

结语

CCE集群健康诊断功能,集成沉淀了大量的专家运维经验,目标是为客户提供更加智能、快捷的运维能力。当前该能力依然在快速迭代,后续我们会增加巡检结果通知、风险评估阈值调整以及更丰富的诊断项等能力,为大家带来更智能、更可靠稳定的云原生系统。

服务体验请访问:

https://www.huaweicloud.com/product/cce.html

点击关注,第一时间了解华为云新鲜技术~

华为云CCE集群健康中心:一个有专家运维经验的云原生可观测平台的更多相关文章

  1. Docker集群管理工具 - Kubernetes 部署记录 (运维小结)

    一.  Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...

  2. Zookeeper集群的"脑裂"问题处理 - 运维总结

    关于集群中的"脑裂"问题,之前已经在这里详细介绍过,下面重点说下Zookeeper脑裂问题的处理办法.ooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调 ...

  3. Nginx+PHP负载均衡集群环境中Session共享方案 - 运维笔记

    在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 下面罗列几种nginx负载均衡 ...

  4. 干货 | 京东云Kubernetes集群+Traefik实战

    摘要 Traefik支持丰富的annotations配置,可配置众多出色的特性,例如:自动熔断.负载均衡策略.黑名单.白名单.所以Traefik对于微服务来说简直就是一神器. 利用Traefik,并结 ...

  5. 如何建设一个用于编译 iOS App 的 macOS 云服务器集群?

    作者:京东零售 叶萌 现代软件开发一般会借助 CI/CD 来提升代码质量.加快发版速度.自动化重复的事情,iOS App 只能在 mac 机器上编译,CI/CD 工具因此需要有一个 macOS 云服务 ...

  6. 阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群

    HBase可以支持百TB数据规模.数百万QPS压力下的毫秒响应,适用于大数据背景下的风控和推荐等在线场景.阿里云HBase服务了多家金融.广告.媒体类业务中的风控和推荐,持续的在高可用.低延迟.低成本 ...

  7. 腾讯云Elasticsearch集群规划及性能优化实践

    ​一.引言 随着腾讯云 Elasticsearch 云产品功能越来越丰富,ES 用户越来越多,云上的集群规模也越来越大.我们在日常运维工作中也经常会遇到一些由于前期集群规划不到位,导致后期业务增长集群 ...

  8. 干货 | Elasticsearch 集群健康值红色终极解决方案【转】

    题记 Elasticsearch当清理缓存( echo 3 > /proc/sys/vm/drop_caches )的时候,出现 如下集群健康值:red,红色预警状态,同时部分分片都成为灰色.  ...

  9. Spring Cloud(Dalston.SR5)--Config 集群配置中心

    Spring Cloud Config 是一个全新的项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,他分为服务端和客户端两个部分.服务端也称为分布式配置中心,是一个独立的微服务 ...

  10. 【原创】《从0开始学Elasticsearch》—集群健康和索引管理

    内容目录 1.搭建Kibana2.集群健康3.索引操作 1.搭建Kibana 正如<Kibana 用户手册>中所介绍,Kibana 是一款开源的数据分析和可视化平台,因此我们可以借助 Ki ...

随机推荐

  1. 【matplotlib 实战】--南丁格尔玫瑰图

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...

  2. 牛逼!Github上最有价值的一个开源项目!

    哈喽,我是老鱼,一名致力于在技术道路上的终身学习者.实践者.分享者! 今天介绍的这个项目,我愿称之为Github最有价值的开源项目! 一个小而全而美的第三方登录开源组件,相信你一定能用的上~ Just ...

  3. 一些 trick 和思考收获

    2023.1.7 P1117 优秀的拆分 对于一眼看上去只能直接求解的题可以设置一些节点变为求每个节点的贡献 *2023 7.24 补充:这个 trick 也被称为设置关键点,通常用于区间长度固定或是 ...

  4. c#享元模式详解

    基本介绍:   享元模式的定义:运用共享技术有效地支持大量细粒度的对象重复使用.适用于大量小粒度的对象造成的运行效率和内存使用效率低下的情况.   "享元"顾名思义,"享 ...

  5. 一个基于.NET7的开源DNS服务 DnsServer 的部署使用经验分享

    前言 接上篇 docker-bind 的使用搭建了一个 dns 服务,本篇将介绍另外一款 DnsServer 的部署和使用,更专注,更轻量. 特点 基于 .NET 7 实现 ,支持 Windows.L ...

  6. 自定义xunit测试用例的执行顺序

    有的时候我们会对程序进行单元测试, 为了测试的效果以及后期的维护, 我一般会将各个测试拆开, 根据需要测试的类分到各个类型中, 不过在实际操作的时候就出现了一些意想不到的问题, 各个测试的执行是乱序的 ...

  7. Hugging Face 在法国联合启动人工智能创业项目!

    Hugging Face.Meta.Scaleway 与法国创业孵化基地 STATION F 合作的人工智能创业项目正式启动 申请截止日期为 12 月 1 日本项目旨在利用开源人工智能的力量来扶持初创 ...

  8. 代码安全之代码混淆及加固(Android)🔒

    ​ 代码安全之代码混淆及加固(Android) 目录 代码安全之代码混淆及加固(Android) 摘要 引言 正文 代码混淆 代码加固 总结 参考资料 摘要 本文将介绍如何通过代码混淆和加固来保护An ...

  9. 在Dash中更灵活地编写回调函数

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,使用Dash开发过交互式应用的朋友,想必都不会对回调函数感到 ...

  10. 贪心算法:7-6 Swan学院社团招新

    Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开). [问题说明]这个问题是对几个相互竞争的招新宣讲会 ...