容器部署方法及系统
文献发布时间:2024-04-18 19:53:33
技术领域
本发明涉及计算机技术领域,尤其涉及一种容器部署方法及系统。
背景技术
现有技术关于容器部署的方案大多需要用户自行手动部署,设置参数过程复杂繁琐,部署过程中需基于软件配合,部署方式单一且受限制,使用者缺少多元化自定义的部署方式。
发明内容
本发明实施例的目的在于提供一种容器部署方法及系统,以实现私有设备多种容器部署和独立部署应用,访问已部署容器应用处理的方案,并支持可视化管理。
本发明的技术方案包括:
一种容器部署方法,所述方法包括:
客户端基于容器部署类型及需求,向网关提交容器部署请求;其中,所述容器部署请求包括:配置信息;
网关根据所述容器部署请求启动创建部署任务,保存从客户端侧获取的部署配置,并向容器管理服务发送所述创建部署任务;其中,所述创建部署任务包括:配置信息;
所述容器管理服务接收到所述创建部署任务后,基于配置信息进行任务部署、创建容器以及docker bridge网络并增加转发配置,并将任务状态返回至所述客户端。
所述客户端基于所述任务状态,展示容器部署结果
进一步地,所述需求包括:便捷和安全性需求;
所述客户端基于容器部署类型及需求,向网关提交部署请求,包括:
向网关发送查看当前可安装的应用列表的请求,以使所述网关结合应用商店提供的镜像地址生成查询信息并返回客户端;
根据所述查询信息选择应用程序,并向所述网关发送下载该应用程序的请求,以使所述网关将对应的应用程序安装信息返回至客户端;
从所述对应的应用程序安装信息获取容器镜像地址,并根据所述容器镜像地址收集配置信息后,向网关提交容器部署请求。
进一步地,所述需求包括:个性化需求;
所述客户端基于容器部署类型及需求,向网关提交部署请求,包括:
向网关发送开启开发者选项的功能请求,以使所述网关返回开发者选项开关的即时状态;
基于所述开发者选项开关的即时状态向网关发送搜索容器镜像地址的请求,以使所述网关将对应的容器镜像地址返回至客户端;
根据所述对应的容器镜像地址收集配置信息后,向网关提交容器部署请求。
进一步地,所述方法还包括:
所述客户端预先创建容器虚拟网络,并在所述配置信息里选择容器部署所在的虚拟网络。
进一步地,所述方法还包括:
在所述容器管理服务中设一同步调用接口;
所述容器管理服务接收到所述创建部署任务后,向所述客户端返回正在部署信息;
所述客户端接收到所述正在部署信息后开始轮询任务,以使所述容器管理服务返回任务执行信息。
一种已部署容器应用的访问方法,所述已部署容器应用基于上述任一方法进行容器部署,所述方法包括:
客户端向网关发出获取已部署容器应用外部端口号的请求;
容器管理服务根据网关转发的所述获取已部署容器应用外部端口号的请求,生成外部端口号,并将该外部端口号返回至客户端;
客户端通过该外部端口号访问已部署容器应用。
一种已部署容器应用的访问方法,所述已部署容器应用基于上述任一方法进行容器部署,所述方法包括:
客户端向网关发出访问已部署应用请求;
容器管理服务根据网关转发的所述访问已部署应用请求,随机生成一组域名和一个内部端口号,并将该组域名和该内部端口号返回至客户端;
客户端自定义该域名后,通过自定义的域名访问已部署容器应用。
一种容器部署系统,所述系统包括:
客户端,用于基于容器部署类型及需求,生成容器部署请求,其中,所述容器部署请求包括:配置信息;基于任务状态,展示容器部署结果;
网关,用于根据所述容器部署请求启动创建部署任务,保存从客户端侧获取的部署配置;其中,所述创建部署任务包括:配置信息;
容器管理服务,用于接收到所述创建部署任务后,基于配置信息进行任务部署、创建容器以及docker bridge网络并增加转发配置,并将任务状态返回至所述客户端。
与现有技术相比,本发明具有以下优势:
1)本发明支持Web、Android、iOS三种部署,用户部署更自由、选择更多样。
2)本发明简化了应用部署步骤,优化相关参数设置过程,同时支持域名动态访问,扩展用户部署等多种场景。
附图说明
图1为应用商店容器部署示意图。
图2为开发者选项容器部署示意图。
具体实施方式
为了使本发明的目的、方案及优点更加清楚明白,以在真实数据集上进行的实验为例,对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种容器部署方法及系统,所述系统包括客户端、网关及私有设备容器管理服务。所述客户端为服务需求的发送方,是选择建立容器部署类型及需求一方;所述客户端提供可视化容器管理功能。所述网关接收客户端请求、向私有设备容器管理服务发送部署任务的请求、创建应用域名。所述容器管理服务为运行在私有设备中的服务之一,其接收网关部署请求的创建及部署任务并支持协调多容器之间的交互。具体地,所述容器管理服务提供为第三方容器安装、卸载、更新等操作,其包含创建模块、存储模块和处理模块。创建模块,用于接收网关中转的请求信息,从镜像仓库拉取、下载镜像生成容器配置文件,启动容器;存储模块,用于保存部署配置,包括启动成功及失败的容器信息,如容器ID、容器镜像本地路径、部署上下文(部署容器所需的参数信息,如端口号,环境变量,映射目录等信息),以便于实现容器信息查询及确认对应的容器资源。处理模块,基于容器信息及上下文执行容器部署,依据容器ID及时更新已部署的容器,或清理对应容器ID所管理的资源和镜像,其可以决定容器的运行状态。
所述私有设备的容器管理服务,其不仅可以运作在包含处理器和存储器(存储器中存储有计算机程序)的硬件装置,即私有设备中,也可以为一种运行在一操作系统上的服务,所述服务对应的存储介质中存储有计算机程序。
本发明实施例提供一种容器部署方法,如图1所示,包括:根据容器来源部署容器以及访问已部署容器应用。
S1根据容器来源部署容器。
本发明的根据容器来源部署容器,如图2所示,主要包括:所述客户端发起容器部署需求经网关提供详情信息,提交部署任务;所述网关根据从客户端接收到的配置信息创建部署任务,保存记录,启动部署;所述私有设备容器管理服务接收网关的部署任务进行创建或更新部署,并将任务状态返回;所述客户端展示部署结果。
具体地,根据容器来源其部署包括两种实现方式:应用商店容器部署(方式1)和开发者选项容器部署(方式2)。
方式1:应用商店容器部署。
在本实现方式中,应用商店容器部署由应用商店提供镜像地址。所部署的应用来源于各大应用商店渠道,且开发者身份已完成审核。客户端侧的用户操作更便捷、使用更安全。
应用商店容器部署的具体步骤如下:
所述客户端启动功能需求,向所述网关发送查看当前可安装的应用列表的请求,所述网关将对应的查询信息返回客户端;所述客户端选择应用并启动下载应用程序,所述网关将对应应用的安装信息返回至客户端,客户端基于接收到的安装信息向所述网关提交安装部署的请求。
所述网关根据部署请求启动创建部署任务流程,保存从客户端侧获取的部署配置,并向容器管理服务发送启动部署任务的指令。
所述私有设备容器管理服务接收到网关的创建部署任务请求,根据接收到的配置信息部署任务、创建容器以及docker bridge网络并增加转发配置。所述私有设备容器管理服务设有同步调用接口,当其接收到网关发出的创建部署任务的请求同时向客户端返回“正在部署”的信息。所述客户端接收信息后开始轮询任务,查询部署任务状态。所述容器管理服务将任务状态返回至网关,由网关将返回的任务执行信息发送至客户端。
在本方式中,应用商店提供的应用通过在线下载的方式获取安装包,从安装包中获取容器镜像地址,拉取镜像。
其中,本方式提供的容器部署可视化页面的加载步骤具体如下:
客户端侧用户通过客户端商店选择需求应用,点击则向容器管理服务部署(也即私有设备)发起下载应用的请求,所述容器管理服务同时开启异步下载过程,并将应用请求下载任务ID返回至对应客户端;客户端用户的可视化界面展示正在后台下载的提示信息,容器管理服务设置了轮询任务执行命令,以此保证用户可以接收到任务状态;容器管理服务根据APP ID调用应用商店读物的下载接口执行下载任务,并将其应用下载后完整保存至本地;容器管理服务通过解压应用软件包及应用类型实现安装应用初始化,客户端用户的可视化界面展示已安装应用列表并更新页面,新下载的对应应用显示在列表中,用户可以在此页面实现对当前所有应用的统一管理,用户可通过点击应用实现功能操作,同时,容器管理服务设置的异步下载任务状态将会被更新为完成。
方式2:开发者选项容器部署。
在本实现方式中,开发者选项容器部署支持开发者自行选择镜像地址,客户端侧的用户使用更自由、体验更全面,满足客户端侧各用户更个性化的需求。
本实现方式可以支持客户端用户通过指定容器仓库地址安装部署和用户本地打包应用上传至私有设备两种形式,而后者的安装部署流程与方式1流程相似,因此,下例展开描述的为前者的实现过程。
具体步骤如下:
所述客户端向网关发送开启开发者选项的功能请求,所述网关接收后向其返回开发者选项开关的即时状态;所述客户端基于此向网关发送搜索镜像地址的请求,所述网关将具体的镜像详情返回至客户端。所述客户端根据镜像地址启动获得部署配置流程,展示配置选项并收集配置信息后,向网关提交安装部署的请求。
所述网关根据部署请求启动创建部署任务流程,保存从客户端侧获取的部署配置,并向容器管理服务发送启动部署任务的指令。
所述私有设备容器管理服务接收到网关的创建部署任务请求后,根据接收到的配置信息部署任务、创建容器以及docker bridge网络并增加转发配置。所述私有设备容器管理服务设有同步调用接口,当其接收到网关发出的创建部署任务的请求同时向客户端返回“正在部署”的信息。所述客户端接收信息后开始轮询任务,查询部署任务状态。所述容器管理服务将任务状态返回至网关,由网关将返回的任务执行信息发送至客户端。
在本方式中,当用户通过指定容器仓库地址安装部署时,其可视化页面的加载步骤具体如下:用户选择打开开发者选项中的镜像安装,可通过输入完整的镜像包地址进行搜索,私有设备空间管理服务会依据镜像信息自动跳转至安装页面,并同时展示相关信息(如名称、来源、简介、大小、图标等)。根据用户的确认指令,私有设备空间管理服务执行镜像下载工作并进行部署。当安装成功后,用户的显示界面会展示安装成功的信息并可选择直接启动。在支持展示的可视化容器管理界面中,与方式1的区别在于应用列表中的各项应用为显示“未认证”的标签,以此与通过应用商店部署的容器作以区分。
其中,在上述方式1或方式2的任一实现方式中,支持预先创建容器虚拟网络,用户可在容器部署上在网络参数的配置项里,选择容器部署所在的虚拟网络,两个容器可以在同一网络相互交互,相互通信。
在上述方式1或方式2的任一实现方式中,若是已部署成功而需要更新部署任务时,则运行至本阶段实现任务更新,由私有设备容器管理服务将更新后的任务状态返回至网关。
在上述方式1或方式2的任一实现方式中,网关向客户端返回初始任务信息后,客户端通过网关向私有设备容器管理服务轮询任务状态,检测到部署成功/失败的状态后轮询结束。
在上述方式1或方式2的任一实现方式中,客户端进入任务完结流程,若容器部署成功则展示部署已成功提示的可视化界面,若容器部署失败则客户端展示部署异常,私有设备容器管理服务则同步清理已储存的相关容器数据。
S2访问已部署应用。
本发明的访问已部署应用也包括两种实现方式:支持通过外部端口访问应用和支持通过自定义应用域名访问应用。
方式一:支持通过外部端口访问应用。
本发明的支持通过外部端口访问应用,包括:客户端用户向网关发出获取已部署应用外部端口号的请求;容器管理服务根据网关转发的请求生成外部端口号;容器管理服务将生成的外部端口号返回至客户端用户;用户通过返回的外部端口号实现直接访问已部署应用。
方式二:支持通过自定义应用域名访问应用。
本发明的持通过自定义应用域名访问应用,包括:容器管理服务根据网关转发的请求随机生成一组域名和一个内部端口号;容器管理服务将生成的域名和内部端口号返回至客户端用户;用户可以自定义返回的域名;用户通过自定义的域名直接访问已部署的应用。
其中,在支持通过自定义应用域名访问应用的方式中,用户无需手动配置可直接通过域名访问,更加快捷方便。
以上所述为本发明的一个实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
- 带储料仓且开盖即投料的多功能盖体组件及容器
- 一种化工设备端盖拆卸装置
- 储物设备、储物设备控制方法、装置、冷藏设备及系统
- 储物设备、储物设备控制方法、装置、冷藏设备及系统
- 集流盘、端盖组件、储能装置、储能模组和用电设备
- 端盖组件、储能装置、储能系统和用电设备