CDN系统的容器化部署方法及装置与流程

文档序号:16673011发布日期:2019-01-18 23:43阅读:417来源:国知局
CDN系统的容器化部署方法及装置与流程

本发明涉及容器化技术领域,尤其涉及一种cdn系统的容器化部署方法及装置。



背景技术:

cdn(contentdeliverynetwork,内容分发网络),是指一种通过互联网互相连接的计算机网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序或其他文件等发送给用户,以提供高性能、可扩展性及低成本的网络内容传递给用户。

cdn刷新是指通过cdn提供的接口来达到清理cdn缓存的目地,以保证客户端访问的是最新数据。现有技术中,当需要对cdn进行刷新时,需要对整个cdn系统中的所有缓存数据进行清理,而cdn系统中包含大量的cdn节点,各个cdn节点中都缓存有大量数据,这就使得每刷新一次都需要清理海量的缓存数据,容易导致cdn系统压力过大、刷新过程缓慢等问题。



技术实现要素:

本申请实施例的目的是提供一种cdn系统的容器化部署方法及装置,用以实现cdn系统的容器化以及按区域划分的cdn子系统的容器集群的搭建。

为解决上述技术问题,本申请实施例是这样实现的:

一方面,本申请实施例提供一种cdn系统的容器化部署方法,包括:

将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各所述cdn子系统之间按照所述多个区域相互隔离;

针对所述多个区域中的第一区域,搭建所述第一区域对应的cdn子系统的容器集群;其中,所述容器集群中包括一个管理节点和多个被管理节点,用于通过建立所述管理节点和所述被管理节点之间的关联关系来完成所述容器集群的搭建;

创建用于缓存数据的容器镜像;

将所述容器镜像分别部署到所述容器集群中的各cdn节点,以完成对所述第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

在一个实施例中,所述搭建所述第一区域对应的cdn子系统的容器集群,包括:

获取用于搭建所述第一区域对应的cdn子系统的容器集群的组件;

将所述组件分发至所述容器集群中的各cdn节点;

调用指定部署工具,并利用所述指定部署工具安装分发至所述各cdn节点上的组件;

建立所述cdn节点中的所述管理节点和所述被管理节点之间的关联关系,以完成所述第一区域对应的cdn子系统的容器集群的搭建。

在一个实施例中,所述利用所述指定部署工具安装分发至所述各节点上的组件,包括:

确定所述各cdn节点中的一个cdn节点为所述管理节点,及,确定所述各cdn节点中除所述管理节点之外的其他cdn节点为所述被管理节点;

安装所述管理节点上的用于服务其他组件的第一组件,并利用所述第一组件初始化所述其他组件,以完成所述其他组件的安装;

安装所述被管理节点上的所有组件,所述所有组件包括所述第一组件。

在一个实施例中,所述建立所述cdn节点中的所述管理节点和所述被管理节点之间的关联关系,包括:

运行所述各cdn节点上的所述第一组件,以使所述被管理节点被注册到所述管理节点上。

在一个实施例中,上述方法还包括:

接收对所述第一区域对应的容器集群中的缓存数据进行刷新的刷新指令,所述刷新指令中包括所述第一区域的第一标识信息;所述第一标识信息用于确定所述第一区域;

根据所述第一标识信息确定所述第一区域;

对所述第一区域对应的容器集群中的各容器进行刷新操作;其中,所述刷新操作包括将所述各容器进行重启和/或将所述各容器中的缓存数据标识为过期数据。

在一个实施例中,所述刷新指令中还包括指定客户端的第二标识信息;

相应的,所述根据所述第一标识信息确定所述第一区域之后,上述方法还包括:

根据所述第二标识信息,从所述第一区域对应的容器集群中获取所述指定客户端对应的缓存数据;

对所述指定客户端对应的缓存数据进行刷新操作,以使所述指定客户端对应的缓存数据的刷新操作不影响其他客户端对应的缓存数据。

另一方面,本申请实施例提供一种cdn系统的容器化部署装置,包括:

区域划分模块,用于将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各所述cdn子系统之间按照所述多个区域相互隔离;

