云原生容器高可用运维能力应用

摘要:华为云容器SRE在海量集群和容器运维实践中,从智能运维能力、确定性场景恢复等多方面总结出一套确定性运维实践,以应对云原生业务快速增长。

本文分享自华为云社区《云原生容器高可用运维能力应用》,作者:陈勇/刘志超/袁文峰。

云原生场景下,对架构高可用、应用高可用、基础云平台高可用提出了更高的要求,企业以及云平台都在不断致力于稳定性建设。但面对海量复杂的客户业务场景,业务会不可避免的遇到非预期的故障,比如配置异常、应用过载、底层网络异常、硬件故障等,当这些确定性故障场景出现时,如何做到快速诊断和快速恢复,如何在故障发生前提前识别风险、消除隐患,如何在故障发生时监控准确发现定界,一直是云计算厂商面临的困难问题之一。

云原生容器面对的挑战与解决方案

1、华为云云原生容器年复合增长快,需要维护的站点和k8s集群多,复杂的海量客户应用场景给运维工作带来巨大挑战。
2、云原生便捷的快速部署能力、可伸缩性使得用户业务容器、集群结构等无时无刻不在变化之中,单局点节点变化非常快。
3、云原生社区丰富的应用实践以及容器开放的部署方式,用户易出现配置类错误,导致故障发生。
4、面对客户不同的业务场景、集群类型,当前社区在监控准确率、故障快速定位恢复等通用运维能力尚无有效的解决方案。

解决思路:

1、现网客户请求事件同比增长,单纯依赖人力的运维已无法支撑业务的快速增长,以软件工程的手段解决现网运维中的实际困难,构建贴合业务特征的自动化运维平台。
2、将业务形态与业界开源方案相结合,构建可靠、可信的租户监控能力
3、打通运维能力产品化落地路径,将实践可靠的运维能力固化到产品中,提升产品易用性以及客户自运维能力。

智能运维能力

>> 故障预防

“故障预防"在确定性运维中是很重要的一环,可以有效避免客户业务发生故障。风险识别在故障预防中极为有效的一种手段,客户业务的高可用部署、容器的资源配置合理性、依赖各服务的使用配额、集群和节点分配和使用率等,均会导致业务存在潜在风险,完备、及时的有效风险识别可消除客户业务隐患,防止应用故障。

解决思路和措施:

a. 结合历史现网故障以及容器业务架构,梳理关键风险场景和有效监控指标。
b. 基于专家经验、历史故障场景、结合租户历史行为,构建风险指标判断识别系统,自动检测租户容器场景集群风险项,为集群构建集群画像,识别集群风险。
c. 风险识别能力实现原子化对接TSC平台,赋能客户经理。
d. 风险识别联动周边,推动产品设计改进、引导租户提前消除、支撑SRE风险收编以及故障快速恢复。

云原生容器高可用运维能力应用

现网效果:

周级别自动识别全网集群风险、分钟级单集群深度自动巡检,数据入湖并被TSC订阅消费。

云原生容器高可用运维能力应用

>> 监控故障发现

监控发现”旨在先于客户发现,在底层ECS故障、网络故障发生时,及时发现故障,及时自愈或通知到客户,尽最大可能短时间止损,减少客户的损失。另一方面,在真正客户业务受损时,监控要做到快速判断故障影响面,做到应用链路透视监控,可以辅助快速定位至故障点。

解决思路和措施:

  1. 历史事件+业务架构,确定监控场景:通过对历史现网事件负向分析和容器场景故障模式正向分析,梳理确定容器监控场景。
  2. 从0到1构建监控能力:构建容器prometheus监控能力,实现从集群、租户、站点三级视图的监控能力,并完成1-N个站点的快速复制和覆盖。
  3. 引入基于孤立森林的智能检测算法以及租户面集群容器状态细粒度监控等不断提升监控覆盖率和准确度。

云原生容器高可用运维能力应用

现网效果:

容器现网warroom提前发现率显著提高。

云原生容器高可用运维能力应用

确定性场景恢复

>> 快速定位恢复

“快速定位恢复”从定位和止损两方面出发,目标是降低故障发生后的MTTR,减少客户业务损失。通过历史海量用户故障输入,明确故障确定性场景,针对这些确定性故障场景,建设自动诊断能力和一键恢复预案能力。

解决思路和措施:

a. 基于CMC/AOM/Promtheus/CLS/datahub等构建容器场景全指标监控接入.

b. 结合容器场景业务生命周期以及现网故障,构建容器域故障推导模型。

c. 结合监控数据,业务性,CLS日志等构建故障推导原子能力。

d. 基于CAR打造故障定位编排引擎。

e. 结合故障模式以及应急预案,降故障恢复动作平台化。

云原生容器高可用运维能力应用

现网效果:

  1. 实现核心故障场景预案平台化、构建故障场景故障定位能力,对应确定性故障场景5min定界。
  2. 对应确定性故障场景实现10min恢复。

云原生容器高可用运维能力应用

云原生容器场景运维方向

