CN117251247A - 运维审计平台部署方法、装置、电子设备及存储介质 - Google Patents

运维审计平台部署方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117251247A
CN117251247A CN202310282703.7A CN202310282703A CN117251247A CN 117251247 A CN117251247 A CN 117251247A CN 202310282703 A CN202310282703 A CN 202310282703A CN 117251247 A CN117251247 A CN 117251247A
Authority
CN
China
Prior art keywords
component
audit platform
maintenance
maintenance audit
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310282703.7A
Other languages
English (en)
Inventor
裴旭斌
陈旺平
陈泽堃
季超
卢文达
孙世东
王嘉怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information and Telecommunication Branch of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
Information and Telecommunication Branch of State Grid Zhejiang Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information and Telecommunication Branch of State Grid Zhejiang Electric Power Co Ltd filed Critical Information and Telecommunication Branch of State Grid Zhejiang Electric Power Co Ltd
Priority to CN202310282703.7A priority Critical patent/CN117251247A/zh
Publication of CN117251247A publication Critical patent/CN117251247A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本发明提供一种运维审计平台部署方法、装置、电子设备及存储介质,首先封装运维审计平台中各服务组件的镜像文件;进而创建运维审计平台的数据持久化卷声明;进一步创建各服务组件的不同资源类型的配置文件;最后基于数据持久化卷声明启动运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对运维审计平台的部署。本发明考虑Kubernetes集群的自动化部署、大规模、可伸缩、应用容器化管理、以及自动对应用实例的管理、发现和访问的特性,将运维审计平台部署于Kubernetes集群中而不需要额外的双活方案,同时也不再需要考虑内部服务组件负载均衡机制。

Description