搭建模块,用于针对所述多个区域中的第一区域,搭建所述第一区域对应的cdn子系统的容器集群;其中,所述容器集群中包括一个管理节点和多个被管理节点,用于通过建立所述管理节点和所述被管理节点之间的关联关系来完成所述容器集群的搭建;

创建模块,用于创建用于缓存数据的容器镜像;

部署模块,用于将所述容器镜像分别部署到所述容器集群中的各cdn节点,以完成对所述第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

在一个实施例中,所述搭建模块包括:

获取单元,用于获取用于搭建所述第一区域对应的cdn子系统的容器集群的组件;

分发单元,用于将所述组件分发至所述容器集群中的各cdn节点;

安装单元,用于调用指定部署工具,并利用所述指定部署工具安装分发至所述各cdn节点上的组件;

建立单元,用于建立所述cdn节点中的所述管理节点和所述被管理节点之间的关联关系,以完成所述第一区域对应的cdn子系统的容器集群的搭建。

在一个实施例中,所述安装单元还用于:

确定所述各cdn节点中的一个cdn节点为所述管理节点,及,确定所述各cdn节点中除所述管理节点之外的其他cdn节点为所述被管理节点;

安装所述管理节点上的用于服务其他组件的第一组件,并利用所述第一组件初始化所述其他组件,以完成所述其他组件的安装;

安装所述被管理节点上的所有组件,所述所有组件包括所述第一组件。

在一个实施例中,所述建立单元还用于:

运行所述各cdn节点上的所述第一组件,以使所述被管理节点被注册到所述管理节点上。

在一个实施例中,还包括:

接收模块,用于接收对所述第一区域对应的容器集群中的缓存数据进行刷新的刷新指令,所述刷新指令中包括所述第一区域的第一标识信息;所述第一标识信息用于确定所述第一区域;

确定模块,用于根据所述第一标识信息确定所述第一区域;

第一刷新模块,用于对所述第一区域对应的容器集群中的各容器进行刷新操作;其中,所述刷新操作包括将所述各容器进行重启和/或将所述各容器中的缓存数据标识为过期数据。

在一个实施例中,所述刷新指令中还包括指定客户端的第二标识信息;

相应的,所述装置还包括:

获取模块,用于所述根据所述第一标识信息确定所述第一区域之后,根据所述第二标识信息,从所述第一区域对应的容器集群中获取所述指定客户端对应的缓存数据;

第二刷新模块,用于对所述指定客户端对应的缓存数据进行刷新操作,以使所述指定客户端对应的缓存数据的刷新操作不影响其他客户端对应的缓存数据。

再一方面,本申请实施例提供一种cdn系统的容器化部署设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各所述cdn子系统之间按照所述多个区域相互隔离;

针对所述多个区域中的第一区域,搭建所述第一区域对应的cdn子系统的容器集群;其中,所述容器集群中包括一个管理节点和多个被管理节点,用于通过建立所述管理节点和所述被管理节点之间的关联关系来完成所述容器集群的搭建;

创建用于缓存数据的容器镜像;

将所述容器镜像分别部署到所述容器集群中的各cdn节点,以完成对所述第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

再一方面,本申请实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:

将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各所述cdn子系统之间按照所述多个区域相互隔离;

针对所述多个区域中的第一区域,搭建所述第一区域对应的cdn子系统的容器集群;其中,所述容器集群中包括一个管理节点和多个被管理节点,用于通过建立所述管理节点和所述被管理节点之间的关联关系来完成所述容器集群的搭建;

创建用于缓存数据的容器镜像;

将所述容器镜像分别部署到所述容器集群中的各cdn节点,以完成对所述第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

采用本发明实施例的技术方案,通过将cdn系统划分为多个区域分别对应的cdn子系统,并针对其中的第一区域,搭建第一区域对应的cdn子系统的容器集群,以及创建用于缓存数据的容器镜像,进而将容器镜像部署到容器集群中的各cdn节点,以完成对第一区域对应的cdn子系统的容器化部署。可见,该技术方案实现了cdn系统的容器化以及按区域划分的cdn子系统的容器集群的搭建,从而使不同区域的cdn子系统之间相互隔离,避免各cdn子系统之间在业务上的相互影响。

