CN115883354B - 应用自动化部署方法、装置、设备及存储介质 - Google Patents

应用自动化部署方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115883354B
CN115883354B CN202310142772.8A CN202310142772A CN115883354B CN 115883354 B CN115883354 B CN 115883354B CN 202310142772 A CN202310142772 A CN 202310142772A CN 115883354 B CN115883354 B CN 115883354B
Authority
CN
China
Prior art keywords
control panel
deployment
application
host
container
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.)
Active
Application number
CN202310142772.8A
Other languages
English (en)
Other versions
CN115883354A (zh
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.)
Tabixing Information Technology Shenzhen Co ltd
Original Assignee
Tabixing Information Technology Shenzhen 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 Tabixing Information Technology Shenzhen Co ltd filed Critical Tabixing Information Technology Shenzhen Co ltd
Priority to CN202310142772.8A priority Critical patent/CN115883354B/zh
Publication of CN115883354A publication Critical patent/CN115883354A/zh
Application granted granted Critical
Publication of CN115883354B publication Critical patent/CN115883354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及人工智能技术,揭露了一种应用自动化部署方法,包括:在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,并配置所述目标部署集群的边界路由器与监控组件;利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据转发至所述目标部署集群的控制面板中;通过所述控制面板在所述工作节点中创建应用容器,将所述控制面板中的应用数据转发至所述应用容器中;通过所述控制面板的部署组件根据预设的部署策略将所述应用容器部署到所述主机群的相应的主机上。此外,本发明还涉及区块链技术,应用数据可存储于区块链的节点。本发明还提出一种应用自动化部署装置、设备以及存储介质。本发明可以提高进行应用部署的效率。

Description