运维审计平台部署方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机应用和容器技术领域,涉及一种运维审计平台部署方法、装置、电子设备及存储介质,更具体地说,涉及一种基于Kubernetes的运维审计平台部署方法、装置、电子设备及存储介质。
背景技术
目前,随着企事业单位IT系统的不断发展,网络规模和设备数量迅速扩大,日趋复杂的IT系统与不同背景的运维人员的行为给信息系统安全带来较大风险。
其从功能上讲,运维审计平台综合了核心系统运维和安全审计管控两大主干功能;从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。形象地说,终端计算机对目标的访问,均需要经过运维安全审计的翻译。因此运维安全审计能够拦截非法访问和恶意攻击,对不合法命令进行命令阻断,过滤掉所有对目标设备的非法访问行为,并对内部人员误操作和非法操作进行审计监控,以便事后责任追踪。
现阶段运维审计平台部署方式确实已经很简单了,但这还只是局限于单机部署。当需要高可用更甚至分布式部署时,需要考虑数据库的主从、主主配置、集群配置;KeepAlive高可用的配置、KeepAlive的切换脚本;安全审计的高可用等等,而这些也是一个需可持续运行的运维审计平台一定要考虑的。
而对于kubernetes集群,运维审计平台由于内部无负载均衡机制所以需要在外部重新引入一层负载均衡,额外增加了维护成本。从特性上看,运维审计平台是一款流量处理平台,需要具备高流量的处理能力,因此自动化部署、大规模、可伸缩、应用容器化管理也是运维审计平台在架构上需要做到的改变。
发明内容
有鉴于此,为解决上述问题,本发明提供一种运维审计平台部署方法、装置、电子设备及存储介质,技术方案如下:
一种运维审计平台部署方法,所述方法包括:
封装运维审计平台中各服务组件的镜像文件;
创建所述运维审计平台的数据持久化卷声明;
创建各服务组件的不同资源类型的配置文件;
基于所述数据持久化卷声明启动所述运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对所述运维审计平台的部署。
优选的,所述方法还包括:
将各服务组件的镜像文件上传至私有镜像仓库。
优选的,所述封装运维审计平台中各服务组件的镜像文件,包括:
封装所述运维审计平台中核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB服务组件各自的镜像文件。
优选的,所述封装运维审计平台中各服务组件的镜像文件,包括:
启动所述运维审计平台的容器中的操作系统,编译并执行各服务组件的组件代码,以实现安装各服务组件;
运行各服务组件,使用镜像创建命令将各服务组件的容器封装为相应的镜像文件。
优选的,所述创建所述运维审计平台的数据持久化卷声明,包括:
确定用于存储所述运维审计平台的操作数据、日志数据和缓存数据的存储系统,所述存储系统包括网络文件系统;
执行针对所述数据持久化卷声明的定义操作,所述定义操作包括指定持久化存储名为所述网络文件系统、以多路读写授权模式定义所述运维审计平台的操作数据、日志数据和缓存数据各自对应的使用权限、定义所述运维审计平台的操作数据的容量、日志数据和缓存数据各自的使用容量;
在所述定义操作执行完毕的情况下,基于所述定义操作的操作信息创建所述数据持久化卷声明。
优选的,所述创建各服务组件的不同资源类型的配置文件,包括:
创建各服务组件的调度配置文件和功能配置文件,所述调度配置文件用于管理所属服务组件的副本数量,所述功能配置文件用于定义所属服务组件的功能。
一种运维审计平台部署装置,所述装置包括:
封装模块,用于封装运维审计平台中各服务组件的镜像文件;
第一创建模块,用于创建所述运维审计平台的数据持久化卷声明;
第二创建模块,用于创建各服务组件的不同资源类型的配置文件;
部署模块,用于基于所述数据持久化卷声明启动所述运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对所述运维审计平台的部署。
优选的,所述装置还包括:
上传模块,用于将各服务组件的镜像文件上传至私有镜像仓库。
一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现所述的运维审计平台部署方法。
一种存储介质,所述存储介质存储有计算机程序代码,所述计算机程序代码执行时实现所述的运维审计平台部署方法。
相较于现有技术,本发明实现的有益效果为:
本发明提供一种运维审计平台部署方法、装置、电子设备及存储介质,首先封装运维审计平台中各服务组件的镜像文件;进而创建运维审计平台的数据持久化卷声明;进一步创建各服务组件的不同资源类型的配置文件;最后基于数据持久化卷声明启动运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对运维审计平台的部署。本发明考虑Kubernetes集群的自动化部署、大规模、可伸缩、应用容器化管理、以及自动对应用实例的管理、发现和访问的特性,将运维审计平台部署于Kubernetes集群中而不需要额外的双活方案,同时也不再需要考虑内部服务组件负载均衡机制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的运维审计平台部署方法的方法流程图;
图2为本发明实施例提供的运维审计平台部署方法的部分方法流程图;
图3为本发明实施例提供的运维审计平台部署方法的另一方法流程图;
图4为本发明实施例提供的运维审计平台部署方法的另一部分方法流程图;
图5为本发明实施例提供的运维审计平台部署装置的结构示意图;
图6为本发明实施例提供的运维审计平台部署装置的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
Kubernetes是一个一站式的完备的分布式系统开发和支撑平台,更是一个开放平台,对现有的编程语言、编程框架、中间件没有任何侵入性,提供了完善的管理工具,这些工具涵盖了开发、部署测试、运维监控在内的各个环节。Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制、多粒度的资源配额管理能力。
Kubernetes采用分布式架构,将集群中的机器划分为一个管理节点(Master)和一群工作节点(Node)。其中,在管理节点上运行着管理集群相关的一组进程kuber-apiserver、kube-controller-manager和kuber-scheduler,这些进程实现了整个集群的资源管理、自我修复、服务发现和负载均衡、弹性伸缩、安全控制、自动部署和回滚等管理、机密和配置管理功能、存储编排、批处理等功能:
自我修复:在节点故障时,重新启动失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理用户的请求,确保线上服务不中断。
服务发现和负载均衡:Kubernetes为多个容器提供一个统一访问入口(内部IP(Internet Protocol,网络互连协议)地址和一个DNS(Domain Name System,域名系统)名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。
弹性伸缩:使用命令、UI(User Interface,用户界面)或者基于CPU(CentralProcessing Unit/Processor,CPU)使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务。
自动部署和回滚:Kubernetes采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不影响业务。
机密和配置管理:管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在Kubernetes中,方便应用程序使用。
存储编排:挂载外部存储系统,无论是来自本地存储,公有云,还是网络存储,都作为集群资源的一部分使用,极大提高存储使用灵活性。
批处理:提供一次性任务,定时任务;满足批量数据处理和分析的场景。
基于Kubernetes的功能特性,本发明提供一种运维审计平台部署方法。参见图1,图1为本发明实施例提供的运维审计平台部署方法的方法流程图,如图1所示,该运维审计平台部署方法包括如下步骤:
S10,封装运维审计平台中各服务组件的镜像文件。
本发明实施例中,运维审计平台所需要的镜像包括核心组件镜像、字符操作审计组件镜像、图形化操作审计组件镜像、数据库组件镜像、缓存组件镜像、前端UI组件镜像、WEB服务组件镜像。
对此,本发明中分别封装运维审计平台中核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB(World Wide Web,互联网)服务组件各自的镜像文件。
具体实现过程中,步骤S10“封装运维审计平台中各服务组件的镜像文件”可以采用如下步骤,方法流程图如图2所示:
S101,启动运维审计平台的容器中的操作系统,编译并执行各服务组件的组件代码,以实现安装各服务组件。
S102,运行各服务组件,使用镜像创建命令将各服务组件的容器封装为相应的镜像文件。
以下对封装核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB服务组件各自的镜像文件,分别进行说明:
1)封装核心组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行核心组件的组件代码,安装核心组件;进而,运行核心组件的功能,使用镜像创建命令(即docker commit命令)将核心组件的容器封装为核心组件镜像,以此封装得到核心组件的镜像文件。制作核心组件镜像的目的是管理运维审计平台所有的配置,是运维审计平台不可缺少的后台管理组件。
2)封装字符操作审计组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行字符操作审计组件的组件代码,安装字符操作审计组件;进而,运行字符操作审计组件的功能,使用镜像创建命令(即docker commit命令)将字符操作审计组件的容器封装为字符操作审计组件镜像,以此封装得到字符操作审计组件的镜像文件。制作字符操作审计组件镜像的目的是运维审计平台对所有以命令方式做运维操作的管理,是运维审计平台审计组件之一。
3)封装图形化操作审计组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行图形化操作审计组件的组件代码,安装图形化操作审计组件;进而,运行图形化操作审计组件的功能,使用镜像创建命令(即docker commit命令)将图形化操作审计组件的容器封装为图形化操作审计组件镜像,以此封装得到图形化操作审计组件的镜像文件。制作图形化操作审计组件镜像的目的是运维审计平台对所有以鼠标点击图形方式做运维操作的管理,是运维审计平台审计组件之一。
4)封装数据库组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行数据库组件的组件代码,安装数据库组件;进而,启动数据库组件,使用镜像创建命令(即docker commit命令)将数据库组件的容器封装为数据库组件镜像,以此封装得到数据库组件的镜像文件。制作数据库组件镜像的目的是存储运维审计平台所有的信息,保证平台重启后,信息也不会丢失。
5)封装缓存组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行缓存组件的组件代码,安装缓存组件;进而,启动缓存组件,使用镜像创建命令(即docker commit命令)将缓存组件的容器封装为缓存组件镜像,以此封装得到缓存组件的镜像文件。制作缓存组件镜像的目的是操作运维审计平台时,请求的前端页面临时存放在缓存组件中,加快使用维审计平台时的反应,使用流程。
6)封装前端UI组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行前端UI组件的组件代码,安装前端UI组件;进而运行前端UI组件的功能,使用镜像创建命令(即docker commit命令)将缓存组件的容器封装为前端UI组件镜像,以此封装得到前端UI组件的镜像文件。制作前端UI组件镜像的目的是将运维审计平台的功能通过图形化展现出来供用户操作,是运维审计平台不可缺少的前端展示组件。
7)封装WEB服务组件的镜像文件。启动运维审计平台的容器中操作系统(如linux系统),编译并执行WEB服务组件的组件代码,安装WEB服务组件;进而,启动WEB服务组件的WEB服务,使用镜像创建命令(即docker commit命令)将WEB服务组件的容器封装为WEB服务组件镜像,以此封装得到WEB服务组件的镜像文件。制作WEB服务组件镜像的目的是用户可以通过浏览器输入运维审计平台的IP即可访问平台,而不需安装客户端。
在此基础上,为实现镜像文件的管理,本发明实施例提供的运维审计平台部署方法还可以包括如下步骤,方法流程图如图3所示:
S50,将各服务组件的镜像文件上传至私有镜像仓库。
本发明实施例中,私有镜像仓库可以为Harbor私有镜像仓库。在Kubernetes集群中,容器应用都是基于镜像启动的,在内网生产环境下搭建Harbor私有镜像库对镜像进行统一管理,Harbor是在企业级的。包含企业级特性:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
对此,在封装完运维审计平台需要的所有镜像文件之后,可以将所有的镜像导入指定的私有镜像仓库内统一管理,方便后期对镜像的统一更新、删除,这样后续在不同生产环境中使用运维审计平台都只需要从镜像仓库加载即可,不需再手动更新每个服务组件。
S20,创建运维审计平台的数据持久化卷声明。
本发明实施例中,由于运维审计平台的工作是对运维操作提供记录供审计,因此需要对运维审计平台的操作数据进行持久化保存。此外,运维审计平台的每个服务组件在工作时产生的系统日志(即日志数据)也需要持久化保存,供服务组件出现异常时可以通过日志排除问题。并且,运维审计平台在日常工作中,为了方便操作人的常用数据查看,会将数据缓存起来,供反复使用,因此需要运维审计平台的缓存数据进行持久化保存。
具体实现过程中,步骤S20“创建运维审计平台的数据持久化卷声明”可以采用如下步骤,方法流程图如图4所示:
S201,确定用于存储运维审计平台的操作数据、日志数据和缓存数据的存储系统,存储系统包括网络文件系统。
本发明实施例中,运维审计平台的操作数据、日志数据、缓存数据均使用网络文件系统(Network File System,NFS)存储,使用网络文件系统存储数据的优势在于NFS服务稳定,不容易出故障。
运维审计平台使用网络文件系统来存数据,还需要在Kubernetes集群中使用数据持久化卷声明(Persistent Volume Claim,PVC),声明提供网络文件系统的存储容量是供给运维审计平台使用的,运维审计平台需要持久化保存数据在网络文件系统上进行存储。
S202,执行针对数据持久化卷声明的定义操作,定义操作包括指定持久化存储名为网络文件系统、以多路读写授权模式定义运维审计平台的操作数据、日志数据和缓存数据各自对应的使用权限、定义运维审计平台的操作数据的容量、日志数据和缓存数据各自的使用容量。
本发明实施例中,为创建运维审计平台的数据持久化卷声明,需要将数据持久化卷声明中的持久化存储名(StorageClassName)指定为网络文件系统,表示提供给运维审计平台存储操作数据、日志数据、缓存数据的是网络文件系统,明确运维审计平台存储数据的信息。
另外,在数据持久化卷声明中定义运维审计平台的操作数据、日志数据、缓存数据对于数据持久化卷声明可以使用的权限,使用权限均采用更为灵活的多路读写(ReadWriteMany,RWX)授权模式,该授权模式可以让运维审计平台的操作数据、日志数据、缓存数据无限制的持久化保存,以及在需要查看的时候无限制的查看数据,该授权模式使运维审计平台内的每个服务组件的Pod(应用)均有权限将数据持久化保存起来。
由于运维审计平台的主要工作就是对运维操作提供记录供审计,因此运维审计平台会产生大量的操作数据,对此可以定义操作数据的容量最大,在数据持久化卷声明中定义操作数据的使用容量为200G;由于运维审计平台在每天都有操作人会登入,因此需要准备一定容量缓存数据,对此可以在数据持久化卷声明中定义缓存数据的使用容量为100G;运维审计平台的每个服务组件在日常工作中难免会出现异常的情况,所以需要准备少量的容量存储每个服务组件的日志数据,确保在出现异常后可以查看日志判断异常原因,对此可以在数据持久化卷声明中定义日志数据的使用容量为10G。
S203,在定义操作执行完毕的情况下,基于定义操作的操作信息创建数据持久化卷声明。
本发明实施例中,创建运维审计平台的数据持久化卷声明时,启动持久化存储保存运维审计平台的数据,供运维审计平台的操作数据、运维审计平台服务组件的日志数据、运维审计平台的缓存数据做数据持久化使用,使用Kubernetes集群的数据持久化卷,Kubernetes集群会确保数据记录保存在指定的网络文件系统上,防止异常故障重启后运维审计平台能自动找到保存在网络文件系统上的数据,不会丢失。
S30,创建各服务组件的不同资源类型的配置文件。
本发明实施例中,在Kubernetes集群上部署运维审计平台的方式采取通过YAML配置文件定义每个服务组件的资源信息,修改资源只需要修改YAML配置文件内的信息后运维审计平台的服务组件就会自动调整。
具体实现过程中,步骤S30“创建各服务组件的不同资源类型的配置文件”可以采用如下步骤:
创建各服务组件的调度配置文件和功能配置文件,调度配置文件用于管理所属服务组件的副本数量,功能配置文件用于定义所属服务组件的功能。
本发明实施例中,核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB服务组件都需要创建调度配置文件(即Deployment&Service.yaml配置文件,其中,Deployment是指在Kubernetes集群中管理运维审计平台Pod控制器的名称,用于管理各服务组件的副本数量)。当启动服务组件后,Kubernetes集群会按照调度配置文件所指定的副本数量启动相应数量的Pod,举例来说,副本数量为1、启动1个Pod,副本数量为2、启动2个Pod防止当有Pod崩溃,剩余Pod少于指定的副本数量时,剩余Pod承担过重的工作负载,而导致全部Pod都崩溃的情况,导致运维审计平台功能故障,Deployment会在Pod崩溃后创建新的Pod,保证Pod数量符合指定的副本数量。
此外,不同服务组件的Pod由各自服务组件的Service(服务)提供对外访问的映射端口,以提供负载作用,把外部访问工作均匀的分配到各自服务组件的Pod上,保证每个服务组件的Pod都参与工作,不会出现只有一个Pod工作承担过重的工作负载、而其他Pod空闲。当有Pod崩溃,Service会将外部的访问工作分配到还是正常的Pod,使外部访问就不会发现Pod的崩溃,直到Deployment创建新的Pod。
进一步,核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB服务组件都需要定义好第一步封装镜像文件的位置(即私有镜像仓库中镜像文件的位置),在启动运维审计平台时,Kubernetes集群会到指定的位置上加载启动镜像。
更进一步,核心组件除调度配置文件外还需要配置两个功能配置文件(即两个YAML配置文件)。其中,一个功能配置文件是celery.yaml文件,该文件用于启动运维审计平台自动化任务,使用运维审计平台下发自动执行任务可以正常执行;另一个功能配置文件是config.yaml文件,用于记录核心组件管理别的服务组件的配置信息。两个功能配置文件共同定义了核心组件的功能。
数据库组件除调度配置文件外还需要配置一个功能配置文件(即一个YAML配置文件,具体为ConfigMap.yaml配置文件)。将数据库组件的账号密码等安全信息记录在ConfigMap.yaml配置文件中,当服务组件的Pod启动时通过加载引用ConfigMap中定义的ConfigMap.yaml配置文件可以自动生成数据库组件的账户信息。
缓存组件除调度配置文件外还需要配置一个功能配置文件(即一个YAML配置文件,具体为ConfigMap.yaml配置文件)。将缓存组件的缓存方式、超时时间等信息记录在ConfigMap.yaml文件中,当服务组件的Pod启动时通过加载引用ConfigMap中定义的可以自动定义缓存组件的缓存机制方式。
WEB服务组件除调度配置文件外还需要配置一个功能配置文件(即一个YAML配置文件,具体为域名管理的Deployment&Service.yaml配置文件)。通过Deployment&Service.yaml配置文件可以使用www.域名.com的方式访问运维审计平台。
S40,基于数据持久化卷声明启动运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对运维审计平台的部署。
具体实现过程中,可以以如下流程实现对运维审计平台的部署:
1)准备网络文件系统存储。使用网络文件系统为Kubernetes集群提供持久化存储服务,来保存运维审计平台操作数据、日志数据、缓存数据。
在网络文件系统上将采取rw(可读取、写入)、no_root_squash(以最高身份权限操作读取、写入)的权限设置,保证了Kubernetes集群上运维审计平台的数据可以正常落入到网络文件系统上,并且是以最高身份权限操作读取、写入。
2)在数据持久化卷声明中设置持久化存储名,指定存储供应者来源为网络文件系统。使用持久化存储名的优势在于,运维审计平台通过其将数据存储在网络文件系统上,异常崩溃重启能自动找到之前指定的网络文件系统和网络文件系统上的数据,无需人为手工为运维审计平台找存储,当需要关闭运维审计平台后,存储的数据永久保留,为再次启动运维审计平台时保留数据。
3)使用Kubernetes服务的kubectl命令根据之前配置的数据持久化卷声明,在启动运维审计平台时会自动找到网络文件系统存储作为持久化卷。
4)在Kubernetes集群中创建一个属于运维审计平台的命名空间(即Namespace),进入运维审计平台的命名空间,使用Kubernetes服务的kubectl命令根据之前配置的服务组件的调度配置文件和功能配置文件依次启动数据库组件-缓存组件-核心组件-字符操作审计组件-图形化操作审计组件-前端UI组件-WEB服务组件,基于Kubernetes的运维审计平台部署完成。
本发明实施例提供的运维审计平台部署方法,利用Kubernetes集群的特性(自动化部署、大规模、可伸缩、应用容器化管理,自动对应用实例的管理、发现、访问,这些细节都不需要人员去进行复杂的手工配置和处理),部署在Kubernetes集群中运维审计平台部署不在需要额外的双活方案;同时也不在需要考虑内部服务组件负载均衡机制;服务组件扩容不在需要人工操作增加配置、机器来完成。更重要的一点,使用Kubernetes的控制器Deployment+PVC+Service实现在运维审计平台服务设计时指定副本模式,当节点有任何一个挂掉时,都会重新启动另外一个新的容器,使整个运维审计平台服务一直保持指定的副本模式,同时对于运维审计平台需要的CPU、内存等资源也可以根据使用率进行自动扩展。
基于上述实施例提供的运维审计平台部署方法,本发明实施例则对应提供执行上述运维审计平台部署方法的装置,该装置的结构示意图如图5所示,包括:
封装模块10,用于封装运维审计平台中各服务组件的镜像文件;
第一创建模块20,用于创建运维审计平台的数据持久化卷声明;
第二创建模块30,用于创建各服务组件的不同资源类型的配置文件;
部署模块40,用于基于数据持久化卷声明启动运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对运维审计平台的部署。
可选的,如图6所示的结构示意图,上述装置还包括:
上传模块50,用于将各服务组件的镜像文件上传至私有镜像仓库。
可选的,封装模块10,具体用于:
封装运维审计平台中核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB服务组件各自的镜像文件。
可选的,封装模块10,具体用于:
启动运维审计平台的容器中的操作系统,编译并执行各服务组件的组件代码,以实现安装各服务组件;运行各服务组件,使用镜像创建命令将各服务组件的容器封装为相应的镜像文件。
可选的,第一创建模块20,具体用于:
确定用于存储运维审计平台的操作数据、日志数据和缓存数据的存储系统,存储系统包括网络文件系统;执行针对数据持久化卷声明的定义操作,定义操作包括指定持久化存储名为网络文件系统、以多路读写授权模式定义运维审计平台的操作数据、日志数据和缓存数据各自对应的使用权限、定义运维审计平台的操作数据的容量、日志数据和缓存数据各自的使用容量;在定义操作执行完毕的情况下,基于定义操作的操作信息创建数据持久化卷声明。
可选的,第二创建模块30,具体用于:
创建各服务组件的调度配置文件和功能配置文件,调度配置文件用于管理所属服务组件的副本数量,功能配置文件用于定义所属服务组件的功能。
需要说明的是,本发明实施例中各模块的细化功能可以参见上述运维审计平台部署方法实施例对应公开部分,在此不再赘述。
基于上述实施例提供的运维审计平台部署方法,本发明实施例还提供一种电子设备,该电子设备包括:至少一个存储器和至少一个处理器;存储器存储有应用程序,处理器调用存储器存储的应用程序,应用程序用于实现运维审计平台部署方法。
基于上述实施例提供的运维审计平台部署方法,本发明实施例还提供一种存储介质,该存储介质存储有计算机程序代码,计算机程序代码执行时运维审计平台部署方法。
以上对本发明所提供的一种运维审计平台部署方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种运维审计平台部署方法,其特征在于,所述方法包括:
封装运维审计平台中各服务组件的镜像文件;
创建所述运维审计平台的数据持久化卷声明;
创建各服务组件的不同资源类型的配置文件;
基于所述数据持久化卷声明启动所述运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对所述运维审计平台的部署。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将各服务组件的镜像文件上传至私有镜像仓库。
3.根据权利要求1所述的方法,其特征在于,所述封装运维审计平台中各服务组件的镜像文件,包括:
封装所述运维审计平台中核心组件、字符操作审计组件、图形化操作审计组件、数据库组件、缓存组件、前端UI组件、以及WEB服务组件各自的镜像文件。
4.根据权利要求1所述的方法,其特征在于,所述封装运维审计平台中各服务组件的镜像文件,包括:
启动所述运维审计平台的容器中的操作系统,编译并执行各服务组件的组件代码,以实现安装各服务组件;
运行各服务组件,使用镜像创建命令将各服务组件的容器封装为相应的镜像文件。
5.根据权利要求1所述的方法,其特征在于,所述创建所述运维审计平台的数据持久化卷声明,包括:
确定用于存储所述运维审计平台的操作数据、日志数据和缓存数据的存储系统,所述存储系统包括网络文件系统;
执行针对所述数据持久化卷声明的定义操作,所述定义操作包括指定持久化存储名为所述网络文件系统、以多路读写授权模式定义所述运维审计平台的操作数据、日志数据和缓存数据各自对应的使用权限、定义所述运维审计平台的操作数据的容量、日志数据和缓存数据各自的使用容量;
在所述定义操作执行完毕的情况下,基于所述定义操作的操作信息创建所述数据持久化卷声明。
6.根据权利要求1所述的方法,其特征在于,所述创建各服务组件的不同资源类型的配置文件,包括:
创建各服务组件的调度配置文件和功能配置文件,所述调度配置文件用于管理所属服务组件的副本数量,所述功能配置文件用于定义所属服务组件的功能。
7.一种运维审计平台部署装置,其特征在于,所述装置包括:
封装模块,用于封装运维审计平台中各服务组件的镜像文件;
第一创建模块,用于创建所述运维审计平台的数据持久化卷声明;
第二创建模块,用于创建各服务组件的不同资源类型的配置文件;
部署模块,用于基于所述数据持久化卷声明启动所述运维审计平台,并通过Kubernetes服务加载各服务组件的镜像文件和配置文件,以实现对所述运维审计平台的部署。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
上传模块,用于将各服务组件的镜像文件上传至私有镜像仓库。
9.一种电子设备,其特征在于,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现权利要求1-6任意一项所述的运维审计平台部署方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序代码,所述计算机程序代码执行时实现权利要求1-6任意一项所述的运维审计平台部署方法。
CN202310282703.7A 2023-03-16 2023-03-16 运维审计平台部署方法、装置、电子设备及存储介质 Pending CN117251247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310282703.7A CN117251247A (zh) 2023-03-16 2023-03-16 运维审计平台部署方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310282703.7A CN117251247A (zh) 2023-03-16 2023-03-16 运维审计平台部署方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117251247A true CN117251247A (zh) 2023-12-19