未来华为云云原生容器体量会更快速的增长,k8s社区新特性也在快速迭代,跨云跨地域业务部署是大趋势,如何在云原生时代为客户业务提供稳定的运维保障能力,如何在不断指数式增长的容器规模下,构建统一确定性运维能力是我们的方向。

总结

华为云通过海量复杂云原生客户业务场景,从风险预防、数据面监控、故障自动诊断、确定性场景预案恢复等方面,识别云原生客户云上确定性业务使用和故障场景,持续构建智能运维能力和确定性场景恢复能力,保障客户云上业务稳定,以应对云原生业务快速增长。

 

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

原文链接:https://www.cnblogs.com/huaweiyun/p/17272932.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:云原生容器高可用运维能力应用 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • 全部满分!阿里云函数计算通过可信云21项测试

    简介: 在未来,无论是一方云服务,还是三方应用,所有事件都可被函数计算等服务可靠地处理。 今日,“2020 可信云线上峰会”正式召开。会上,中国信通院公布了混合云安全、云组网、函数即服务、消息队列、云计算安全运营中心等首次评估结果。阿里云函数计算通过了基础能力要求、平台可观测能力、服务性能、服务安全和服务计量准确性等 21 项测试,最终以满分成绩通过可信云函…

    云计算 2023年4月12日
    00
  • asp.net利用ashx文件实现文件的上传功能

    下面是关于“asp.net利用ashx文件实现文件的上传功能”的完整攻略: 1. 环境准备 在开始之前,我们需要准备好开发环境。本文假定读者已经熟悉C#和ASP.NET技术,同时使用的是Visual Studio 2019社区版。 2. 创建ashx文件 在项目中新建一个.ashx文件,可以命名为“FileUploadHandler.ashx”(当然,也可以…

    云计算 2023年5月17日
    00
  • Python数据标准化的实例分析

    Python数据标准化实例分析 在数据分析与建模中,数据预处理对于算法的效果有着很大影响。其中,数据标准化是一种常见的预处理方式。本文将详细介绍Python中数据标准化的实现过程,并通过两个实例对标准化的作用进行说明。 一、数据标准化的介绍 数据标准化也称为数据缩放,是对数值型数据进行预处理的一种方式。数据标准化的目标是将不同规模的数据进行统一处理,以便更好…

    云计算 2023年5月18日
    00
  • php获取ajax的headers方法与内容实例

    当使用Ajax发送HTTP请求时,通常需要将一些HTTP头信息传递给服务器,因此,我们需要在PHP中获取这些HTTP头信息。 在PHP中,可以通过$_SERVER[‘HTTP_X_REQUESTED_WITH’]全局变量来判断当前请求是否为Ajax请求。如果请求是Ajax请求,那么可以通过$_SERVER[‘HTTP_XXXX’]来获取HTTP头信息,其中’…

    云计算 2023年5月17日
    00
  • c# 常见文件路径Api的使用示例

    下面是关于“C#常见文件路径API的使用示例”的完整攻略,包含两个示例说明。 简介 在C#应用程序中,我们经常需要使用文件路径API来操作文件和目录。在本攻略中,我们将介绍C#中常见的文件路径API,并提供两个示例说明。 步骤 在C#应用程序中使用文件路径API时,我们可以通过以下步骤来实现: 使用System.IO命名空间。 使用Path类。 使用Dire…

    云计算 2023年5月16日
    00
  • 全面剖析eBay的Hadoop集群应用及大数据管理

    全面剖析eBay的Hadoop集群应用及大数据管理 eBay是全球最大的在线拍卖和购物平台之一,其成功的关键之一是其高效的Hadoop集群应用和大数据管理能力。本文将介绍eBay如何通过Hadoop集群应用和大数据管理来实现其成功。 1. 背景介绍 eBay是全球最大的在线拍卖和购物平台之一,其每天处理数以亿计的交易数据和用户行为数据。为了处理这些数据,eB…

    云计算 2023年5月16日
    00
  • 云计算中auto-scaling 最早的来源

    什么是弹性?首先,整合计算资源,将计算资源池化,通过虚拟机按需使用计算资源;其次,按量计费,让用户能够根据使用量按月按时甚至按秒来进行付费。   不过,光有了这两条还不够。为什么?我举个例子:   很多做运维的朋友都深有体会,比如因为一个系统的警告,你就得立即去调度更多的资源,哪怕是深更半夜也得爬起来。   应对的解决方案有很多种,比如加大冗余,让计算资源不…

    云计算 2023年4月11日
    00
  • python变量赋值方法(可变与不可变)

    Python 是一门面向对象的编程语言,所有的数据类型都被视为万物皆对象。Python 中的变量赋值是名字(变量)和对象之间的绑定,其中对象包括可变和不可变对象。在介绍 Python 变量赋值方法(可变与不可变)之前,我们需要先了解 Python 中的对象有哪些类型和可变与不可变对象的区别。 Python 中的对象类型大致有以下几种: 数字类型(int、fl…

    云计算 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部