一种容器在线分析的方法、系统、设备和存储介质技术方案

技术编号:39152781 阅读:8 留言:0更新日期:2023-10-23 14:59
本发明专利技术提供一种容器在线分析的方法、系统、设备和存储介质,方法包括:创建与待分析容器相同的镜像容器;根据所述待分析容器的状态数据恢复所述镜像容器的运行状态;采集进入所述待分析容器的网络流量并发送到所述镜像容器;以及在所述镜像容器中对网络流量进行分析调试,并将分析调试后的网络流量发送到所述待分析容器中。本发明专利技术在分析环境对容器进行分析或调试时降低对生产环境上其他容器的运行影响。响。响。

【技术实现步骤摘要】
一种容器在线分析的方法、系统、设备和存储介质


[0001]本专利技术涉及软件开发领域,更具体地,特别是指一种容器在线分析的方法、系统、设备和存储介质。

技术介绍

[0002]随着云计算的迅猛发展,将底层硬件资源以容器形式对外提供服务的模式得到了广泛的关注和应用。随着云上运行的容器数量增加,容器出现故障的概率大大增加。维护人员为了排查故障起因,需要在宿主机上分析容器的运行日志、主机的资源使用记录等,必要时还需要使用调试工具辅助分析。但是这种方法存在以下弊端:在排查故障的过程中容器需要停止运行,无法继续为用户提供服务,影响用户体验;运行的容器出现故障往往是由于长时间的状态累积而产生的,仅根据容器输出、运行日志等信息无法有效的发现问题;云数据中心单个节点上运行大量的容器,节点的资源使用率较高,而故障分析过程中需要安装辅助工具会占用大量的主机资源,这会导致节点上的容器间出现资源争用的情况,进而降低容器对外提供服务的质量。

技术实现思路

[0003]有鉴于此,本专利技术实施例的目的在于提出一种容器在线分析的方法、系统、计算机设备及计算机可读存储介质,本专利技术将容器从生产环境克隆一份到分析环境中,并复制进入生产环境的网络流量,然后转发到分析环境,使克隆对象与生产环境上容器有同样的输入流量,进而保障容器的运行状态和行为一致。在容器克隆和状态同步过程中,通过RDMA(Remote Direct Memory Access,远程直接数据存取)技术实现容器状态数据的高速传输并降低主机资源消耗。当生产环境上的容器出现故障时,管理人员可以在分析环境使用更灵活的手段调试分析容器而不影响生产环境的容器业务。
[0004]基于上述目的,本专利技术实施例的一方面提供了一种容器在线分析的方法,包括如下步骤:创建与待分析容器相同的镜像容器;根据所述待分析容器的状态数据恢复所述镜像容器的运行状态;采集进入所述待分析容器的网络流量并发送到所述镜像容器;以及在所述镜像容器中对网络流量进行分析调试,并将分析调试后的网络流量发送到所述待分析容器中。
[0005]在一些实施方式中,所述创建与待分析容器相同的镜像容器包括:向容器守护进程查询所述待分析容器的容器名或容器ID对应的配置信息,通过配置信息中的容器镜像ID获取镜像文件数据保存地址;以及将所述镜像文件数据和配置信息进行压缩,并将所述镜像文件数据保存地址发送给容器数据传输单元。
[0006]在一些实施方式中,所述创建与待分析容器相同的镜像容器包括:响应于分析环境节点上部署的容器数据传输单元接收到所述镜像文件数据,将所述镜像文件数据所在的位置发给容器状态恢复单元;以及容器状态恢复单元读取镜像文件并将镜像加载到容器镜像仓库中,解析容器的配置信息,根据得到的端口映射规则构建出具有特权且与所述待分
析容器配置相同的镜像容器。
[0007]在一些实施方式中,所述根据所述待分析容器的状态数据恢复所述镜像容器的运行状态包括:生产环境上容器状态收集单元向容器守护进程发起容器状态收集请求,以获取任务使用的内存区域、内存映射文件以及共享内存标识符。
[0008]在一些实施方式中,所述根据所述待分析容器的状态数据恢复所述镜像容器的运行状态包括:容器状态恢复单元将容器状态恢复后通知容器数据传输单元,以与生产环境断开数据传输通道,并删除从生产环境发送过来的冗余数据。
[0009]在一些实施方式中,所述采集进入所述待分析容器的网络流量并发送到所述镜像容器包括:采集同主机节点上容器间的内部流量以及跨主机节点上容器间的外部流量。
[0010]在一些实施方式中,所述在所述镜像容器中对网络流量进行分析调试,并将分析调试后的网络流量发送到所述待分析容器中的步骤包括:选择上层协议为IP协议且IP地址为所述待分析容器的IP地址的数据包,并将所述数据包的MAC地址和IP地址修改为分析环境节点的地址。
[0011]本专利技术实施例的另一方面,提供了一种容器在线分析的系统,包括:创建模块,配置用于创建与待分析容器相同的镜像容器;恢复模块,配置用于根据所述待分析容器的状态数据恢复所述镜像容器的运行状态;采集模块,配置用于采集进入所述待分析容器的网络流量并发送到所述镜像容器;以及修改模块,配置用于在所述镜像容器中对网络流量进行分析调试,并将分析调试后的网络流量发送到所述待分析容器中。
[0012]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0013]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0014]本专利技术具有以下有益技术效果:将容器从生产环境克隆一份到分析环境中,并复制进入生产环境的网络流量,然后转发到分析环境,使克隆对象与生产环境上容器有同样的输入流量,进而保障容器的运行状态和行为一致。在容器克隆和状态同步过程中,通过RDMA技术实现容器状态数据的高速传输并降低主机资源消耗。当生产环境上的容器出现故障时,管理人员可以在分析环境使用更灵活的手段调试分析容器而不影响生产环境的容器业务。
附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0016]图1为本专利技术提供的容器在线分析的方法的实施例的示意图;
[0017]图2为本专利技术提供的容器在线分析的系统的实施例的示意图;
[0018]图3为本专利技术提供的容器在线分析的计算机设备的实施例的硬件结构示意图;
[0019]图4为本专利技术提供的容器在线分析的计算机存储介质的实施例的示意图。
具体实施方式
[0020]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0021]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0022]本专利技术实施例的第一个方面,提出了一种容器在线分析的方法的实施例。图1示出的是本专利技术提供的容器在线分析的方法的实施例的示意图。
[0023]如图1所示,本专利技术实施例包括如下步骤:
[0024]S1、创建与待分析容器相同的镜像容器;
[0025]S2、根据所述待分析容器的状态数据恢复所述镜像容器的运行状态;
[0026]S3、采集进入所述待分析容器的网络流量并发送到所述镜像容器;以及
[0027]S4、在所述镜像容器中对网络流量进行分析调试,并将分析调本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器在线分析的方法,其特征在于,包括如下步骤:创建与待分析容器相同的镜像容器;根据所述待分析容器的状态数据恢复所述镜像容器的运行状态;采集进入所述待分析容器的网络流量并发送到所述镜像容器;以及在所述镜像容器中对网络流量进行分析调试,并将分析调试后的网络流量发送到所述待分析容器中。2.根据权利要求1所述的容器在线分析的方法,其特征在于,所述创建与待分析容器相同的镜像容器包括:向容器守护进程查询所述待分析容器的容器名或容器ID对应的配置信息,通过配置信息中的容器镜像ID获取镜像文件数据保存地址;以及将所述镜像文件数据和配置信息进行压缩,并将所述镜像文件数据保存地址发送给容器数据传输单元。3.根据权利要求2所述的容器在线分析的方法,其特征在于,所述创建与待分析容器相同的镜像容器包括:响应于分析环境节点上部署的容器数据传输单元接收到所述镜像文件数据,将所述镜像文件数据所在的位置发给容器状态恢复单元;以及容器状态恢复单元读取镜像文件并将镜像加载到容器镜像仓库中,解析容器的配置信息,根据得到的端口映射规则构建出具有特权且与所述待分析容器配置相同的镜像容器。4.根据权利要求1所述的容器在线分析的方法,其特征在于,所述根据所述待分析容器的状态数据恢复所述镜像容器的运行状态包括:生产环境上容器状态收集单元向容器守护进程发起容器状态收集请求,以获取任务使用的内存区域、内存映射文件以及共享内存标识符。5.根据权利要求4所述的容器在线分析的方法,其特征在于,所述根据所述待分析容器的状态数据恢复所述镜像容器的运行状态包括:容器状态恢复单元将...

【专利技术属性】
技术研发人员:毛贝贝赵闪闪
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1