进一步的,该技术方案能够在接收到对第一区域对应的容器集群中的缓存数据进行刷新的刷新指令时,仅对第一区域对应的容器集群中的各容器进行刷新操作,而对于其他区域对应的容器集群中的各容器则不进行刷新,显然,这种区域化的刷新方式能够减少大量不必要的数据刷新工作,从而在很大程度上减轻cdn系统的压力,提升数据刷新效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明一实施例的一种cdn系统的容器化部署方法的示意性流程图;

图2是根据本发明一具体实施例的一种cdn系统的容器化部署方法的示意性流程图;

图3是根据本发明一具体实施例的一种cdn系统的容器化部署方法中容器集群的示意性结构图;

图4是根据本发明一实施例的一种cdn系统的容器化部署装置的示意性框图;

图5是根据本发明一实施例的一种cdn系统的容器化部署设备的示意性框图。

具体实施方式

本申请实施例提供一种cdn系统的容器化部署方法及装置,用以实现cdn系统的容器化以及按区域划分的cdn子系统的容器集群的搭建。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1是根据本发明一实施例的一种cdn系统的容器化部署方法的示意性流程图,如图1所示,该方法包括:

s101,将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各cdn子系统之间按照多个区域相互隔离。

s102,针对多个区域中的第一区域,搭建第一区域对应的cdn子系统的容器集群。

其中,容器集群中包括一个管理节点和多个被管理节点,用于通过建立管理节点和被管理节点之间的关联关系来完成容器集群的搭建。可将被管理节点注册到管理节点上,这样就建立了管理节点和被管理节点之间的关联关系,具体的注册方式将在下述实施例中详细说明。

s103,创建用于缓存数据的容器镜像。

s104,将容器镜像分别部署到容器集群中的各cdn节点,以完成对第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

采用本发明实施例的技术方案,通过将cdn系统划分为多个区域分别对应的cdn子系统,并针对其中的第一区域,搭建第一区域对应的cdn子系统的容器集群,以及创建用于缓存数据的容器镜像,进而将容器镜像部署到容器集群中的各cdn节点,以完成对第一区域对应的cdn子系统的容器化部署。可见,该技术方案实现了cdn系统的容器化以及按区域划分的cdn子系统的容器集群的搭建,从而使不同区域的cdn子系统之间相互隔离,避免各cdn子系统之间在业务上的相互影响。

以下详细介绍上述实施例提供的cdn系统的容器化部署方法。

首先将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各cdn子系统之间按照多个区域相互隔离。该步骤中,可按照cdn系统中各cdn节点所处的地理位置对cdn系统进行区域划分,例如,将cdn系统划分为北京区域对应的cdn子系统、上海区域对应的cdn子系统等等,那么,北京区域对应的cdn子系统和上海区域对应的cdn子系统之间就相互隔离开来。

可选的,还可对cdn系统进行多层次的区域划分,即,针对某个区域对应的cdn子系统,还可根据该cdn子系统中各cdn节点所处的地理位置对cdn子系统进行更细化的区域划分。例如,对于北京区域对应的cdn子系统,将该cdn子系统划分为海淀区对应的cdn子子系统、朝阳区对应的cdn子子系统、昌平区对应的cdn子子系统,等等,那么,对于北京区域,海淀区对应的cdn子子系统、朝阳区对应的cdn子子系统和昌平区对应的cdn子子系统之间就两两相互隔离开来。

将cdn系统划分为多个区域分别对应的cdn子系统之后,针对多个区域中的第一区域,搭建第一区域对应的cdn子系统的容器集群。具体的,可按照如下步骤a1-a4搭建第一区域对应的cdn子系统的容器集群。

步骤a1,获取用于搭建第一区域对应的cdn子系统的容器集群的组件。

该步骤中,用于搭建第一区域对应的cdn子系统的容器集群的组件可从网络侧下载获得,组件可包括kubeadmin组件、kubelet组件、kube-apiserver组件、kube-control-manager组件、kube-scheluder组件、kubedns组件、kube-proxy组件等。

步骤a2,将获取的组件分发至第一区域对应的cdn子系统的容器集群中的各cdn节点。

其中,容器集群中的各cdn节点即为第一区域对应的cdn子系统中的各cdn节点。

