一种基于FaaS的云原生应用自动化运维方法技术

技术编号:38634754 阅读:17 留言:0更新日期:2023-08-31 18:31
本发明专利技术提出一种基于FaaS的云原生应用自动化运维方法,包括:运维策略定义和整理;使用FaaS函数计算平台开发运维任务并提供API;自定义函数计算执行引擎扩展自动化运维功能;自动化运维策略描述和部署;运维执行引擎和事件监听;进行事件过滤、策略匹配、候选任务执行、任务调度和安全检查、异常处理和日志记录。本发明专利技术利用了FaaS函数计算能够高效、快速开发的优势,运维工程师可以快速利用FaaS编写出自动化运维任务,同时又利用了云原生应用底座Kubernetes的机制,监听应用变更事件,运维工程师可以通过CRD配置运维策略将系统事件与FaaS函数绑定,从而自动触发运维任务,实现简单、高效的自动化运维。高效的自动化运维。高效的自动化运维。

【技术实现步骤摘要】
一种基于FaaS的云原生应用自动化运维方法


[0001]本专利技术涉及DevOps领域,具体涉及一种基于FaaS的云原生应用自动化运维方法。

技术介绍

[0002]随着各个行业的数字化转型,诞生了越来越多的应用,众多应用带了高昂的运维成本,而且应用的稳定性也越来越重要,关乎到各个行业的正常运转,因此提升应用的运维效率非常关键。云原生是应用的最新范式,越来越成为一种主流,因此需要为云原生应用建立自动化运维能力。
[0003]云原生应用通常部署在Kubernetes平台上,Kubernetes平台已经内置了一些自动化运维能力,比如节点失效后,节点上的应用会自动重新调度;探针失效后,容器实例会自动重建等。但是除了这些标准的自动化运维手段之外,还有很多运维动作是无法标准化的,需要结合实际环境来进行,比如:如果要实现应用的自动化开通,需要在新部署应用时,与外部系统(比如:安全中心)进行交互,对应用进行注册和授权。这种非标准化的运维工作需要结合实际情况来完成。
[0004]为了实现全面自动化,需要将非标准化的运维动作也做到自动化,通常有如下几种实现方法:1)Kubernetes平台中提供了一种Operator扩展机制,可以通过开发一个新的Operator来定制一些自动化运维功能,但是Operator的开发和调试比较复杂,而大部分现场运维工程师并非专业的开发人员,使用Operator来实现自动化运维难度大,无法规模推广。
[0005]2)运维工程师可以通过编写脚本的方式,简单、快速地实现一些自动化运维的功能,但是一方面脚本能够实现的功能有限,无法与Kubernetes平台深度融合,另外一方面,这样零散的脚本通常缺乏现代化的管理手段,无法支持版本管理、灰度发布、按需部署等特性,运维质量难以保障。
[0006]3) 运维工程师提出具体需求,由专业的开发团队来负责自动化运维任务的开发,并提供产品化的工具产品,但是从需求提出到最终版本发布,整个过程流程比较长,无法满足个性化需求快速响应的要求,并且要实现运维自动化的全面覆盖,成本也比较高。
[0007]因此,当前已有的方式都存在着各种缺点。

技术实现思路

