一种跨版本升级方法、装置及电子设备制造方法及图纸

技术编号:27005967 阅读:17 留言:0更新日期:2021-01-08 17:08
本申请提供一种跨版本升级方法、装置及电子设备,可以通过控制主节点的存储组件进行版本升级,以使存储组件的版本升级为目标版本;在将存储组件的版本升级为目标版本后,再控制主节点中处于控制层的控制组件进行版本升级,以使控制组件的版本升级为目标版本。可见,只需要引入目标版本的kubernetes即可,不需要引入多个中间版本的kubernetes,这样就不需要对各个中间版本进行测试以确定这些中间版本的kubernetes在业务场景中功能是否正常。可见,应用本申请实施例能够在降低测试工作量的同时,降低版本升级的复杂度。

【技术实现步骤摘要】
一种跨版本升级方法、装置及电子设备
本申请涉及集群部署
,尤其涉及一种跨版本升级方法、装置及电子设备。
技术介绍
Kubernetes是开源的一个容器编排工具,其社区活跃度非常高,这样,使得Kubernetes版本(本申请统称版本)迭代周期较快,通常是每三个月发布一个正式版本,并且社区仅支持相邻版本的升级。基于此,针对一些使用kubernetes的项目,可能由于这些项目自身版本的发布周期长于kubernetes版本更新的发布周期,也可能基于布置在kubernetes上各应用的功能稳定性方面的考虑,不会随着kubernetes版本的更新,频繁升级项目所使用的当前版本,由此,导致项目所使用的当前版本落后于社区所使用的版本多个版本,为了不落后于社区所使用的版本,按照社区当前仅支持相邻版本的升级,需要对项目所使用的当前版本进行逐版本升级,以使项目所使用的当前版本经过多个中间版本后升级到社区所使用的版本。然而,在版本升级过程中,需要对各个中间版本进行逐个测试以保证这些中间版本的kubernetes在业务场景中功能也是正常的,这样,不仅会增大测试工作量,还会造成版本升级的复杂度。
技术实现思路
有鉴于此,本申请提供一种跨版本升级方法、装置及电子设备,以在降低测试工作量的同时,降低版本升级的复杂度。基于此,本申请是通过如下技术方案实现的:第一方面,本申请实施例提供一种跨版本升级方法,该方法应用于管理节点,包括:从已部署第一kubernetes版本的所有节点中选择一个待升级的主节点;所述第一kubernetes版本的kubernetes包括具有所述第一kubernetes版本的用于数据存储的存储组件和位于控制层的控制组件;控制所述主节点的存储组件进行版本升级,以使所述存储组件的版本升级为目标版本;在将所述存储组件的版本升级为目标版本后,再控制所述主节点的所述控制组件进行版本升级,以使所述控制组件的版本升级为目标版本。本申请的一个实施例中,所述kubernetes还包括位于控制层中具有所述第一kubernetes版本的负载均衡组件,所述控制所述主节点的控制组件进行版本升级,包括:若所述控制组件为负载均衡组件,则依据已配置的用于负载均衡组件升级的升级指令信息,控制所述负载均衡组件的版本升级,以使所述负载均衡组件的版本升级为目标版本;若所述控制组件不为负载均衡组件,则依据已配置的控制组件的配置文件对控制组件进行升级,以使所述控制组件的版本升级为目标版本。本申请的一个实施例中,所述kubernetes还包括位于控制层中具有第一kubernetes版本的第三方应用插件,在控制主节点的控制组件进行版本升级时,该方法还包括:依据已配置的用于第三方应用插件升级的升级指令信息,控制第三方应用插件进行版本升级,以使所述第三方应用插件的版本均升级为目标版本。本申请的一个实施例中,所述kubernetes还包括部署在主节点中待升级的第三方应用插件和部署在从节点中节点端代理控制组件,在所述控制组件的版本升级至目标版本后,该方法进一步包括:检查部署所述第一kubernetes版本的节点中是否还存在未升级的主节点,如果是,选择一个待升级的主节点,并返回控制所述主节点的控制组件进行版本升级的步骤;如果否,检查部署所述第一kubernetes版本的节点中是否存在待升级的从节点,当存在从节点时,选择一个待升级的从节点,依据已配置的用于节点端代理控制组件升级的升级指令信息,控制所述节点端代理控制组件进行版本升级,以使所述节点端代理控制组件的版本升级为目标版本,并返回检查部署第一kubernetes版本的节点中是否存在待升级的从节点的步骤;当不存在从节点时,依据已配置的用于所述第三方应用插件升级的升级指令信息,控制部署所述第一kubernetes版本的主节点中待升级的第三方应用插件进行版本升级,以使所述第三方应用插件的版本升级为目标版本。本申请的一个实施例中,部署kubernetes的任一节点上的控制组件通过GA的V1接口与外部进行通信。本申请的一个实施例中,在所述控制所述主节点中用于数据存储的存储组件进行版本升级之前,或,在所述控制从节点中的节点端代理控制组件进行版本升级之前,进一步包括:依据所述目标版本对应的kubernetes资源号检查所述目标版本是否支持所述第一kubernetes版本已有的各第三方应用对应的应用资源,若所述目标版本不支持所述第一kubernetes版本已部署的至少一个第三方应用对应的应用资源,则删除所述至少一个应用对应的应用资源。第二方面,本申请实施例还提供一种跨版本升级装置,该装置应用于管理节点,包括:节点选择单元,用于从已部署第一kubernetes版本的所有节点中选择一个待升级的主节点,所述第一kubernetes版本的kubernetes包括具有所述第一kubernetes版本的用于数据存储的存储组件和位于控制层的控制组件;存储组件升级单元,用于控制所述主节点的存储组件进行版本升级,以使所述存储组件的版本升级为目标版本;控制组件升级单元,用于在将所述存储组件的版本升级为目标版本后,再控制所述主节点的控制组件进行版本升级,以使所述控制组件的版本升级为目标版本。本申请的一个实施例中,所述kubernetes还包括位于控制层中具有所述第一kubernetes版本的负载均衡组件,所述控制组件升级单元,具体用于执行:若所述控制组件为所述负载均衡组件,则依据已配置的用于负载均衡组件升级的升级指令信息,控制所述负载均衡组件的版本升级,以使所述负载均衡组件的版本升级为目标版本;若所述控制组件不为所述负载均衡组件,则依据已配置的控制组件的配置文件对控制组件进行升级,以使所述控制组件的版本升级为目标版本。本申请的一个实施例中,所述kubernetes还包括部署在主节点中待升级的第三方应用插件升级和部署在从节点中节点端代理控制组件升级的升级,所述装置还包括:检查单元,用于检查部署所述第一kubernetes版本的节点中是否还存在未升级的主节点,如果是,触发主节点选择单元,如果否,触发从节点检查单元;所述主节点选择单元,用于选择一个待升级的主节点作为主节点,并触发所述控制组件升级单元;所述从节点检查单元,用于检查部署所述第一kubernetes版本的节点中是否存在待升级的从节点,当存在从节点时,触发从节点选择单元;当不存在从节点时,触发插件升级单元;所述从节点选择单元,用于选择一个待升级的从节点,依据已配置的用于节点端代理控制组件升级的升级指令信息,控制所述节点端代理控制组件进行版本升级,以使所述节点端代理控制组件的版本升级为目标版本,并触发所述从节点检查单元;当不存在从节点时,触发插件升级单元;所述插件升级单元,用于依据已配置的用于所述第三方应用插件升级的升级指令信息,控制部署第一kubernetes版本的主节点中本文档来自技高网...