步骤a3,调用指定部署工具,并利用指定部署工具安装分发至各cdn节点上的组件。

其中,指定部署工具可以是kubernetes(简称k8s)部署工具,用于自动部署、扩展及管理容器化应用程序的开源系统,支持一系列的容器工具,如docker容器等。指定部署工具还可以是apachemesos等。

在一个实施例中,利用指定部署工具安装各cdn节点上的组件时,需首先选择各cdn节点中的一个cdn节点作为管理节点,并确定其他cdn节点为被管理节点;其次,安装管理节点上的用于服务其他组件的第一组件,并利用该第一组件初始化其他组件,以完成其他组件的安装,其中,第一组件具有服务其他组件的功能,如kubeadmin组件;最后,安装被管理节点上的包括第一组件的所有组件。

本实施例中,确定管理节点时,可随机从各cdn节点中选择一个cdn节点作为管理节点,也可按照各cdn节点的分布位置从各cdn节点中选择管理节点,例如,选择各cdn节点分布于中心位置的一个cdn节点作为管理节点。

步骤a4,建立cdn节点中的管理节点和被管理节点之间的关联关系,以完成第一区域对应的cdn子系统的容器集群的搭建。具体的,运行各cdn节点(包括管理节点和所有的被管理节点)上的第一组件,以使被管理节点被注册到管理节点上。当运行各cdn节点上的具有服务其他节点功能的第一组件后,各个被管理节点也就被注册到了管理节点上,从而建立起管理节点和被管理节点之间的关联关系,进而完成容器集群的搭建。

搭建完第一区域对应的cdn子系统的容器集群之后,创建用于缓存数据的容器镜像。

在一个实施例中,创建用于缓存数据的容器镜像时,可编写用于制作容器镜像的配置文件,如dockerfile文件,进而利用所编写的配置文件创建用于缓存数据的容器镜像,并将缓存软件打包到容器镜像中。其中,dockerfile文件是一个文本格式的配置文件,可用于快速创建容器镜像。

创建了用于缓存数据的容器镜像之后,将容器镜像分别部署到容器集群中的各cdn节点,以完成对第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

在一个实施例中,将容器镜像分别部署到容器集群中的各cdn节点时,可编写用于将容器镜像分别部署到容器集群的配置文件,并利用所编写的配置文件将容器镜像分别部署到容器集群中的各cdn节点。

完成对各个区域对应的cdn子系统的容器化部署之后,用户即可对各区域对应的容器集群中的缓存数据进行区域性地刷新操作。

在一个实施例中,当接收到对第一区域对应的容器集群中的缓存数据进行刷新的刷新指令时(该刷新指令中包括第一区域的第一标识信息),根据刷新指令中携带的第一标识信息确定第一区域,进而对第一区域对应的容器集群中的各容器进行刷新操作。其中,刷新操作包括将各容器进行重启和/或将各容器中的缓存数据标识为过期数据。

可见,本实施例中,能够在接收到对第一区域对应的容器集群中的缓存数据进行刷新的刷新指令时,仅对第一区域对应的容器集群中的各容器进行刷新操作,而对于其他区域对应的容器集群中的各容器则不进行刷新,显然,这种区域化的刷新方式能够减少大量不必要的数据刷新工作,从而在很大程度上减轻cdn系统的压力,提升数据刷新效率。

在一个实施例中,用户还可对各区域中指定客户端对应的缓存数据进行刷新。具体的,当接收到对第一区域对应的容器集群中的缓存数据进行刷新的刷新指令时,该刷新指令不仅包括第一区域的第一标识信息,还包括指定客户端的第二标识信息。首先根据刷新指令中携带的第一标识信息确定出第一区域,然后根据刷新指令中携带的第二标识信息从第一区域对应的容器集群中获取指定客户端对应的缓存数据,进而对指定客户端对应的缓存数据进行刷新操作,以使指定客户端对应的缓存数据的刷新操作不影响其他客户端对应的缓存数据。也就是说,当缓存指定客户端对应的缓存数据时,并不会对当前容器集群中的其他客户端对应的缓存数据进行刷新。