应用自动化部署方法、装置、设备及存储介质
技术领域
本发明涉及人工智能技术领域,尤其涉及一种应用自动化部署方法、装置、设备及存储介质。
背景技术
随着信息化社会的加剧,越来越多的机构和个人拥有了自己的服务器,以便于接收外界互联网请求,并对请求进行响应,但为了让服务器实现特定的功能需求,需要对服务器进行应用部署。
现有的服务器应用部署技术多为基于dockerCompose的应用部署,dockerCompose是用于定义和运行多容器 Docker 应用程序的工具,实际应用中,基于dockerCompose的应用部署没有统一的界面查看应用的部署情况,并且缺乏动态部署的能力,不能针对应用的资源需求,自动选取适合的机器与容器进行部署,可能导致系统资源的浪费,从而使得进行应用部署时的效率较低。
发明内容
本发明提供一种应用自动化部署方法、装置、设备及存储介质,其主要目的在于解决进行应用部署时的效率较低的问题。
为实现上述目的,本发明提供的一种应用自动化部署方法,包括:
在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
可选地,所述在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,包括:
在所述主机群中选取第一预设数量的主机作为所述目标部署集群的控制面板,并初始化所述控制面板的管理组件、所述部署组件和接口组件;
从所述主机群中的除所述控制面板以外的主机中任选第二预设数量的主机作为所述目标部署集群的数据库,并将所述主机群中的除所述控制面板和所述数据库以外的主机作为所述目标部署集群的工作节点;
通过所述接口组件配置所述控制面板与所述工作节点的端口信息和地址信息;
根据所述控制面板的端口信息配置所述数据库的端口信息,并根据所述控制面板的地址信息配置所述数据库的地址信息。
可选地,所述通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示,包括:
启用所述边界路由器的三层网桥;
根据所述控制面板、工作节点以及数据库的地址信息配置所述监控组件的监控地址;
在所述数据库上安装可视化图形工具,将所述监控组件的监控数据通过所述可视化图形工具转化为图形监控数据;
将所述图形监控数据通过所述控制面板进行展示。
可选地,所述通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中,包括:
通过所述三层网桥对所述应用数据进行过滤,得到规则应用数据;
利用所述控制面板的接口组件对所述控制面板的地址信息进行暴露,得到目标地址信息;
通过所述边界路由器根据目标地址信息将所述规则应用数据转发至控制面板中。
可选地,所述通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,包括:
通过预设的命令行在所述主机群的所有主机上安装容器引擎,并配置所述容器引擎的参数;
通过所述控制面板的管理组件向配置参数后的容器引擎发送创建命令,命令所述工作节点的容器引擎按照所述创建命令在所述工作节点中创建应用容器。
可选地,所述将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中,包括:
通过所述控制面板的接口组件暴露所述应用容器的地址信息;
通过所述控制面板的管理组件根据暴露后的所述应用容器的地址信息将所述应用数据转发至应用容器。
可选地,所述通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上,包括:
通过所述部署组件读取所述部署策略,得到资源部署的条件判断列表;
逐台选取所述主机群的主机作为目标主机,通过所述部署组件的资源过滤器按照所述条件判断列表对所述目标主机的资源条件进行判断,得到可部署主机列表;
通过预设的算法计算所述可部署主机列表中各主机的部署分数,选取部署分数最高的主机作为最适主机,并将所述应用容器部署到所述最适主机上。
为了解决上述问题,本发明还提供一种应用自动化部署装置,所述装置包括:
组件初始化模块,用于在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
路由转发模块,用于利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
容器创建模块,用于通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
应用部署模块,用于通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
为了解决上述问题,本发明还提供一种设备,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的应用自动化部署方法。
为了解决上述问题,本发明还提供一种存储介质,所述存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被设备中的处理器执行以实现上述所述的应用自动化部署方法。
本发明实施例通过对所述控制面板进行冗余部署,能够提升所述目标部署集群的健壮性,通过配置所述边界路由器开启三层网桥,能够提升应用数据传输的效率,通过配置所述监控组件能够对目标部署集群的部署状态进行实时地监控并展示,方便用户掌握应用部署状态,通过使用所述接口组件暴露所述控制面板的地址信息,进而对所述应用数据进行传输,能够减少K8S中节点的地址信息暴露的可能性,提高自动化部署的安全性,通过配置所述容器引擎的参数,能够限制创建的容器的数量以及每个容器最大的占用资源量,进而防止因为滚动更新而导致的容器资源占用量超过目标部署集群的剩余资源总量,从而确保自动部署的成功进行,通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上,能够自动地将应用数据部署到资源充足的主机上,提高应用部署的效率。因此本发明提出的应用自动化部署方法、装置、设备及存储介质,可以解决进行应用部署时的效率较低的问题。
附图说明
图1为本发明一实施例提供的应用自动化部署方法的流程示意图;
图2为本发明一实施例提供的转发应用数据至控制面板的流程示意图;
图3为本发明一实施例提供的部署组件进行应用部署的流程示意图;
图4为本发明一实施例提供的应用自动化部署装置的功能模块图;
图5为本发明一实施例提供的实现所述应用自动化部署方法的设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种应用自动化部署方法。所述应用自动化部署方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的设备中的至少一种。换言之,所述应用自动化部署方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的应用自动化部署方法的流程示意图。在本实施例中,所述应用自动化部署方法包括:
S1、在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
本发明实施例中,所述目标部署集群可以是运行K8S管理系统的计算机群组,其中,K8S(kubernetes)是一种开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,利用K8S能方便管理跨集群运行容器化的应用;所述目标部署集群也可以是其他具有管理跨集群运行容器化的应用。
具体地,所述控制面板可以是Master节点,Master节点是目标部署集群的大脑,用于控制目标部署集群的工作状态,并提供对外展示与控制接口。
详细地,所述工作节点可以是Node节点,Node节点是应用程序所运行节点,它是目标部署集群中相对于Master节点而言的工作主机,它可以是一台物理主机,也可以是一台虚拟机。
具体地,所述数据库可以是ETCD集群数据库,ETCD集群数据库存储了整个目标部署集群的各项配置和目标部署集群的运行状态。
详细地,所述边界路由器可以是基于Traefik实现的Ingress路由器,Traefik是一个边缘路由器,它会拦截外部的请求并根据逻辑规则选择不同的操作方式,Traefik能够实时检测服务,并自动地更新路由规则,Ingress是从目标部署集群外部访问目标部署集群的一个入口,能够将外部的请求转发到目标部署集群内不同的服务器上。
详细地,所述监控组件可以是Prometheus(普罗米修斯)监控系统,Prometheus是一个开源系统监控和警报工具包,能够将监控对象的指标收集并存储为时间序列数据。
本发明实施例中,所述在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,包括:在所述主机群中选取第一预设数量的主机作为所述目标部署集群的控制面板,并初始化所述控制面板的管理组件、所述部署组件和接口组件;从所述主机群中的除所述控制面板以外的主机中任选第二预设数量的主机作为所述目标部署集群的数据库,并将所述主机群中的除所述控制面板和所述数据库以外的主机作为所述目标部署集群的工作节点;通过所述接口组件配置所述控制面板与所述工作节点的端口信息和地址信息;根据所述控制面板的端口信息配置所述数据库的端口信息,并根据所述控制面板的地址信息配置所述数据库的地址信息。
具体地,可以使用kubeadmin、kubelet以及kubectl等组件初始化所述控制面板的管理组件、部署组件和接口组件。
详细地,所述第一预设数量可以是3,使用3台主机作为所述目标部署集群的控制面板,能够实现控制面板的冗余部署,进而增强所述目标部署集群的健壮性。
具体地,所述第二预设数量可以是3或3以上的奇数数量。
详细地,所述管理组件可以是Controller-manager组件。所述Controller-manager组件能够维护所述目标部署集群的状态,实现故障检测、自动扩展以及滚动更新等操作。
具体地,所述部署组件可以是Scheduler组件,所述Scheduler组件能够负责资源的调度,它可以按照预定的调度策略将所述应用组件调度到相应的机器上。
详细地,所述接口组件可以是ApiServer组件。所述ApiServer组件提供外部感知目标部署集群的网关,以及操作集群的接口。
其中,所述根据所述控制面板的端口信息配置所述数据库的端口信息是指确保所述控制面板与所述数据库的端口信息不相等。
进一步地,所述根据所述控制面板的地址信息配置所述数据库的地址信息是指确保所述控制面板与所述数据库在地址信息属于同一子网。
详细地,所述通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示,包括:启用所述边界路由器的三层网桥;根据所述控制面板、工作节点以及数据库的地址信息配置所述监控组件的监控地址;在所述数据库上安装可视化图形工具,将所述监控组件的监控数据通过所述可视化图形工具转化为图形监控数据;将所述图形监控数据通过所述控制面板进行展示。
详细地,所述三层网桥可以是Iptables,通过开启所述三层网桥能够确保所述节点之间的通信经过三层网桥,进而确保通信数据可监控,避免节点通信等待响应的发生。
本发明实施例中,通过对所述控制面板进行冗余部署,能够提升所述目标部署集群的健壮性,通过配置所述边界路由器,能够开启三层网桥,提升应用数据传输的效率,进而提升应用部署的效率,通过配置所述监控组件能够对目标部署集群的部署状态进行实时地监控并展示,相较于dockerCompose的应用部署方式更能提升用户交互体验。
S2、利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
本发明实施例中,所述网关可以是Nginx网关。所述Nginx网关是一个高性能的超文本传输协议和反向代理服务器,也是一个安装简单、配置文件简洁、错误较少的网关。
详细地,所述应用数据可以是存储在数据库、区块链等存储设备中的功能性应用数据。
本发明实施例中,参照图2所示,所述通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中,包括步骤S21-S23:
S21、通过所述三层网桥对所述应用数据进行过滤,得到规则应用数据;
S22、利用所述控制面板的接口组件对所述控制面板的地址信息进行暴露,得到目标地址信息;
S23、通过所述边界路由器根据目标地址信息将所述规则应用数据转发至控制面板中。
详细地,所述规则应用数据是指符合多网桥转发规则的应用数据,通过三层网桥对所述应用数据进行过滤,能够控制流量,提供网络安全保障。
详细地,所述接口组件是指所述ApiServer组件,利用ApiServer组件能够将默认隐藏的所述控制面板的地址进行暴露,方便边界路由器通信,也保证了集群的网络安全。
本发明实施例中,通过所述边界路由器能够将所述应用数据进行过滤,确保传入目标部署集群的应用数据的正规性,同时通过使用所述接口组件暴露所述控制面板的地址信息,进而对所述应用数据进行传输,能够减少K8S中节点的地址信息暴露的可能性,提高自动化部署的安全性。
S3、通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
本发明实施例中,所述应用容器可以是指Pod容器,Pod容器是目标部署集群的一个最小调度以及资源单位。
本发明实施例中,所述通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,包括:通过预设的命令行在所述主机群的所有主机上安装容器引擎,并配置所述容器引擎的参数;通过所述控制面板的管理组件向配置参数后的容器引擎发送创建命令,命令所述工作节点的容器引擎按照所述创建命令在所述工作节点中创建应用容器。
详细地,所述预设的命令行可以是linux的apt-get命令,它能够调用AdvancedPackage Tool(应用程序管理器)自动地从互联网软件仓库中搜索、安装、升级、卸载软件或操作系统。
具体地,所述容器引擎是指Docker。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
具体地,可以通过修改Docker的配置文件进而配置所述容器引擎的参数,包括配置所述容器引擎的最大单机容器数以及最大资源占用数。
详细地,所述将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中,包括:通过所述控制面板的接口组件暴露所述应用容器的地址信息;通过所述控制面板的管理组件根据暴露后的所述应用容器的地址信息将所述应用数据转发至应用容器。
本发明实施例中,通过配置所述容器引擎的参数,能够限制创建的容器的数量以及每个容器最大的占用资源量,进而防止因为滚动更新而导致的容器资源占用量超过目标部署集群的剩余资源总量,从而确保自动部署的成功进行。
S4、通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上;
本发明实施例中,参照图3所示,所述通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上,包括步骤S31-S33:
S31、通过所述部署组件读取所述部署策略,得到资源部署的条件判断列表;
S32、逐台选取所述主机群的主机作为目标主机,通过所述部署组件的资源过滤器按照所述条件判断列表对所述目标主机的资源条件进行判断,得到可部署主机列表;
S33、通过预设的算法计算所述可部署主机列表中各主机的部署分数,选取部署分数最高的主机作为最适主机,并将所述应用容器部署到所述最适主机上。
详细地,本发明实施例通过下述算法计算所述可部署主机列表中各主机的部署分数:
Figure SMS_1
Figure SMS_2
其中,
Figure SMS_3
是所述主机的资源均分值,/>
Figure SMS_4
是所述主机的CPU资源分值,/>
Figure SMS_5
是所述主机的内存资源分值,/>
Figure SMS_6
是所述主机的存储容量资源分值,/>
Figure SMS_7
是预设常数,/>
Figure SMS_8
是所述主机的部署分数。
详细地,所述部署策略可以是Predicates部署策略。
具体地,所述资源过滤器可以是PodAffinityPredicate资源过滤器。
本发明实施例中,通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上,能够自动地将应用数据部署到资源充足的主机上,相较于dockerCompose需要对资源部署进行手动配置,更能提高应用部署的效率。
本发明实施例通过对所述控制面板进行冗余部署,能够提升所述目标部署集群的健壮性,通过配置所述边界路由器开启三层网桥,能够提升应用数据传输的效率,通过配置所述监控组件能够对目标部署集群的部署状态进行实时地监控并展示,方便用户掌握应用部署状态,通过使用所述接口组件暴露所述控制面板的地址信息,进而对所述应用数据进行传输,能够减少K8S中节点的地址信息暴露的可能性,提高自动化部署的安全性,通过配置所述容器引擎的参数,能够限制创建的容器的数量以及每个容器最大的占用资源量,进而防止因为滚动更新而导致的容器资源占用量超过目标部署集群的剩余资源总量,从而确保自动部署的成功进行,通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上,能够自动地将应用数据部署到资源充足的主机上,提高应用部署的效率。因此本发明提出的应用自动化部署方法,可以解决进行应用部署时的效率较低的问题。
如图4所示,是本发明一实施例提供的应用自动化部署装置的功能模块图。
本发明所述应用自动化部署装置100可以安装于设备中。根据实现的功能,所述应用自动化部署装置100可以包括组件初始化模块101、路由转发模块102、容器创建模块103及应用部署模块104。本发明所述模块也可以称之为单元,是指一种能够被设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述组件初始化模块101,用于在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
所述路由转发模块102,用于利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
所述容器创建模块103,用于通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
所述应用部署模块104,用于通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
详细地,本发明实施例中所述应用自动化部署装置100中所述的各模块在使用时采用与上述图1至图3中所述的应用自动化部署方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明一实施例提供的实现应用自动化部署方法的设备的结构示意图。
所述设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如应用自动化部署程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述设备的控制核心(Control Unit),利用各种接口和线路连接整个设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行应用自动化部署程序等),以及调用存储在所述存储器11内的数据,以执行设备的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的移动硬盘。所述存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card, SMC)、安全数字(Secure Digital, SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如应用自动化部署程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图中仅示出了具有部件的设备,本领域技术人员可以理解的是,图中示出的结构并不构成对所述设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述设备1中的所述存储器11存储的应用自动化部署程序是多个指令的组合,在所述处理器10中运行时,可以实现:
在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。所述存储介质可以是易失性的,也可以是非易失性的。例如,所述存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)。
本发明还提供一种存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被设备的处理器所执行时,可以实现:
在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种应用自动化部署方法,其特征在于,所述方法包括:
在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
2.如权利要求1所述的应用自动化部署方法,其特征在于,所述在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,包括:
在所述主机群中选取第一预设数量的主机作为所述目标部署集群的控制面板,并初始化所述控制面板的管理组件、所述部署组件和接口组件;
从所述主机群中的除所述控制面板以外的主机中任选第二预设数量的主机作为所述目标部署集群的数据库,并将所述主机群中的除所述控制面板和所述数据库以外的主机作为所述目标部署集群的工作节点;
通过所述接口组件配置所述控制面板与所述工作节点的端口信息和地址信息;
根据所述控制面板的端口信息配置所述数据库的端口信息,并根据所述控制面板的地址信息配置所述数据库的地址信息。
3.如权利要求2所述的应用自动化部署方法,其特征在于,所述通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示,包括:
启用所述边界路由器的三层网桥;
通过所述三层网桥根据所述控制面板、工作节点以及数据库的地址信息配置所述监控组件的监控地址;
在所述数据库上安装可视化图形工具,将所述监控组件的监控数据通过所述可视化图形工具转化为图形监控数据;
将所述图形监控数据通过所述控制面板进行展示。
4.如权利要求3所述的应用自动化部署方法,其特征在于,所述通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中,包括:
通过所述三层网桥对所述应用数据进行过滤,得到规则应用数据;
利用所述控制面板的接口组件对所述控制面板的地址信息进行暴露,得到目标地址信息;
通过所述边界路由器根据目标地址信息将所述规则应用数据转发至控制面板中。
5.如权利要求2所述的应用自动化部署方法,其特征在于,所述通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,包括:
通过预设的命令行在所述主机群的所有主机上安装容器引擎,并配置所述容器引擎的参数;
通过所述控制面板的管理组件向配置参数后的容器引擎发送创建命令,命令所述工作节点的容器引擎按照所述创建命令在所述工作节点中创建应用容器。
6.如权利要求2所述的应用自动化部署方法,其特征在于,所述将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中,包括:
通过所述控制面板的接口组件暴露所述应用容器的地址信息;
通过所述控制面板的管理组件根据暴露后的所述应用容器的地址信息将所述应用数据转发至应用容器。
7.如权利要求1至6中任一项所述的应用自动化部署方法,其特征在于,所述通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上,包括:
通过所述部署组件读取所述部署策略,得到资源部署的条件判断列表;
逐台选取所述主机群的主机作为目标主机,通过所述部署组件的资源过滤器按照所述条件判断列表对所述目标主机的资源条件进行判断,得到可部署主机列表;
通过预设的算法计算所述可部署主机列表中各主机的部署分数,选取部署分数最高的主机作为最适主机,并将所述应用容器部署到所述最适主机上。
8.一种应用自动化部署装置,其特征在于,所述装置包括:
组件初始化模块,用于在预设的主机群中选取目标部署集群的控制面板、工作节点和数据库,通过多网桥配置方式配置所述目标部署集群的边界路由器与监控组件,并通过所述数据库和所述控制面板对所述监控组件的监控数据进行展示;
路由转发模块,用于利用预设的网关获取应用数据,并通过所述边界路由器将所述应用数据进行多网桥过滤后转发至所述目标部署集群的控制面板中;
容器创建模块,用于通过所述控制面板在所述工作节点中利用容器引擎创建应用容器,将所述控制面板中的应用数据按照地址暴露的方式转发至所述应用容器中;
应用部署模块,用于通过所述控制面板的部署组件根据预设的部署策略从所述主机群中选取可部署主机列表,并将所述应用容器部署到所述可部署主机列表内的主机上。
9.一种设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的应用自动化部署方法。
10.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的应用自动化部署方法。
CN202310142772.8A 2023-02-21 2023-02-21 应用自动化部署方法、装置、设备及存储介质 Active CN115883354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310142772.8A CN115883354B (zh) 2023-02-21 2023-02-21 应用自动化部署方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310142772.8A CN115883354B (zh) 2023-02-21 2023-02-21 应用自动化部署方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115883354A CN115883354A (zh) 2023-03-31
CN115883354B true CN115883354B (zh) 2023-05-19

