基于gitops与k8s容器交互的方法技术

技术编号:38655049 阅读:12 留言:0更新日期:2023-09-02 22:41
本申请提供基于gitops与k8s容器交互的方法,涉及互联网技术领域。所述方法包括:建立web页面和git仓库的交互链接,并将容器待执行命令传递至git仓库;通过webhook监听git仓库并根据交互请求调用容器链接程序;建立容器链接程序和git仓库以及容器链接程序和容器console控制台的交互链接,使k8s容器执行容器待执行命令;将操作日志记录到git仓库中,以供审计。本申请实施例实现web页面和k8s容器的隔离式交互,避免直接暴露k8s容器的链接地址,提高交互安全性;对交互期间的审计只针对git仓库进行,既有效提高审计准确性,也降低审计风险。险。险。

【技术实现步骤摘要】
基于gitops与k8s容器交互的方法


[0001]本申请涉及互联网
,具体涉及一种基于gitops与k8s容器交互的方法。

技术介绍

[0002]现有技术中,通过web页面对k8s容器的console交互基本上都是通过前端直接建立与k8s容器的websocket连接的方式实现的。这种方式直接暴露了k8s容器的链接地址,增加了交互过程中的安全隐患。同时,由于采用的是websocket连接方式,连接建立后,对k8s容器的整个操作过程无法记录,导致很难对console交互过程进行审计,无法追踪交互信息。

技术实现思路