可见,本实施例中,能够对第一区域对应的容器集群中指定客户端对应的缓存数据进行刷新,而对于该第一区域中其他客户端对应的缓存数据则不进行刷新,显然,这种仅对指定客户端对应的缓存数据进行刷新的方式,使得针对同一区域中各个客户端的缓存数据的刷新能够独立进行,且不会影响其他客户端的缓存数据,从而减少大量不必要的数据刷新工作,从而在很大程度上减轻cdn系统的压力,提升数据刷新效率。

以下通过一具体实施例来说明本申请提供的cdn系统的容器化部署方法。

图2是根据本发明一具体实施例的一种cdn系统的容器化部署方法的示意性流程图,本实施例中,采用kubernetes为容器管理系统,采用squid为缓存软件,采用docker为容器。假设在北京idc(互联网数据中心)机房部署一套kubernetes集群。如图2所示,该方法包括:

s201,将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统。

本实施例中,按照cdn系统中各cdn节点所处的地理位置对cdn系统进行区域划分,例如,将cdn系统划分为北京区域对应的cdn子系统、上海区域对应的cdn子系统等等。

s202,针对北京区域,下载用于搭建北京区域对应的cdn子系统的kubernetes集群的组件。

该步骤中,下载的组件包括kubeadmin组件、kubelet组件、kube-apiserver组件、kube-control-manager组件、kube-scheluder组件、kubedns组件、kube-proxy组件。

s203,将下载的组件分发至kubernetes集群中的各cdn节点。

其中,kubernetes集群中的各cdn节点即为北京区域对应的cdn子系统中的各cdn节点。

该步骤中,可利用saltstack或ansible等批量自动部署工具将下载的组件分发至kubernetes集群中的各cdn节点。

s204,选择cdn子系统中的一个cdn节点作为管理节点,并确定其他cdn节点为被管理节点。

本实施例中,确定管理节点时,可随机从各cdn节点中选择一个cdn节点作为管理节点,也可按照各cdn节点的分布位置从各cdn节点中选择管理节点,例如,选择各cdn节点分布于中心位置的一个cdn节点作为管理节点。

s205,安装管理节点上的kubeadmin组件,并利用kubeadmin组件初始化其他组件,以完成其他组件的安装。

其中,其他组件包括kube-apiserver组件、kube-control-manager组件、kube-scheluder组件、kubedns组件及kube-proxy组件。

s206,安装被管理节点上的kubeadmin组件及kubelet组件。

该步骤中,可利用saltstack或ansible等批量自动部署工具安装被管理节点上的各组件。

s207,运行各cdn节点上的kubeadmin组件,以使被管理节点被注册到管理节点上。

该步骤中,将被管理节点注册到管理节点上之后,就建立了管理节点和被管理节点之间的关联关系。

s208,编写dockerfile文件,利用dockerfile文件创建用于缓存数据的docker镜像,并将squid软件打包到docker镜像中。

s209,编写用于将docker镜像部署到kubernetes集群的配置文件,并利用该配置文件将docker镜像分别部署到kubernetes集群中的各cdn节点。

s210,当接收到对北京区域对应的kubernetes集群中的缓存数据进行刷新的刷新指令时,根据刷新指令中携带的标识信息查找到北京区域对应的kubernetes集群。

s211,对北京区域对应的kubernetes集群中的各容器进行刷新操作。

其中,刷新操作包括将各容器进行重启和/或将各容器中的缓存数据标识为过期数据。

本实施例中,通过将cdn系统划分为多个区域分别对应的cdn子系统,并针对其中的北京区域,搭建北京区域对应的cdn子系统的kubernetes集群,以及创建用于缓存数据的docker镜像,进而将docker镜像部署到kubernetes集群中的各cdn节点,以完成对北京区域对应的cdn子系统的容器化部署。可见,该技术方案实现了cdn系统的容器化以及按区域划分的cdn子系统的kubernetes集群的搭建,从而使不同区域的cdn子系统之间相互隔离,避免各cdn子系统之间在业务上的相互影响。并且,本实施例能够在接收到对北京区域对应的kubernetes集群中的缓存数据进行刷新的刷新指令时,仅对北京区域对应的kubernetes集群中的各容器进行刷新操作,而对于其他区域对应的kubernetes集群中的各容器则不进行刷新,显然,这种区域化的刷新方式能够减少大量不必要的数据刷新工作,从而在很大程度上减轻cdn系统的压力,提升数据刷新效率。

