对K8S多集群进行自动更新资源对象的方法及设备技术

技术编号:37549013 阅读:7 留言:0更新日期:2023-05-12 16:26
本申请涉及集群处理技术领域,尤其涉及一种对K8S多集群进行自动更新资源对象的方法及设备,方法包括:进行K8S集群中指定资源对象的资源信息的查询和获取;指定资源对象至少包括:deployment和configmap;将获取到的资源信息输出为对应资源对象的YAML信息;接收用户录入的预更新内容,根据预更新内容创建需要进行同步更新的关键字;在YAML信息中查找关键字对应的对象信息,根据关键字中的预更新内容对关键字对应的对象信息进行覆盖;对执行更新的K8S集群所在的集群分组中的全部K8S集群均同步执行更新;集群分组中的K8S集群为可进行资源复制的集群。本申请中的技术方案可实现自动且批量的更新应用在各个K8S集群对应的资源信息。息。息。

【技术实现步骤摘要】
对K8S多集群进行自动更新资源对象的方法及设备


[0001]本申请涉及集群处理
,尤其涉及一种对K8S多集群进行自动更新资源对象的方法及设备。

技术介绍

[0002]现有容器管理平台支持同一应用(负载)部署在多个K8S(Kubernetes,Google开源容器编排引擎)集群,每个集群中都存在管理应用的deployment及其挂载的configmap等资源对象,随着集群数量的增多,维护每一个应用版本一致性和挂载配置的同步变得尤为繁琐,如果这部分工作靠人工手动维护不仅影响效率,还会增加错更和漏更风险,并且操作后的历史记录不方便管理。
[0003]现有技术中已实现通过对接devops平台的发布接口,进而可以批量的下发多集群镜像等信息实现多集群deployment的更新,可变更内容有限,并且缺乏批量更新configmap的功能,一旦涉及集群配置变更,缺少自动化同步的工具。

技术实现思路

[0004]为至少在一定程度上克服相关技术中无法对多个K8S集群中的应用进行同步更新的问题,本申请提供一种对K8S多集群进行自动更新资源对象的方法及设备。
[0005]本申请的方案如下:
[0006]根据本申请实施例的第一方面,提供一种对K8S多集群进行自动更新资源对象的方法,包括:
[0007]进行K8S集群中指定资源对象的资源信息的查询和获取;所述指定资源对象至少包括:deployment和configmap;
[0008]将获取到的资源信息输出为对应资源对象的YAML信息;
[0009]接收用户录入的预更新内容,根据所述预更新内容创建需要进行同步更新的关键字;
[0010]在所述YAML信息中查找所述关键字对应的对象信息,根据所述关键字中的预更新内容对所述关键字对应的对象信息进行覆盖;
[0011]对执行更新的K8S集群所在的集群分组中的全部K8S集群均同步执行更新;所述集群分组中的K8S集群为可进行资源复制的集群。
[0012]优选地,根据所述关键字中的预更新内容对所述关键字对应的对象信息进行覆盖前,所述方法还包括:
[0013]将被覆盖前的YAML信息进行提取并保存为历史YAML信息。
[0014]优选地,根据所述关键字中的预更新内容对所述关键字对应的对象信息进行覆盖后,所述方法还包括:
[0015]将被覆盖后的YAML信息进行提取并保存为当前YAML信息。
[0016]优选地,所述方法还包括:
[0017]将可进行资源复制的K8S集群划分为同一个集群分组;
[0018]在集群分组内的K8S集群执行更新时,对集群分组中的全部K8S集群均同步执行更新;
[0019]维护集群分组内每一个K8S集群的kubeconfig信息。
[0020]优选地,所述方法还包括:
[0021]对K8S集群执行更新前后的内容进行比较展示,并将更新内容进行突出展示。
[0022]优选地,所述方法还包括:
[0023]对集群分组内的全部K8S集群的更新内容进行比较展示。
[0024]优选地,所述方法还包括:z
[0025]接收回滚指令;
[0026]将所述回滚指令对应的集群分组内的K8S集群的当前YAML信息回滚为所述历史YAML信息。
[0027]根据本申请实施例的第二方面,提供一种对K8S多集群进行自动更新资源对象的设备,包括:
[0028]处理器和存储器;
[0029]所述处理器与存储器通过通信总线相连接:
[0030]其中,所述处理器,用于调用并执行所述存储器中存储的程序;
[0031]所述存储器,用于存储程序,所述程序至少用于执行如以上任一项所述的一种对K8S多集群进行自动更新资源对象的方法。
[0032]本申请提供的技术方案可以包括以下有益效果:本申请中的对K8S多集群进行自动更新资源对象的方法,包括:进行K8S集群中指定资源对象的资源信息的查询和获取;指定资源对象至少包括:deployment和configmap;将获取到的资源信息输出为对应资源对象的YAML信息;接收用户录入的预更新内容,根据预更新内容创建需要进行同步更新的关键字;在YAML信息中查找关键字对应的对象信息,根据关键字中的预更新内容对关键字对应的对象信息进行覆盖;对执行更新的K8S集群所在的集群分组中的全部K8S集群均同步执行更新;集群分组中的K8S集群为可进行资源复制的集群。本申请中的技术方案,通过对deployment和configmap等指定资源对象的YAML信息中的关键字对应内容进行更新,且对执行更新的K8S集群所在的集群分组中的全部K8S集群均同步执行更新,实现自动且批量的更新应用在各个K8S集群对应的资源信息。
[0033]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0034]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0035]图1是本申请一个实施例提供的一种对K8S多集群进行自动更新资源对象的方法的流程示意图;
[0036]图2是本申请一个实施例提供的一种对K8S多集群进行自动更新资源对象的设备的结构示意图。
[0037]附图标记:处理器