[0003]本申请实施例提供一种基于gitops与k8s容器交互的方法,用以解决现有的web页面与k8s容器的直接交互方式安全性低的技术问题。
[0004]第一方面,本申请实施例提供一种基于gitops通过web页面与k8s容器交互的方法,包括:
[0005]根据通过web页面发出的交互请求,建立所述web页面和git仓库之间的交互链接,并通过所述web页面和所述git仓库之间的交互链接将容器待执行命令传递至所述git仓库;
[0006]通过webhook监听所述git仓库,并根据所述交互请求调用容器链接程序;
[0007]分别建立所述容器链接程序和所述git仓库之间以及所述容器链接程序和容器console控制台之间的交互链接,并通过所述容器console控制台使k8s容器执行所述容器待执行命令和反馈所述容器待执行命令的执行结果;
[0008]将操作日志记录到所述git仓库中,以供审计。
[0009]在一个实施例中,所述git仓库包括console交互请求文件、console请求文件、console响应文件、以及console用户文件,所述console交互请求文件用于存储所述交互请求,所述console请求文件用于存储所述容器待执行命令,所述console响应文件用于存储所述容器待执行命令的执行结果,所述console用户文件用于存储所述操作日志。
[0010]在一个实施例中,所述根据通过web页面发出的交互请求,建立所述web页面和git仓库之间的交互链接,包括:
[0011]通过所述web页面将所述交互请求写入所述git仓库的console交互请求文件;
[0012]根据所述交互请求,建立所述web页面与所述git仓库的console请求文件以及console响应文件之间的交互链接。
[0013]在一个实施例中,所述通过webhook监听所述git仓库,并根据所述交互请求调用容器链接程序,包括:
[0014]通过webhook监听所述git仓库的console交互请求文件,并从所述console交互请求文件中提取所述交互请求的链接信息;
[0015]根据所述链接信息调用所述容器链接程序。
[0016]在一个实施例中,所述分别建立所述容器链接程序和所述git仓库之间以及所述容器链接程序和容器console控制台之间的交互链接,包括:
[0017]建立所述容器链接程序与所述git仓库的console请求文件以及console响应文件之间的交互链接;
[0018]建立所述容器链接程序和所述容器console控制台之间的交互链接。
[0019]在一个实施例中,还包括:
[0020]根据通过web页面发出的退出命令,清空所述git仓库中console交互请求文件、console请求文件、以及console响应文件的文件内容,并关闭所述web页面和所述git仓库之间、所述容器链接程序和所述git仓库之间、以及所述容器链接程序和所述容器console控制台之间的交互链接。
[0021]在一个实施例中,还包括:
[0022]分别设置所述web页面和所述容器链接程序对所述git仓库的访问权限。
[0023]第二方面,本申请实施例提供一种一种基于gitops通过web页面与k8s容器交互的装置,包括:
[0024]交互请求模块,用于:根据通过web页面发出的交互请求,建立所述web页面和git仓库之间的交互链接,并通过所述web页面和所述git仓库之间的交互链接将容器待执行命令传递至所述git仓库;
[0025]监听模块,用于:通过webhook监听所述git仓库,并根据所述交互请求调用容器链接程序;
[0026]交互模块,用于:分别建立所述容器链接程序和所述git仓库之间以及所述容器链接程序和容器console控制台之间的交互链接,并通过所述容器console控制台使k8s容器执行所述容器待执行命令和反馈所述容器待执行命令的执行结果;
[0027]审计模块,用于:将操作日志记录到所述git仓库中,以供审计。
[0028]第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的基于gitops通过web页面与k8s容器交互的方法的步骤。
[0029]第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于gitops通过web页面与k8s容器交互的方法的步骤。
[0030]本申请实施例提供的基于gitops与k8s容器交互的方法,基于gitops的思想,借助git仓库和webhook技术建立web页面和git仓库之间、容器链接程序和git仓库、以及容器链接程序和容器console控制台之间的交互链接,以实现web页面和k8s容器之间的隔离式交互,避免直接暴露k8s容器的链接地址,极大提高交互安全性;再者,web页面与k8s容器交互期间的所有操作记录都记录到git仓库中,使得所有操作可跟踪、可追溯,对web页面与k8s容器交互期间的审计只需要针对git仓库进行,既有效提高审计准确性,也降低审计风险。
附图说明
[0031]为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术
描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是本申请实施例提供的基于gitops通过web页面与k8s容器交互的方法的流程示意图;
[0033]图2示出git仓库的部分内部结构图;
[0034]图3是本申请实施例提供的基于gitops通过web页面与k8s容器交互的装置的模块示意图;
[0035]图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0036]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于gitops通过web页面与k8s容器交互的方法,其特征在于,包括:根据通过web页面发出的交互请求,建立所述web页面和git仓库之间的交互链接,并通过所述web页面和所述git仓库之间的交互链接将容器待执行命令传递至所述git仓库;通过webhook监听所述git仓库,并根据所述交互请求调用容器链接程序;分别建立所述容器链接程序和所述git仓库之间以及所述容器链接程序和容器console控制台之间的交互链接,并通过所述容器console控制台使k8s容器执行所述容器待执行命令和反馈所述容器待执行命令的执行结果;将操作日志记录到所述git仓库中,以供审计。2.根据权利要求1所述的基于gitops通过web页面与k8s容器交互的方法,其特征在于,所述git仓库包括console交互请求文件、console请求文件、console响应文件、以及console用户文件,所述console交互请求文件用于存储所述交互请求,所述console请求文件用于存储所述容器待执行命令,所述console响应文件用于存储所述容器待执行命令的执行结果,所述console用户文件用于存储所述操作日志。3.根据权利要求2所述的基于gitops通过web页面与k8s容器交互的方法,其特征在于,所述根据通过web页面发出的交互请求,建立所述web页面和git仓库之间的交互链接,包括:通过所述web页面将所述交互请求写入所述git仓库的console交互请求文件;根据所述交互请求,建立所述web页面与所述git仓库的console请求文件以及console响应文件之间的交互链接。4.根据权利要求3所述的基于gitops通过web页面与k8s容器交互的方法,其特征在于,所述通过webhook监听所述git仓库,并根据所述交互请求调用容器链接程序,包括:通过webhook监听所述git仓库的console交互请求文件,并从所述console交互请求文件中提取所述交互请求的链接信息;根据所述链接信息调用所述容器链接程序。5.根据权利要求2所述的基于gitops通过web页面与k8s容器交互的方法,其特征在于,所述分别建立所述容器链接程序和所述git仓库之间以及所述容器链接...

【专利技术属性】
技术研发人员:陈国张一波魏宝辉张春王庆栋
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1