如图2所示的实施例中,示例性地说明了针对北京区域对应的cdn子系统的容器化部署方案,对于其他区域对应的cdn子系统的容器化部署,也可按照上述实施例中的容器化部署方案进行类似部署。完成对各个区域对应的cdn子系统的容器化部署之后,用户即可对各区域对应的容器集群中的缓存数据进行独立的刷新操作。

图3示意性地示出了北京区域对应的cdn子系统的容器集群310、上海区域对应的cdn子系统的容器集群320及用户330,虚线箭头表示用户330针对容器集群310发出刷新指令。在容器集群310和容器集群320中,各示意性地示出了3个容器,这并不代表实际场景中容器集群310或容器集群320中仅包含3个容器。在实际应用中,容器集群中的容器数量与cdn子系统中的cdn节点数量相关。由图3可看出,当用户330发出对北京区域对应的容器集群中的缓存数据进行刷新的刷新指令时,能够仅对北京区域对应的容器集群中的各容器进行刷新操作,而对于上海区域对应的容器集群中的各容器则不进行刷新操作。显然,北京区域的cdn子系统与上海区域的cdn子系统之间相互隔离,避免了各cdn子系统之间在业务上的相互影响。

综上,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

以上为本申请实施例提供的cdn系统的容器化部署方法,基于同样的思路,本申请实施例还提供一种cdn系统的容器化部署装置。

图4是根据本发明一实施例的一种cdn系统的容器化部署装置的示意性框图,如图4所示,该装置400包括:

区域划分模块410,用于将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各cdn子系统之间按照多个区域相互隔离;

搭建模块420,用于针对多个区域中的第一区域,搭建第一区域对应的cdn子系统的容器集群;其中,容器集群中包括一个管理节点和多个被管理节点,用于通过建立管理节点和被管理节点之间的关联关系来完成容器集群的搭建;

创建模块430,用于创建用于缓存数据的容器镜像;

部署模块440,用于将容器镜像分别部署到容器集群中的各cdn节点,以完成对第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

在一个实施例中,搭建模块420包括:

获取单元,用于获取用于搭建第一区域对应的cdn子系统的容器集群的组件;

分发单元,用于将组件分发至容器集群中的各cdn节点;

安装单元,用于调用指定部署工具,并利用指定部署工具安装分发至各cdn节点上的组件;

建立单元,用于建立cdn节点中的管理节点和被管理节点之间的关联关系,以完成第一区域对应的cdn子系统的容器集群的搭建。

在一个实施例中,安装单元还用于:

确定各cdn节点中的一个cdn节点为管理节点,及,确定各cdn节点中除管理节点之外的其他cdn节点为被管理节点;

安装管理节点上的用于服务其他组件的第一组件,并利用第一组件初始化其他组件,以完成其他组件的安装;

安装被管理节点上的所有组件,所有组件包括第一组件。

在一个实施例中,建立单元还用于:

运行各cdn节点上的第一组件,以使被管理节点被注册到管理节点上。

在一个实施例中,装置400还包括:

接收模块,用于接收对第一区域对应的容器集群中的缓存数据进行刷新的刷新指令,刷新指令中包括第一区域的第一标识信息;第一标识信息用于确定第一区域;

确定模块,用于根据第一标识信息确定第一区域;

第一刷新模块,用于对第一区域对应的容器集群中的各容器进行刷新操作;其中,刷新操作包括将各容器进行重启和/或将各容器中的缓存数据标识为过期数据。

在一个实施例中,刷新指令中还包括指定客户端的第二标识信息;

相应的,装置400还包括:

获取模块,用于根据第一标识信息确定第一区域之后,根据第二标识信息,从第一区域对应的容器集群中获取指定客户端对应的缓存数据;

第二刷新模块,用于对指定客户端对应的缓存数据进行刷新操作,以使指定客户端对应的缓存数据的刷新操作不影响其他客户端对应的缓存数据。