21;存储器

22。
具体实施方式
[0038]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0039]图1是本申请一个实施例提供的一种对K8S多集群进行自动更新资源对象的方法的流程示意图,参照图1,一种对K8S多集群进行自动更新资源对象的方法,包括:
[0040]S11:进行K8S集群中指定资源对象的资源信息的查询和获取;指定资源对象至少包括:deployment和configmap;
[0041]S12:将获取到的资源信息输出为对应资源对象的YAML信息;
[0042]S13:接收用户录入的预更新内容,根据预更新内容创建需要进行同步更新的关键字;
[0043]S14:在YAML信息中查找关键字对应的对象信息,根据关键字中的预更新内容对关键字对应的对象信息进行覆盖;
[0044]S15:对执行更新的K8S集群所在的集群分组中的全部K8S集群均同步执行更新;集群分组中的K8S集群为可进行资源复制的集群。
[0045]需要说明的是,K8S与容器技术:容器技术是一个软件打包技术,使得应用服务通过一个镜像,很方便的在容器环境中启动。K8S是开源的容器集群管理平台,系统将每一个应用在集群中的运本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对K8S多集群进行自动更新资源对象的方法,其特征在于,包括:进行K8S集群中指定资源对象的资源信息的查询和获取;所述指定资源对象至少包括:deployment和configmap;将获取到的资源信息输出为对应资源对象的YAML信息;接收用户录入的预更新内容,根据所述预更新内容创建需要进行同步更新的关键字;在所述YAML信息中查找所述关键字对应的对象信息,根据所述关键字中的预更新内容对所述关键字对应的对象信息进行覆盖;对执行更新的K8S集群所在的集群分组中的全部K8S集群均同步执行更新;所述集群分组中的K8S集群为可进行资源复制的集群。2.根据权利要求1所述的方法,其特征在于,根据所述关键字中的预更新内容对所述关键字对应的对象信息进行覆盖前,所述方法还包括:将被覆盖前的YAML信息进行提取并保存为历史YAML信息。3.根据权利要求1所述的方法,其特征在于,根据所述关键字中的预更新内容对所述关键字对应的对象信息进行覆盖后,所述方法还包括:将被覆盖后的YAML信息进行提取并保存为当前YAML信息。4.根据权利要求1所述的方法,其特...

【专利技术属性】
技术研发人员:赵丽丽
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

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

1