System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及人工智能的云计算容器编排调度,尤其涉及一种组件部署升级方法、装置、计算机设备及存储介质。
技术介绍
1、随着云原生技术的兴起,越来越多的企业将自己的it业务系统通过devops技术、kubernetes容器化技术进行业务版本的发布和管理。kubernetes作为工业级的容器编排平台,提供了各种形态的应用编排能力,业务方可以非常灵活、低成本的方式接入kubernetes,并且很容器去发布和管理业务版本。
2、而对于kubernetes的所纳管的节点上的各类系统以及容器管理组件,比如操作操作系统内核、内核模块、各类操作系统管理组件、业务组件非容器化组件等,大部分情况仍然使用的是传统的脚本或者命令的方式进行部署、升级。
3、然而,申请人发现,默认情况下,每个容器都会被mount namespace隔离在独立在容的文件系统中,无法将容器镜像中的组件安装文件安装到宿主机的文件系统中。
技术实现思路
1、本申请实施例的目的在于提出一种组件部署升级方法、装置、计算机设备及存储介质,以解决传统的技术方案无法将容器镜像中的组件安装文件安装到宿主机的文件系统中的问题。
2、为了解决上述技术问题,本申请实施例提供一种组件部署升级方法,采用了如下所述的技术方案:
3、获取用户终端发送的部署升级请求;
4、调用docker容器,并根据所述docker容器以操作系统内核提供的若干个namespace能力构建多维度的容器隔离运行环境,其中,所
5、配置所述docker容器以挂载volume的方式将容器镜像中的安装包以及安装脚本拷贝到宿主机的文件系统中;
6、通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作。
7、进一步的,所述部署升级请求携带有待处理的组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
8、备份与所述组件容器标识相对应的关键数据,其中,所述关键数据包括应用程序数据、配置文件和重要的持久化存储;
9、根据版本控制工具管理所述应用程序代码和配置文件;
10、根据滚动更新机制逐步更新与所述组件容器标识相对应的容器。
11、进一步的,所述根据滚动更新机制逐步更新与所述组件容器标识相对应的容器的步骤,具体包括下述步骤:
12、根据蓝绿部署策略更新与所述组件容器标识相对应的容器。
13、进一步的,所述部署升级请求携带有待处理的非组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
14、获取所述用户终端发送的自定义资源定义,其中,所述自定义资源定义用于描述非容器化组件的状态和行为;
15、根据所述自定义资源定义扩展kubernetes api;
16、根据所述kubernetes api管理和升级与所述非组件容器标识相对应的非容器化组件。
17、进一步的,所述部署升级请求携带有待处理的非组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
18、获取所述用户终端发送的自定义控制器,其中,所述自定义控制器用于处理`noncontainercomponent`资源。;
19、根据所述自定义控制器管理和升级与所述非组件容器标识相对应的非容器化组件。
20、为了解决上述技术问题,本申请实施例还提供一种组件部署升级装置,采用了如下所述的技术方案:
21、请求获取模块,用于获取用户终端发送的部署升级请求;
22、环境构建模块,用于调用docker容器,并根据所述docker容器以操作系统内核提供的若干个namespace能力构建多维度的容器隔离运行环境,其中,所述若干个namespace能力至少包括主机域空间、消息队列、文件系统、进程空间、网络栈、用户空间;
23、拷贝模块,用于配置所述docker容器以挂载volume的方式将容器镜像中的安装包以及安装脚本拷贝到宿主机的文件系统中;
24、升级模块,用于通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作。
25、进一步的,所述部署升级请求携带有待处理的组件容器标识,所述升级模块包括:
26、备份子模块,用于备份与所述组件容器标识相对应的关键数据,其中,所述关键数据包括应用程序数据、配置文件和重要的持久化存储;
27、管理子模块,用于根据版本控制工具管理所述应用程序代码和配置文件;
28、更新子模块,用于根据滚动更新机制逐步更新与所述组件容器标识相对应的容器。
29、进一步的,所述更新子模块包括:
30、更新单元,用于根据蓝绿部署策略更新与所述组件容器标识相对应的容器。
31、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
32、包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的组件部署升级方法的步骤。
33、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
34、所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的组件部署升级方法的步骤。
35、本申请提供了一种组件部署升级方法,包括:获取用户终端发送的部署升级请求;调用docker容器,并根据所述docker容器以操作系统内核提供的若干个namespace能力构建多维度的容器隔离运行环境,其中,所述若干个namespace能力至少包括主机域空间、消息队列、文件系统、进程空间、网络栈、用户空间;配置所述docker容器以挂载volume的方式将容器镜像中的安装包以及安装脚本拷贝到宿主机的文件系统中;通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作。与现有技术相比,本申请配置容器目录挂载volume的方式将容器镜像中的安装包和安装脚本,拷贝到宿主机的文件系统中。最后,在切换到宿主机的文件系统,执行以及拷贝到宿主机的组件安装/升级脚本,就能完成系统组件的升级,有效解决传统的技术方案无法将容器镜像中的组件安装文件安装到宿主机的文件系统中的问题。
本文档来自技高网...【技术保护点】
1.一种组件部署升级方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的组件部署升级方法,其特征在于,所述部署升级请求携带有待处理的组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
3.根据权利要求2所述的组件部署升级方法,其特征在于,所述根据滚动更新机制逐步更新与所述组件容器标识相对应的容器的步骤,具体包括下述步骤:
4.根据权利要求1所述的组件部署升级方法,其特征在于,所述部署升级请求携带有待处理的非组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
5.根据权利要求1所述的组件部署升级方法,其特征在于,所述部署升级请求携带有待处理的非组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
6.一种组件部署升级装置,其特征在于,包括:
7.根据权利要求7所述的组件部署升级装置,其特征在于,所述部署升级
8.根据权利要求7所述的组件部署升级装置,其特征在于,所述更新子模块包括:
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述的组件部署升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的组件部署升级方法的步骤。
...【技术特征摘要】
1.一种组件部署升级方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的组件部署升级方法,其特征在于,所述部署升级请求携带有待处理的组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
3.根据权利要求2所述的组件部署升级方法,其特征在于,所述根据滚动更新机制逐步更新与所述组件容器标识相对应的容器的步骤,具体包括下述步骤:
4.根据权利要求1所述的组件部署升级方法,其特征在于,所述部署升级请求携带有待处理的非组件容器标识,所述通过所述宿主机的文件系统执行拷贝到的安装包以及安装脚本,以完成组件升级操作的步骤,具体包括下述步骤:
5.根据权利要求1所述的组件部署升级方法,其特征在于,所述部署升级请求携带有待处理的非组件容器标识,...
【专利技术属性】
技术研发人员:阮兆银,苏嘉伟,孙涛,谢文裕,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。