Family

ID=85761392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310142772.8A Active CN115883354B (zh) 2023-02-21 2023-02-21 应用自动化部署方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115883354B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736955A (zh) * 2020-06-29 2020-10-02 苏州浪潮智能科技有限公司 一种数据存储方法、装置、设备及可读存储介质
WO2021017279A1 (zh) * 2019-07-30 2021-02-04 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN114785564A (zh) * 2022-04-01 2022-07-22 江苏天翼安全技术有限公司 一种基于以太网桥规则的防跳板机的通用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021017279A1 (zh) * 2019-07-30 2021-02-04 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN111736955A (zh) * 2020-06-29 2020-10-02 苏州浪潮智能科技有限公司 一种数据存储方法、装置、设备及可读存储介质
CN114785564A (zh) * 2022-04-01 2022-07-22 江苏天翼安全技术有限公司 一种基于以太网桥规则的防跳板机的通用方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Kubernetes的气象私有云自动化部署与优化;关兴民;张兆伟;王祝先;王子洋;;信息技术(05);全文 *

Also Published As

Publication number Publication date
CN115883354A (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
CN100568216C (zh) 一种具有虚拟服务模块的设备
US8762538B2 (en) Workload-aware placement in private heterogeneous clouds
CN103201724B (zh) 在高可用性虚拟机环境中提供高可用性应用程序
CN110325968A (zh) 分布式计算系统中的系统升级管理
CN106941516B (zh) 基于工业互联网操作系统的异构现场设备控制管理系统
CN107368365A (zh) 云平台自动运维方法、系统、设备及存储介质
CN105684357A (zh) 虚拟机中地址的管理
CN109032590B (zh) 一种可视化开发环境的配置方法、装置、终端及存储介质
CN106406980B (zh) 一种虚拟机的部署方法和装置
CN106170763A (zh) 一种软件校验方法和装置
WO2014040424A1 (en) Method and apparatus for patching
CN116541134B (zh) 多架构集群中容器的部署方法及装置
CN101159596A (zh) 用于布置服务器的方法和设备
CN113127150A (zh) 云原生系统的快速部署方法、装置、电子设备和存储介质
CN112256430A (zh) 容器的部署方法、装置、设备及存储介质
CN105051692A (zh) 通过隔离的自动化故障处理
CN115883354B (zh) 应用自动化部署方法、装置、设备及存储介质
CN113687779A (zh) 数据迁移方法、装置、电子设备及可读存储介质
CN111459510A (zh) 跨网络操作系统的安装方法、装置、电子设备及介质
CN114968470A (zh) 基于k8s集群的容器检测方法、装置、电子设备及存储装置
CN114675976B (zh) 基于kubernetes的GPU共享方法、装置、设备及介质
US9798571B1 (en) System and method for optimizing provisioning time by dynamically customizing a shared virtual machine
CN109543420B (zh) 基于sudo的权限配置方法、装置、电子设备及存储介质
CN114201363A (zh) 系统保护方法、装置、设备及存储介质
CN113918296A (zh) 模型训练任务调度执行方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant