一种基于eBPF技术的容器化应用平滑升级方法及系统技术方案

技术编号:29294172 阅读:20 留言:0更新日期:2021-07-17 00:44
本发明专利技术公开了一种基于eBPF技术的容器化应用平滑升级方法及系统,本发明专利技术在待升级设备系统内核嵌入eBPF过滤器及分流子模块;接收应用部署子系统下发的软件升级包;根据软件升级包创建新容器,并在新容器中安装软件升级包;接收应用部署子系统下发的应用升级指令,eBPF过滤器将应用升级指令记录至eBPFmap中;应用升级指令包含新容器的虚拟网卡地址;接收客户端请求,并由分流子模块查询eBPFmap,根据新容器的虚拟网卡地址将新UDP请求和新TCP连接导向新容器应用。也就是说,本发明专利技术无需端口复用逻辑,即可实现设备单机环境下容器应用的平滑升级,升级相对简单,且可保护客户隐私数据的安全。安全。安全。

【技术实现步骤摘要】
一种基于eBPF技术的容器化应用平滑升级方法及系统


[0001]本专利技术涉及容器化应用
,具体地,涉及一种基于eBPF技术的容器化应用平滑升级方法及系统。

技术介绍

[0002]一套完整的CDN运营,需要在众多的CDN节点机器中安装各种应用软件,例如与缓存相关的cache、与流量调度相关的DNS调度程序、与流量日志采集Agent应用程序等等,总而言之,想要做好CDN客户的售后服务,需要在众多的设备中安装各类业务相关的应用软件。
[0003]在运营过程中,客户需求不断更新迭代,故而,CDN节点机器中的应用软件不可避免地需要进行应用软件升级,如何在保障CDN节点服务不中断的情况下,对数量庞大的CDN节点机器中的应用软件平滑升级,是一项较大的挑战。
[0004]众所周知,常规的应用程序升级需要做端口复用,即通过多进程监听同一个端口,这种做法不会对其他占用此端口的程序或者进程造成影响。在docker容器出现以前,端口复用技术可以实现机器中的应用程序完美的升级过程,但是端口复用的方法的缺点是所有安装的应用程序都要实现这套逻辑才可以实现,相对较为复杂。
[0005]近些年来,随着云计算、云服务、边缘计算的发展,Docker容器技术得到了较为广泛的应用,而Kubernetes作为先进的容器编排管理技术也得到了越来越多的重视,各互联网厂商相继推出了基于Kubernetes的公有云容器服务。在基于Kubernetes的容器化部署的公有云场景下,同一台机器中,想要实现端口复用的完美升级,必须做到网络不隔离,然而,在公有云的使用场景下,同一台机器中可以部署多个客户的容器服务,如果网络不隔离,那么将会出现同一台机器中的客户应用隐私数据泄露的安全问题。有鉴于此,特提出本申请。

技术实现思路

[0006]本专利技术针对现有技术的不足而提出一种基于eBPF技术的容器化应用平滑升级方法及系统,从而解决了现有无容器化的单机应用升级,需要实现端口复用逻辑,相对复杂的问题;以及,有容器的单机应用升级,公有云场景下,采用端口复用的方法升级要求网络不隔离,会导致客户应用隐私数据泄露的安全问题。
[0007]本专利技术提供了一种基于eBPF技术的容器化应用平滑升级方法,包括:
[0008]待升级设备系统内核嵌入eBPF过滤器及分流子模块;
[0009]接收应用部署子系统下发的软件升级包;
[0010]根据所述软件升级包创建新容器,并在所述新容器中安装所述软件升级包;
[0011]接收所述应用部署子系统下发的应用升级指令,所述eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡地址;
[0012]接收客户端请求,并由所述分流子模块查询eBPFmap,根据所述新容器的虚拟网卡地址将新UDP请求和新TCP连接导向新容器应用。
[0013]另一方面,本专利技术还提供了一种基于eBPF技术的容器化应用平滑升级方法,包括:
[0014]应用部署子系统向待升级设备下发软件升级包,以由所述待升级设备基于所述软件升级包创建新容器,同时在该新容器中安装所述软件升级包;
[0015]向所述待升级设备下发应用升级指令,以由所述待升级设备中的eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡地址。
[0016]再一方面,一种基于eBPF技术的容器化应用平滑升级系统,所述系统包括:待升级设备和应用部署子系统;
[0017]所述待升级设备,用于在所述待升级设备系统内核嵌入eBPF过滤器及分流子模块;接收应用部署子系统下发的软件升级包;根据所述软件升级包创建新容器,并在所述新容器中安装所述软件升级包;接收所述应用部署子系统下发的应用升级指令,所述eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡地址;接收客户端请求,并由所述分流子模块查询eBPFmap,根据所述新容器的虚拟网卡地址将新UDP请求和新TCP连接导向新容器应用;
[0018]所述应用部署子系统,用于向所述待升级设备下发软件升级包,以由所述待升级设备基于所述软件升级包创建新容器,同时在该新容器中安装所述软件升级包;向所述待升级设备下发应用升级指令,以由所述待升级设备中的eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡地址。
[0019]通过采用上述技术方案,本专利技术可以取得以下技术效果:与现有技术相比,本专利技术在待升级设备系统内核嵌入eBPF过滤器及分流子模块;接收应用部署子系统下发的软件升级包;根据所述软件升级包创建新容器,并在所述新容器中安装所述软件升级包;接收所述应用部署子系统下发的应用升级指令,所述eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡地址;接收客户端请求,并由所述分流子模块查询eBPFmap,根据所述新容器的虚拟网卡地址将新UDP请求和新TCP连接导向新容器应用。也就是说,本专利技术无需端口复用逻辑,即可实现设备单机环境下容器应用的平滑升级,升级相对简单,且可保护客户隐私数据的安全。
附图说明
[0020]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1绘示了本专利技术实施例的一种基于eBPF技术的容器化应用平滑升级方法的流程示意图;
[0022]图2绘示了图1中的一种基于eBPF技术的容器化应用平滑升级方法的另一流程示意图;
[0023]图3绘示了图1和图2中的一种基于eBPF技术的容器化应用平滑升级方法的交互示意图;
[0024]图4绘示了图1中的一种基于eBPF技术的容器化应用平滑升级系统的结构示意图。
具体实施方式
[0025]为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0026]实施例一
[0027]如图1所示,本专利技术实施例一提供了一种基于eBPF技术的容器化应用平滑升级方法,包括:
[0028]步骤101:待升级设备系统内核嵌入eBPF过滤器及分流子模块。
[0029]步骤102:接收应用部署子系统下发的软件升级包。
[0030]步骤103:根据所述软件升级包创建新容器,并在所述新容器中安装所述软件升级包。
[0031]步骤104:接收所述应用部署子系统下发的应用升级指令,所述eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于eBPF技术的容器化应用平滑升级方法,其特征在于,包括:待升级设备系统内核嵌入eBPF过滤器及分流子模块;接收应用部署子系统下发的软件升级包;根据所述软件升级包创建新容器,并在所述新容器中安装所述软件升级包;接收所述应用部署子系统下发的应用升级指令,所述eBPF过滤器将所述应用升级指令记录至eBPFmap中;所述应用升级指令包含新容器的虚拟网卡地址;接收客户端请求,并由所述分流子模块查询eBPFmap,根据所述新容器的虚拟网卡地址将新UDP请求和新TCP连接导向新容器应用。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收客户端请求,并由所述分流子模块查询eBPFmap,根据所述新容器的虚拟网卡地址将新UDP请求和新TCP连接导向新容器应用,同时保留原TCP连接。3.根据权利要求1的所述方法,其特征在于,所述待升级设备包括物理网卡、网卡驱动XDP模块和eBPF过滤器。4.根据权利要求3的所述方法,其特征在于,所述待升级设备系统内核嵌入eBPF过滤器及分流子模块,具体包括:所述待升级设备系统内核的TC层嵌入eBPF过滤器,及在所述网卡驱动XDP模块内设置分流子模块。5.根据权利要求2所述的方法,其特征在于,所述保留原TCP连接具体包括:所述待升级设备设置原TCP连接超时断开。6.一种基于eBPF技术的容器化应用平滑升级方...

【专利技术属性】
技术研发人员:武志鹏王林
申请(专利权)人:北京网聚云联科技有限公司
类型:发明
国别省市:

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

1