【技术保护点】
1.一种跨版本升级方法,其特征在于,该方法应用于管理节点,包括:/n从已部署第一kubernetes版本的所有节点中选择一个待升级的主节点,所述第一kubernetes版本的kubernetes包括具有所述第一kubernetes版本的用于数据存储的存储组件和位于控制层的控制组件;/n控制所述主节点的所述存储组件进行版本升级,以使所述存储组件的版本升级为目标版本;/n在将所述存储组件的版本升级为目标版本后,再控制所述主节点的所述控制组件进行版本升级,以使所述控制组件的版本升级为目标版本。/n

【技术特征摘要】
1.一种跨版本升级方法,其特征在于,该方法应用于管理节点,包括:
从已部署第一kubernetes版本的所有节点中选择一个待升级的主节点,所述第一kubernetes版本的kubernetes包括具有所述第一kubernetes版本的用于数据存储的存储组件和位于控制层的控制组件;
控制所述主节点的所述存储组件进行版本升级,以使所述存储组件的版本升级为目标版本;
在将所述存储组件的版本升级为目标版本后,再控制所述主节点的所述控制组件进行版本升级,以使所述控制组件的版本升级为目标版本。


2.根据权利要求1所述的方法,其特征在于,所述kubernetes还包括位于控制层中具有所述第一kubernetes版本的负载均衡组件,所述控制所述主节点的所述控制组件进行版本升级,包括:
若所述控制组件为所述负载均衡组件,则依据已配置的用于负载均衡组件升级的升级指令信息,控制所述负载均衡组件的版本升级,以使所述负载均衡组件的版本升级为目标版本;
若所述控制组件不为所述负载均衡组件,则依据已配置的控制组件的配置文件对所述控制组件进行版本升级,以使所述控制组件的版本升级为目标版本。


3.根据权利要求1所述的方法,其特征在于,所述kubernetes还包括位于控制层中具有第一kubernetes版本的第三方应用插件,在控制主节点的所述控制组件进行版本升级时,该方法还包括:
依据已配置的用于第三方应用插件升级的升级指令信息,控制所述第三方应用插件进行版本升级,以使所述第三方应用插件的版本均升级为目标版本。


4.根据权利要求1所述的方法,其特征在于,所述kubernetes还包括部署在主节点中待升级的第三方应用插件和部署在从节点中节点端代理控制组件,在所述控制组件的版本升级至目标版本后,该方法进一步包括:
检查部署所述第一kubernetes版本的节点中是否还存在未升级的主节点,如果是,选择一个待升级的主节点,并返回控制所述主节点的所述控制组件进行版本升级的步骤;如果否,
检查部署所述第一kubernetes版本的节点中是否存在待升级的从节点,
当存在从节点时,选择一个待升级的从节点,依据已配置的用于节点端代理控制组件升级的升级指令信息,控制所述节点端代理控制组件进行版本升级,以使所述节点端代理控制组件的版本升级为目标版本,并返回检查部署所述第一kubernetes版本的节点中是否存在待升级的从节点的步骤;
当不存在从节点时,依据已配置的用于所述第三方应用插件升级的升级指令信息,控制部署所述第一kubernetes版本的主节点中待升级的第三方应用插件进行版本升级,以使所述第三方应用插件的版本升级为目标版本。


5.根据权利要求1所述的方法,其特征在于,部署kubernetes的任一节点上的控制组件通过GA的V1接口与外部进行通信。


6.根据权利要求4至5任一所述的方法,其特征在于,
在所述控制所述主节点中所述存储组件进行版本升级之前,或,在所述控制所述节点端代理控制组件进行版本升级之前,进一步...

【专利技术属性】
技术研发人员:闵中元贺子奇郎高一
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽;34

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

1