Family

ID=89125307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310282703.7A Pending CN117251247A (zh) 2023-03-16 2023-03-16 运维审计平台部署方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117251247A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591245A (zh) * 2024-01-16 2024-02-23 麒麟软件有限公司 银河麒麟服务器迁移运维管理平台自动化部署方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591245A (zh) * 2024-01-16 2024-02-23 麒麟软件有限公司 银河麒麟服务器迁移运维管理平台自动化部署方法及装置

Similar Documents

Publication Publication Date Title
US11226847B2 (en) Implementing an application manifest in a node-specific manner using an intent-based orchestrator
CN111966305B (zh) 持久卷分配方法、装置、计算机设备和存储介质
US7062516B2 (en) Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure
CN102571906B (zh) 打补丁期间机器的高可用性
US7571154B2 (en) Autonomic control of a distributed computing system using an application matrix to control application deployment
US8302077B2 (en) Method and system for configuring software modules to execute in an execution environment
US9648084B2 (en) System and method for providing an in-memory data grid application container
US20070240171A1 (en) Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment
CN109189334B (zh) 一种区块链网络服务平台及其扩容方法、存储介质
CN102929597B (zh) 一种基于Java平台的Web业务支持方法和装置
US20100241895A1 (en) Method and apparatus for realizing application high availability
CN102207859A (zh) 解决方案部署方法、设备和系统
US7603256B2 (en) Enabling high availability and load balancing for management modules in a computing environment
US8490078B2 (en) System and method for application management
CN114116909A (zh) 一种分布式云原生数据库管理方法和系统
EP1607861A2 (en) Method and apparatus for deploying software applications using a zone architecture
CN117251247A (zh) 运维审计平台部署方法、装置、电子设备及存储介质
CN113204353A (zh) 一种大数据平台组件部署方法及装置
CN114168179A (zh) 微服务管理方法、装置、计算机设备和存储介质
AU2017276243A1 (en) System And Method For Generating Service Operation Implementation
US20090313266A1 (en) Model Based Distributed Application Management
Schwarzkopf et al. Checking running and dormant virtual machines for the necessity of security updates in cloud environments
CN116028163A (zh) 一种容器组的动态链接库调度方法、装置及存储介质
CN115080309A (zh) 数据备份系统、方法、存储介质以及电子设备
US20230153093A1 (en) Systems and methods for managing workspaces in a heterogeneous workspace environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination