Kubernetes容器环境下保证环境一致性的方法及系统.pdf

上传人:狗** 文档编号:10012963 上传时间:2021-06-01 格式:PDF 页数:11 大小:891.61KB
收藏 版权申诉 举报 下载
Kubernetes容器环境下保证环境一致性的方法及系统.pdf_第1页
第1页 / 共11页
Kubernetes容器环境下保证环境一致性的方法及系统.pdf_第2页
第2页 / 共11页
Kubernetes容器环境下保证环境一致性的方法及系统.pdf_第3页
第3页 / 共11页
文档描述:

《Kubernetes容器环境下保证环境一致性的方法及系统.pdf》由会员分享,可在线阅读,更多相关《Kubernetes容器环境下保证环境一致性的方法及系统.pdf(11页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010838051.7 (22)申请日 2020.08.19 (71)申请人 上海翘腾科技有限公司 地址 200333 上海市普陀区同普路1130弄5 号2楼231室 (72)发明人 董文启刘海螺张礼军 (74)专利代理机构 上海创开专利代理事务所 (普通合伙) 31374 代理人 吴海燕 (51)Int.Cl. G06F 9/455(2006.01) G06F 16/23(2019.01) G06F 16/27(2019.01) (54)发明名称 一种Kubernetes。

2、容器环境下保证环境一致 性的方法及系统 (57)摘要 本发明公开了一种Kubernetes容器环境下 保证环境一致性的方法及系统, 涉及程序开发技 术领域。 本发明系统包括BrApps系统、 开源Git托 管软件Gitlab、 业务端Kubernetes集群以及用于 业务端Kubernetes集群与BrApps系统交互的工 具软件Agent。 本发明使用Git存储资源对象, 直 接更新或删除资源文件; 资源文件与管理系统不 耦合, 即使管理系统瘫痪仍然可以持续按照期望 的更新Kubernetes对象, 只需要拷贝Git库中的 资源文件并按需修改后到业务端Kubernetes中 使用相关命令进行。

3、直接更新资源对象也可以快 速达到预期目的, 大大缩短了运维成本。 权利要求书2页 说明书5页 附图3页 CN 111984373 A 2020.11.24 CN 111984373 A 1.一种Kubernetes容器环境下保证环境一致性的系统, 其特征在于, 包括持续交付控 制端BrApps系统、 开源Git托管软件Gitlab、 业务端Kubernetes集群以及用于业务端 Kubernetes集群与BrApps系统交互的安装于业务集群的Kubernetes上的工具软件Agent; 其中, BrApps系统: 为本发明中的一个主要控制系统, 负责向用户提供UI交互界面, 并 按照用户预期资。

4、源生成Kubernetes资源文件, 提供对Agent的授权支持, 给予Agent能够正 常访问Git库的授权文件, 及时响应用户请求, 通知Agent尽快做出响应; 其中, Gitlab: 是用户存放资源文件的介质, Gitlab提供了完善的安全管理机制, 成熟 高可用方案保证Git服务稳定安全的运行; 其中, Agent: 是对Git库中的资源文件作出响应的工具软件, 也是本发明中的主要客户 端软件, 负责解析资源文件并生成Kubernetes资源对象, 定时检测资源对象是否符合资源 文件的定义要求, 同时同步Git库, 防止由于BrApps平台异常导致Kubernetes资源对象无法 更。

5、新的问题; Agent通过Websocket与BrApps系统连接, 即时BrApps系统无法直接访问业务 系统, 只要业务系统可以访问BrApps系统就能够建立持续的连接, 达到相互通信的效果。 2.如权利要求1利用该系统的一种Kubernetes容器环境下保证环境一致性的方法, 其 特征在于, 包括BrApps系统对服务端流程的具体实现方法以及业务端Agent与BrApps平台、 Git服务器的交互过程方法; 其中, 所述BrApps系统对服务端流程的具体实现方法包括如下步骤: S01、 BrApps系统启动后, 一方面提供用户操作的界面, 一方面监听着来自Git服务器的 事件; S02、。

6、 当用户通过界面执行部署应用、 更新应用、 删除应用或者其他资源的操作之后, BrApps会处理这些操作, 并且生成相应的配置文件; S03、 生成配置文件之后, BrApps将配置文件更新到Git库中; S04、 Git服务器接收更新并将触发的事件通知给BrApps平台; S05、 BrApps平台收到代码变更成功事件后, 在代码库中更新devops-sync标签; S06、 通知业务端的Agent及时更新资源; 其中, 所述业务端Agent与BrApps平台、 Git服务器的交互过程方法包括如下步骤: T01、 业务端Agent启动之后, 通过websocket连接到BrApps平台, 并。

7、同时监听来自 BrApps的指令; T02、 当BrApps收到来自Agent的连接之后, 首先判断该Agent是否有正确的授权信息, 并通过授权信息查询该Agent具有哪些Git库权限, 并将对于Git库的授权文件发送给 Agent; T03、 Agent收到来自BrApps平台的授权文件之后, 存放到指定位置, 并修改ssh配置文 件, 保证Git库与授权文件一一对应; T04、 当Agent收到同步Git库命令后, Agent将立即更新本地Git库; T05、 Git库更新完毕后, Agent判断devops-sync和agent-sync标签是否一致, 如果一 致, 则不执行其他操作,。

8、 直接通知BrApps系统同步成功; 如果不一致则开始解析两个标签中 文件的差异; T06、 Agent识别出差异的文件之后, 判断文件是新建、 更新或删除; 根据不同的操作类 型分别执行Kubernetes集群中的资源新建、 更新或删除操作; 权利要求书 1/2 页 2 CN 111984373 A 2 T07、 Agent对Kubernetes操作执行得到响应之后, Agent判断Kubernetes中的资源是否 符合预期, 如果符合预期, 则通知BrApps系统同步成功, 否则通知BrApps系统同步失败; 如 果BrApps系统收到同步成功指令, BrApps系统将结果加工之后存储到数。

9、据库中; 如果 BrApps系统收到同步失败执行, 则会再次通知Agent直到同步成功。 3.根据权利要求2所述的一种Kubernetes容器环境下保证环境一致性的方法, 其特征 在于, 所述Git服务器的具体控制过程为: Git服务器启动之后开始监听Git库中的事件, 提 交新的代码, 或者创建、 更新标签都会产生事件, 产生事件之后就立即通知BrApps平台, BrApps平台将根据不同的事件作出不同的响应。 4.根据权利要求1所述的一种Kubernetes容器环境下保证环境一致性的方法及系统, 其特征在于, 所述Agent会进行内部检查, 其步骤为: P01、 Agent启动后会启动一个。

10、定时器; P02、 定时器每10分钟执行一次操作, 操作包含诊断Kubernetes集群中的资源对象与 Git库中定义的是否一致和同步Git库中的代码; P03、 诊断Kubernetes集群中的资源对象是否符合Git库中定义, 如果不符合则根据定 义文件删除在Kubernetes中的多余的对象, 更新不一致的资源, 创建不存在的资源; P04、 同步Git库操作后开始执行步骤T5及其后续步骤。 权利要求书 2/2 页 3 CN 111984373 A 3 一种Kubernetes容器环境下保证环境一致性的方法及系统 技术领域 0001 本发明属于程序开发技术领域, 特别是涉及一种Kubern。

11、etes容器环境下保证环境 一致性的系统以及一种Kubernetes容器环境下保证环境一致性的方法。 背景技术 0002 云原生的持续交付的兴起, 各大公司都开始研究和使用持续交付产品。 0003 程序开发和运维人员大多对Git库管理系统熟悉, 操作基本无障碍。 0004 有很多开源成熟的Git管理工具有良好的授权管理机制, 及运行保障机制, 保证数 据安全可靠。 0005 现有的技术具有如下问题: 1、 目前几乎所有的持续交互工具, 都将各类操作信息 存储到服务端的中。 严重依赖服务端的稳定性。 2、 大多系统只记录了最新的数据参数, 当用 户操作失误之后回滚操作困难。 因此针对以上问题, 。

12、提供一种Kubernetes容器环境下保证 环境一致性的方法及系统具有重要意义。 发明内容 0006 本发明提供了一种Kubernetes容器环境下保证环境一致性的方法及系统, 以解决 在服务端不可用是仍能够正常更新业务端资源对象, 或执行回滚操作。 0007 为解决上述技术问题, 本发明是通过以下技术方案实现的: 0008 本发明的一种Kubernetes容器环境下保证环境一致性的系统, 包括持续交付控制 端BrApps系统、 开源Git托管软件Gitlab、 业务端Kubernetes集群以及用于业务端 Kubernetes集群与BrApps系统交互的安装于业务集群的Kubernetes上。

13、的工具软件Agent; 0009 其中, BrApps系统: 为本发明中的一个主要控制系统, 负责向用户提供UI交互界 面, 并按照用户预期资源生成Kubernetes资源文件, 提供对Agent的授权支持, 给予Agent能 够正常访问Git库的授权文件, 及时响应用户请求, 通知Agent尽快做出响应; 0010 其中, Gitlab: 是用户存放资源文件的介质, Gitlab提供了完善的安全管理机制, 成熟高可用方案保证Git服务稳定安全的运行; 0011 其中, Agent: 是对Git库中的资源文件作出响应的工具软件, 也是本发明中的主要 客户端软件, 负责解析资源文件并生成Kube。

14、rnetes资源对象, 定时检测资源对象是否符合 资源文件的定义要求, 同时同步Git库, 防止由于BrApps平台异常导致Kubernetes资源对象 无法更新的问题; Agent通过Websocket与BrApps系统连接, 即时BrApps系统无法直接访问 业务系统, 只要业务系统可以访问BrApps系统就能够建立持续的连接, 达到相互通信的效 果。 0012 一种Kubernetes容器环境下保证环境一致性的方法, 包括BrApps系统对服务端流 程的具体实现方法以及业务端Agent与BrApps平台、 Git服务器的交互过程方法; 0013 其中, 所述BrApps系统对服务端流程的。

15、具体实现方法包括如下步骤: 0014 S01、 BrApps系统启动后, 一方面提供用户操作的界面, 一方面监听着来自Git服务 说明书 1/5 页 4 CN 111984373 A 4 器的事件; 0015 S02、 当用户通过界面执行部署应用、 更新应用、 删除应用或者其他资源的操作之 后, BrApps会处理这些操作, 并且生成相应的配置文件; 0016 S03、 生成配置文件之后, BrApps将配置文件更新到Git库中; 0017 S04、 Git服务器接收更新并将触发的事件通知给BrApps平台; 0018 S05、 BrApps平台收到代码变更成功事件后, 在代码库中更新devo。

16、ps-sync标签; 0019 S06、 通知业务端的Agent及时更新资源; 0020 其中, 所述业务端Agent与BrApps平台、 Git服务器的交互过程方法包括如下步骤: 0021 T01、 业务端Agent启动之后, 通过websocket连接到BrApps平台, 并同时监听来自 BrApps的指令; 0022 T02、 当BrApps收到来自Agent的连接之后, 首先判断该Agent是否有正确的授权信 息, 并通过授权信息查询该Agent具有哪些Git库权限, 并将对于Git库的授权文件发送给 Agent; 0023 T03、 Agent收到来自BrApps平台的授权文件之后,。

17、 存放到指定位置, 并修改ssh配 置文件, 保证Git库与授权文件一一对应; 0024 T04、 当Agent收到同步Git库命令后, Agent将立即更新本地Git库; 0025 T05、 Git库更新完毕后, Agent判断devops-sync和agent-sync标签是否一致, 如果 一致, 则不执行其他操作, 直接通知BrApps系统同步成功; 如果不一致则开始解析两个标签 中文件的差异; 0026 T06、 Agent识别出差异的文件之后, 判断文件是新建、 更新或删除; 根据不同的操 作类型分别执行Kubernetes集群中的资源新建、 更新或删除操作; 0027 T07、 A。

18、gent对Kubernetes操作执行得到响应之后, Agent判断Kubernetes中的资源 是否符合预期, 如果符合预期, 则通知BrApps系统同步成功, 否则通知BrApps系统同步失 败; 如果BrApps系统收到同步成功指令, BrApps系统将结果加工之后存储到数据库中; 如果 BrApps系统收到同步失败执行, 则会再次通知Agent直到同步成功。 0028 进一步地, 所述Git服务器的具体控制过程为: Git服务器启动之后开始监听Git库 中的事件, 提交新的代码, 或者创建、 更新标签都会产生事件, 产生事件之后就立即通知 BrApps平台, BrApps平台将根据不同。

19、的事件作出不同的响应。 0029 进一步地, 所述Agent会进行内部检查, 其步骤为: 0030 P01、 Agent启动后会启动一个定时器; 0031 P02、 定时器每10分钟执行一次操作, 操作包含诊断Kubernetes集群中的资源对象 与Git库中定义的是否一致和同步Git库中的代码; 0032 P03、 诊断Kubernetes集群中的资源对象是否符合Git库中定义, 如果不符合则根 据定义文件删除在Kubernetes中的多余的对象, 更新不一致的资源, 创建不存在的资源; 0033 P04、 同步Git库操作后开始执行步骤T5及其后续步骤。 0034 本发明相对于现有技术包括。

20、有以下有益效果: 0035 1、 本发明使用Git存储资源对象, 开发人员在很少学习甚至无需学习的情况下更 新或删除资源文件; 资源文件与管理系统不耦合, 即使管理系统瘫痪仍然可以持续按照期 望的更新Kubernetes对象。 说明书 2/5 页 5 CN 111984373 A 5 0036 2、 由于Git的特性, 记录了每一个操作的修改信息, 当用户执行了错误操作导致 Kubernetes中的资源对象异常时能够快速的找到问题, 手工回滚Git库中的资源配置文件 或者在BrApps系统中快速回滚既可; 大大缩短了运维成本。 0037 3、 即使在Agent瘫痪之后, 运维人员只需要拷贝Gi。

21、t库中的资源文件并按需修改后 到业务端Kubernetes中使用相关命令进行直接更新资源对象也可以快速达到预期目的; 而 大多数持续交互平台当控制端或连接组件异常之后只能先处理平台问题才能实现更新预 期资源对象。 0038 当然, 实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。 附图说明 0039 为了更清楚地说明本发明实施例的技术方案, 下面将对实施例描述所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领 域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。 0040 图1为本发明的一种Kub。

22、ernetes容器环境下保证环境一致性的系统结构图; 0041 图2为本发明BrApps系统对服务端流程的具体实现方法的步骤图; 0042 图3为本发明业务端Agent与BrApps平台、 Git服务器的交互过程方法的步骤图; 0043 图4为Git服务器的具体控制过程的步骤图; 0044 图5为Agent内部自检查的过程步骤图。 具体实施方式 0045 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有。

23、其它 实施例, 都属于本发明保护的范围。 0046 请参阅图1所示, 本发明的一种Kubernetes容器环境下保证环境一致性的系统, 包 括持续交付控制端BrApps系统、 开源Git托管软件Gitlab、 业务端Kubernetes集群以及用于 业务端Kubernetes集群与BrApps系统交互的安装于业务集群的Kubernetes上的工具软件 Agent; 0047 其中, BrApps系统: 为本发明中的一个主要控制系统, 负责向用户提供UI交互界 面, 并按照用户预期资源生成Kubernetes资源文件, 提供对Agent的授权支持, 给予Agent能 够正常访问Git库的授权文件。

24、, 及时响应用户请求, 通知Agent尽快做出响应; 0048 其中, Gitlab: 是用户存放资源文件的介质, 许多大公司都在用Gitlab作为Git托 管服务, Gitlab提供了完善的安全管理机制, 成熟高可用方案保证Git服务稳定安全的运 行; 0049 其中, Agent: 是对Git库中的资源文件作出响应的工具软件, 也是本发明中的主要 客户端软件, 负责解析资源文件并生成Kubernetes资源对象, 定时检测资源对象是否符合 资源文件的定义要求, 同时同步Git库, 防止由于BrApps平台异常导致Kubernetes资源对象 无法更新的问题; Agent通过Websocke。

25、t与BrApps系统连接, 即时BrApps系统无法直接访问 说明书 3/5 页 6 CN 111984373 A 6 业务系统, 只要业务系统可以访问BrApps系统就能够建立持续的连接, 达到相互通信的效 果。 0050 如图2-5所示, 一种Kubernetes容器环境下保证环境一致性的方法, 包括BrApps系 统对服务端流程的具体实现方法以及业务端Agent与BrApps平台、 Git服务器的交互过程方 法; 0051 如图2所示, 其中, BrApps系统对服务端流程的具体实现方法包括如下步骤: 0052 S01、 BrApps系统启动后, 一方面提供用户操作的界面, 一方面监听着。

26、来自Git服务 器的事件; 0053 S02、 当用户通过界面执行部署应用、 更新应用、 删除应用或者其他资源的操作之 后, BrApps会处理这些操作, 并且生成相应的配置文件; 0054 S03、 生成配置文件之后, BrApps将配置文件更新到Git库中; 0055 S04、 Git服务器接收更新并将触发的事件通知给BrApps平台; 0056 S05、 BrApps平台收到代码变更成功事件后, 在代码库中更新devops-sync标签; 0057 S06、 通知业务端的Agent及时更新资源; 0058 如图3所示, 其中, 业务端Agent与BrApps平台、 Git服务器的交互过程。

27、方法包括如 下步骤: 0059 T01、 业务端Agent启动之后, 通过websocket连接到BrApps平台, 并同时监听来自 BrApps的指令; 0060 T02、 当BrApps收到来自Agent的连接之后, 首先判断该Agent是否有正确的授权信 息, 并通过授权信息查询该Agent具有哪些Git库权限, 并将对于Git库的授权文件发送给 Agent; 0061 T03、 Agent收到来自BrApps平台的授权文件之后, 存放到指定位置, 并修改ssh配 置文件, 保证Git库与授权文件一一对应; 0062 T04、 当Agent收到同步Git库命令后, Agent将立即更新本。

28、地Git库; 0063 T05、 Git库更新完毕后, Agent判断devops-sync和agent-sync标签是否一致, 如果 一致, 则不执行其他操作, 直接通知BrApps系统同步成功; 如果不一致则开始解析两个标签 中文件的差异; 0064 T06、 Agent识别出差异的文件之后, 判断文件是新建、 更新或删除; 根据不同的操 作类型分别执行Kubernetes集群中的资源新建、 更新或删除操作; 0065 T07、 Agent对Kubernetes操作执行得到响应之后, Agent判断Kubernetes中的资源 是否符合预期, 如果符合预期, 则通知BrApps系统同步成功。

29、, 否则通知BrApps系统同步失 败; 如果BrApps系统收到同步成功指令, BrApps系统将结果加工之后存储到数据库中; 如果 BrApps系统收到同步失败执行, 则会再次通知Agent直到同步成功。 0066 如图4所示, Git服务器的具体控制过程为: Git服务器启动之后开始监听Git库中 的事件, 提交新的代码, 或者创建、 更新标签都会产生事件, 产生事件之后就立即通知 BrApps平台, BrApps平台将根据不同的事件作出不同的响应。 0067 如图5所示, Agent会进行内部检查, 其步骤为: 0068 P01、 Agent启动后会启动一个定时器; 0069 P02、。

30、 定时器每10分钟执行一次操作, 操作包含诊断Kubernetes集群中的资源对象 说明书 4/5 页 7 CN 111984373 A 7 与Git库中定义的是否一致和同步Git库中的代码; 0070 P03、 诊断Kubernetes集群中的资源对象是否符合Git库中定义, 如果不符合则根 据定义文件删除在Kubernetes中的多余的对象, 更新不一致的资源, 创建不存在的资源; 0071 P04、 同步Git库操作后开始执行步骤T5及其后续步骤。 0072 本发明相对于现有技术具有包括但不限于以下有益效果: 0073 1、 本发明使用Git存储资源对象, 开发人员在很少学习甚至无需学习。

31、的情况下更 新或删除资源文件; 资源文件与管理系统不耦合, 即使管理系统瘫痪仍然可以持续按照期 望的更新Kubernetes对象。 0074 2、 由于Git的特性, 记录了每一个操作的修改信息, 当用户执行了错误操作导致 Kubernetes中的资源对象异常时能够快速的找到问题, 手工回滚Git库中的资源配置文件 或者在BrApps系统中快速回滚既可; 大大缩短了运维成本。 0075 3、 即使在Agent瘫痪之后, 运维人员只需要拷贝Git库中的资源文件并按需修改后 到业务端Kubernetes中使用相关命令进行直接更新资源对象也可以快速达到预期目的; 而 大多数持续交互平台当控制端或连接。

32、组件异常之后只能先处理平台问题才能实现更新预 期资源对象。 0076 以上公开的本发明优选实施例只是用于帮助阐述本发明。 优选实施例并没有详尽 叙述所有的细节, 也不限制该发明仅为所述的具体实施方式。 显然, 根据本说明书的内容, 可作很多的修改和变化。 本说明书选取并具体描述这些实施例, 是为了更好地解释本发明 的原理和实际应用, 从而使所属技术领域技术人员能很好地理解和利用本发明。 本发明仅 受权利要求书及其全部范围和等效物的限制。 说明书 5/5 页 8 CN 111984373 A 8 图1 图2 说明书附图 1/3 页 9 CN 111984373 A 9 图3 说明书附图 2/3 页 10 CN 111984373 A 10 图4 图5 说明书附图 3/3 页 11 CN 111984373 A 11 。

展开阅读全文
内容关键字: Kubernetes 容器 环境 保证 一致性 方法 系统
关于本文
本文标题:Kubernetes容器环境下保证环境一致性的方法及系统.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10012963.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1