[0008]为克服现有技术的不足,本专利技术提出一种基于FaaS的云原生应用自动化运维方法,其利用了FaaS函数计算能够高效、快速开发的优势,运维工程师可以快速利用FaaS编写出自动化运维任务,同时又利用了云原生应用底座Kubernetes的机制,监听应用变更事件,运维工程师可以通过CRD配置运维策略将系统事件与FaaS函数绑定,从而自动触发运维任务,实现简单、高效的自动化运维。
[0009]为实现上述目的,一种基于FaaS来实现云原生应用自动化运维的方法,包括:
步骤S1:整理自动化运维策略;步骤S2:使用FaaS函数计算平台开发运维任务并提供API;步骤S3:在FaaS函数计算平台新增函数计算执行引擎,函数计算执行引擎扩展自动化运维功能;步骤S4:描述和部署步骤S1中的自动化运维策略;步骤S5:新增运维执行引擎以及进行事件监听;步骤S6:进行事件过滤、策略匹配、候选任务执行、任务调度和安全检查、异常处理和日志记录;进一步地,步骤S3具体为在FaaS函数计算平台上,新增一个自定义函数计算执行引擎,用于扩展自动化运维功能,执行引擎封装运维任务,简化任务的开发工作。
[0010]进一步地,步骤S4具体为在Kubernetes平台上新增一个名为Orchestration的自定义CRD资源,通过创建Orchestration对象实例,描述自动化运维策略,包括运维对象、触发事件、对应的运维任务API以及异常处理方式信息。
[0011]进一步地,步骤S5具体为新增一个运维执行引擎,通过Kubernetes的API Server(应用程序接口服务器)模块的RESTful接口以Watch模式监听平台上各种资源的创建、更新、删除和异常事件。
[0012]进一步地,步骤S6具体为:步骤S61:运维执行引擎根据自动化运维策略中的规则,对从事件监听中采集到的事件进行过滤和匹配;步骤S62:匹配的事件触发相应的运维任务,通过调用FaaS函数来执行;步骤S63:任务调度和安全检查确保高风险任务得到管理员确认后才执行;步骤S64:对于异常情况,根据策略定义进行处理,选择忽略异常或进行重试;步骤S65:函数调用信息被记录到日志文件中。
[0013]进一步地,还包括引入机器学习和人工智能,具体如下:步骤S71: 收集和分析历史运维数据,识别出与故障相关的模式和特征;步骤S72:基于机器学习模型,预测系统中潜在的故障风险,并采取相应的自动化运维措施;步骤S73:利用机器学习算法优化任务调度,以提高资源利用率和响应速度。
[0014]进一步地,还包括自动化决策和智能优化,具体如下:步骤S81:设计并实现自动化决策引擎,根据预定义的规则和策略,自动决策任务的执行顺序和优先级;步骤S82:基于实时监测的运维数据,例如CPU利用率、内存使用量等,动态调整任务的资源分配,以优化运维效率和性能。
[0015]进一步地,还包括区块链技术应用,具体如下:步骤S91:选择合适的区块链平台,例如Hyperledger Fabric、Ethereum等,部署区块链网络;步骤S92:设计智能合约和链码,用于记录运维任务执行的信息和日志;步骤S93:将关键的运维任务执行信息和日志记录到区块链上,确保数据的不可篡改性和可追溯性。
[0016]与现有技术相比,本专利技术的有益效果是:1.本专利技术提供了一种基于FaaS的云原生应用自动化运维方法,充分利用了Serverless的优势,不仅开发效率高,并且能够充分利用FaaS底层平台的支撑能力,适合一线运维工程师快速地开发自定义运维任务;2.本专利技术提供了一种基于FaaS的云原生应用自动化运维方法,充分利用Kubernetes的插件机制,将规则信息以Kubernetes的CRD的方式进行管理,方便运维工程师通过YAML配置进行统一的管理,支持GitOps等现代化运维方式;3.本专利技术提供了一种基于FaaS的云原生应用自动化运维方法,通过Kubernetes的事件变更机制,能够覆盖云原生应用的部署、升级、弹性伸缩、异常重启等各种生命周期事件,解决大部分的运维自动化的要求,无须引入新的内容;4.本专利技术提供了一种基于FaaS的云原生应用自动化运维方法,用户可以快速创建、编辑自动化运维任务,实时生效,无须复杂的编译、构建、发布等流程,流程环节少,可以高效,快速地构建起一套自动化运维机制。
附图说明
[0017]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本专利技术流程图;图2是整体方案示意图;图3是运维执行引擎的原理示意图。...

【技术保护点】

【技术特征摘要】
1.一种基于FaaS来实现云原生应用自动化运维的方法,其特征在于,包括:步骤S1:整理自动化运维策略;步骤S2:使用FaaS函数计算平台开发运维任务并提供API;步骤S3:在FaaS函数计算平台新增函数计算执行引擎,函数计算执行引擎扩展自动化运维功能;步骤S4:描述和部署步骤S1中的自动化运维策略;步骤S5:新增运维执行引擎以及进行事件监听;步骤S6:进行事件过滤、策略匹配、候选任务执行、任务调度和安全检查、异常处理和日志记录。2.根据权利要求1所述的一种基于FaaS来实现云原生应用自动化运维的方法,其特征在于,步骤S3具体为在FaaS函数计算平台上,新增一个自定义函数计算执行引擎,用于扩展自动化运维功能,执行引擎封装运维任务,简化任务的开发工作。3.根据权利要求1所述的一种基于FaaS来实现云原生应用自动化运维的方法,其特征在于,步骤S4具体为在Kubernetes平台上新增一个名为Orchestration的自定义CRD资源,通过创建Orchestration对象实例,描述自动化运维策略,包括运维对象、触发事件、对应的运维任务API以及异常处理方式信息。4.根据权利要求1所述的一种基于FaaS来实现云原生应用自动化运维的方法,其特征在于,步骤S5具体为新增一个运维执行引擎,通过Kubernetes的API Server模块的RESTful接口以Watch模式监听平台上各种资源的创建、更新、删除和异常事件。5.根据权利要求1所述的一种基于FaaS来实现云原生应用自动化运维的方法,其特征在于,步骤S6具体为:步骤...

【专利技术属性】
技术研发人员:罗剑锋王玉木刘启铨
申请(专利权)人:浩鲸云计算科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1