采用本发明实施例的装置,通过将cdn系统划分为多个区域分别对应的cdn子系统,并针对其中的第一区域,搭建第一区域对应的cdn子系统的容器集群,以及创建用于缓存数据的容器镜像,进而将容器镜像部署到容器集群中的各cdn节点,以完成对第一区域对应的cdn子系统的容器化部署。可见,该技术方案实现了cdn系统的容器化以及按区域划分的cdn子系统的容器集群的搭建,从而使不同区域的cdn子系统之间相互隔离,避免各cdn子系统之间在业务上的相互影响。

本领域的技术人员应可理解,上述cdn系统的容器化部署装置能够用来实现前文所述的cdn系统的容器化部署方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。

基于同样的思路,本申请实施例还提供一种cdn系统的容器化部署设备,如图5所示。cdn系统的容器化部署设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对cdn系统的容器化部署设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在cdn系统的容器化部署设备上执行存储器502中的一系列计算机可执行指令。cdn系统的容器化部署设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入输出接口505,一个或一个以上键盘506。

具体在本实施例中,cdn系统的容器化部署设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对cdn系统的容器化部署设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各所述cdn子系统之间按照所述多个区域相互隔离;

针对所述多个区域中的第一区域,搭建所述第一区域对应的cdn子系统的容器集群;其中,所述容器集群中包括一个管理节点和多个被管理节点,用于通过建立所述管理节点和所述被管理节点之间的关联关系来完成所述容器集群的搭建;

创建用于缓存数据的容器镜像;

将所述容器镜像分别部署到所述容器集群中的各cdn节点,以完成对所述第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

可选地,计算机可执行指令在被执行时,还可以使所述处理器:

获取用于搭建所述第一区域对应的cdn子系统的容器集群的组件;

将所述组件分发至所述容器集群中的各cdn节点;

调用指定部署工具,并利用所述指定部署工具安装分发至所述各cdn节点上的组件;

建立所述cdn节点中的所述管理节点和所述被管理节点之间的关联关系,以完成所述第一区域对应的cdn子系统的容器集群的搭建。

可选地,计算机可执行指令在被执行时,还可以使所述处理器:

确定所述各cdn节点中的一个cdn节点为所述管理节点,及,确定所述各cdn节点中除所述管理节点之外的其他cdn节点为所述被管理节点;

安装所述管理节点上的用于服务其他组件的第一组件,并利用所述第一组件初始化所述其他组件,以完成所述其他组件的安装;

安装所述被管理节点上的所有组件,所述所有组件包括所述第一组件。

可选地,计算机可执行指令在被执行时,还可以使所述处理器:

运行所述各cdn节点上的所述第一组件,以使所述被管理节点被注册到所述管理节点上。

可选地,计算机可执行指令在被执行时,还可以使所述处理器:

接收对所述第一区域对应的容器集群中的缓存数据进行刷新的刷新指令,所述刷新指令中包括所述第一区域的第一标识信息;所述第一标识信息用于确定所述第一区域;

根据所述第一标识信息确定所述第一区域;

对所述第一区域对应的容器集群中的各容器进行刷新操作;其中,所述刷新操作包括将所述各容器进行重启和/或将所述各容器中的缓存数据标识为过期数据。

可选地,所述刷新指令中还包括指定客户端的第二标识信息;

计算机可执行指令在被执行时,还可以使所述处理器:

根据所述第二标识信息,从所述第一区域对应的容器集群中获取所述指定客户端对应的缓存数据;

对所述指定客户端对应的缓存数据进行刷新操作,以使所述指定客户端对应的缓存数据的刷新操作不影响其他客户端对应的缓存数据。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述cdn系统的容器化部署方法,并具体用于执行:

将cdn系统进行区域划分,以获得多个区域分别对应的cdn子系统,使各所述cdn子系统之间按照所述多个区域相互隔离;

针对所述多个区域中的第一区域,搭建所述第一区域对应的cdn子系统的容器集群;其中,所述容器集群中包括一个管理节点和多个被管理节点,用于通过建立所述管理节点和所述被管理节点之间的关联关系来完成所述容器集群的搭建;

创建用于缓存数据的容器镜像;

将所述容器镜像分别部署到所述容器集群中的各cdn节点,以完成对所述第一区域对应的cdn子系统的容器化部署,使不同区域的cdn子系统之间相互隔离。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1