服务器扩容方法及装置的制造方法
【专利摘要】本发明实施例提供一种服务器扩容方法及装置。该方法包括:检测各Docker服务器的资源占用率;根据所述各Docker服务器的资源占用率,确定目标Docker服务器;向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一Docker容器;将所述第一Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器。本发明实施例提高了资源利用率低的Docker服务器的资源利用率,使得多个Docker服务器上的资源利用率趋于均衡。
【专利说明】
服务器扩容方法及装置
技术领域
[0001 ]本发明实施例涉及通信技术领域,尤其涉及一种服务器扩容方法及装置。
【背景技术】
[0002]Docker是一个开源的应用容器引擎,在物理主机上安装Docker后,可在Docker的基础上承载多个容器,多个容器之间相互隔离,多个容器共享物理主机的操作系统,各容器可放置并执行不同的应用程序。
[0003]将安装有Docker容器的物理主机称为Docker服务器,一个Docker服务器可以安装有多个Docker容器,但每个Docker服务器安装的Docker容器的个数是固定的,由于用户终端访问各个Docker容器的频率不同,导致部分Docker服务器上的Docker容器被频繁访问,而部分Docker服务器上的Docker容器被访问的频率较低,导致各Docker服务器上的资源利用率不均衡。
【发明内容】
[0004]本发明实施例提供一种服务器扩容方法及装置,以使多个Docker服务器上的资源利用率均衡。
[0005]本发明实施例的一个方面是提供一种服务器扩容方法,包括:
[0006]检测各Docker服务器的资源占用率;
[0007]根据所述各Docker服务器的资源占用率,确定目标Docker服务器;
[0008]向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;
[0009]将所述第一Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一 Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一 Docker容器。
[0010]本发明实施例的另一个方面是提供一种服务器扩容装置,包括:
[0011 ]检测模块,用于检测各Docker服务器的资源占用率;
[0012]确定模块,用于根据所述各Docker服务器的资源占用率,确定目标Docker服务器;
[0013]发送模块,用于向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一 Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一Docker容器。
[0014]本发明实施例提供的服务器扩容方法及装置,通过向资源利用率低的Docker服务器发送扩展指令,以使资源利用率低的Docker服务器创建新的Docker容器,并将新的Docker容器的IP地址和Docker服务器的域名发送给域名服务器,用户终端通过域名服务器获取新的Docker容器的IP地址,并对新的Docker容器进行访问,提高了资源利用率低的 Docker服务器的资源利用率,使得多个Docker服务器上的资源利用率趋于均衡。
【附图说明】
[0015]图1为本发明实施例提供的服务器扩容方法流程图;
[0016]图2为本发明实施例提供的服务器扩容方法适用的网络架构图;
[0017]图3为本发明另一实施例提供的服务器扩容方法流程图;
[0018]图4为本发明另一实施例提供的服务器扩容方法适用的网络架构图;
[0019]图5为本发明另一实施例提供的服务器扩容方法流程图;
[0020]图6为本发明实施例提供的服务器扩容装置的结构图。
【具体实施方式】
[0021]图1为本发明实施例提供的服务器扩容方法流程图;图2为本发明实施例提供的服务器扩容方法适用的网络架构图。本发明实施例针对每个Docker服务器安装的Docker容器的个数是固定的,由于用户终端访问各个Docker容器的频率不同,导致部分Docker服务器上的Docker容器被频繁访问,而部分Docker服务器上的Docker容器被访问的频率较低,导致各Docker服务器上的资源利用率不均衡,提供了服务器扩容方法,该方法具体步骤如下:
[0022]步骤S101、检测各Docker服务器的资源占用率;
[0023]如图2所不,Docker服务器13、Docker服务器14、Docker服务器15分别与互联网11相连,扩容控制设备10分别与Docker服务器13、Docker服务器14、Docker服务器15相连,所述扩容控制设备10用于检测各Docker服务器的资源占用率。
[0024]步骤S102、根据所述各Docker服务器的资源占用率,确定目标Docker服务器;
[0025]所述扩容控制设备10确定所述各Docker服务器的资源占用率中资源占用率最低的Docker服务器,将所述资源占用率最低的Docker服务器确定为所述目标Docker服务器。假设Docker服务器13、Docker服务器14、Docker服务器15中,Docker服务器13的资源占用率最低,则将Docker服务器13确定为目标Docker服务器。
[0026]步骤S103、向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;
[0027]扩容控制设备10向Docker服务器13发送第一扩展指令,所述第一扩展指令用于控制所述Docker服务器13创建一个新的第一Docker容器即Docker容器I,具体地,Docker服务器13为Docker容器I分配一个IP地址。
[0028]另外,扩容控制设备10内包括一个镜像库,该镜像库包括扩容控制设备10连接的各Docker服务器的网站的镜像,当Docker服务器13创建Docker容器I时,扩容控制设备10将Docker服务器13的网站的镜像发送给Docker容器I,以使Docker容器I装载Docker服务器13的网站的镜像。
[0029]步骤S104、将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一 Docker容器。
[0030]当Docker容器I启动后,Docker服务器13将Docker容器I的IP地址发送给扩容控制设备10,扩容控制设备10将Docker容器I的IP地址和Docker服务器13的网站域名发送给域名服务器12,域名服务器12将Docker容器I的IP地址和Docker服务器13的网站域名关联存储到列表里。当用户在用户终端的浏览器中输入Docker服务器13的网站域名,或者用户在用户终端的浏览器中点击了 Docker服务器13的网站域名对应的链接时,用户终端向域名服务器12发起域名系统(Domain Name System,简称DNS)请求,该DNS请求中包括Docker服务器13的网站域名,当域名服务器12接收到该DNS请求时,从列表里获取到Docker服务器13的网站域名对应的Docker容器I的IP地址,并将Docker容器I的IP地址发送给用户终端,用户终端以该Docker容器I的IP地址为目的IP地址访问该Docker容器I,即访问Docker服务器13ο
[0031]本发明实施例通过向资源利用率低的Docker服务器发送扩展指令,以使资源利用率低的Docker服务器创建新的Docker容器,并将新的Docker容器的IP地址和Docker服务器的域名发送给域名服务器,用户终端通过域名服务器获取新的Docker容器的IP地址,并对新的Docker容器进行访问,提高了资源利用率低的Docker服务器的资源利用率,使得多个Docker服务器上的资源利用率趋于均衡。
[0032]图3为本发明另一实施例提供的服务器扩容方法流程图,本发明实施例提供的服务器扩容方法的具体步骤如下:
[0033]步骤S301、检测各Docker服务器的资源占用率;
[0034]步骤S302、根据所述各Docker服务器的资源占用率,确定目标Docker服务器;
[0035]步骤S303、向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;
[0036]步骤S304、将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一 Docker容器;
[0037]步骤S301-S304分别与步骤S101-S104—致,具体方法此处不再赘述。
[0038]步骤S305、检测所述第一 Docker容器的资源占用率;
[0039]扩容控制设备10还用于检测所述第一 Docker容器即Docker容器I的资源占用率。
[0040]步骤S306、当所述第一Docker容器的资源占用率大于第一阈值时,向所述目标Docker服务器发送第二扩展指令,以使所述目标Docker服务器根据所述第二扩展指令创建第二 Docker容器;
[0041]当Docker容器I的资源占用率大于第一阈值时,说明访问Docker容器I的用户终端较多,为了降低Docker容器I的处理量,扩容控制设备10向Docker服务器13发送第二扩展指令,该第二扩展指令用于控制Docker服务器13创建第二 Docker容器即Docker容器2,如图4所示,创建Docker容器2的过程与创建Docker容器I的过程类似,此处不再赘述。
[0042]步骤S307、将所述第二 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第二Docker容器的IP地址,并根据所述第二 Docker容器的IP地址访问所述第二 Docker容器。
[0043]Docker服务器13为Docker容器2分配一个IP地址,并将Docker容器2的IP地址发送给扩容控制设备10,扩容控制设备10将Docker容器2的IP地址和Docker服务器13的网站域名发送给域名服务器12,域名服务器12将Docker容器2的IP地址和Docker服务器13的网站域名存储到列表里,此时,域名服务器12的列表里存储有Docker服务器13的网站域名对应的两条记录,一条是Docker容器I的IP地址和Docker服务器13的网站域名,另一条是Docker容器2的IP地址和Docker服务器13的网站域名。
[0044]当用户在用户终端的浏览器中输入Docker服务器13的网站域名,或者用户在用户终端的浏览器中点击了 Docker服务器13的网站域名对应的链接时,用户终端向域名服务器12发起域名系统(Domain Name System,简称DNS)请求,该DNS请求中包括Docker服务器13的网站域名,当域名服务器12接收到该DNS请求时,从列表里选择Docker容器I的IP地址或Docker容器2的IP地址发送给用户终端,若选择的是Docker容器2的IP地址,则用户终端以该Docker容器2的IP地址为目的IP地址访问该Docker容器2,即访问Docker服务器13。
[0045]另外,域名服务器12还可以对Docker容器I和Docker容器2进行均衡调度。
[0046]本发明实施例通过在同一个Docker服务器中创建两个Docker容器,保证了同一个Docker服务器中两个Docker容器的资源均衡。
[0047]图5为本发明另一实施例提供的服务器扩容方法流程图,本发明实施例提供的服务器扩容方法的具体步骤如下:
[0048]步骤S401、检测各Docker服务器的资源占用率;
[0049]步骤S402、根据所述各Docker服务器的资源占用率,确定目标Docker服务器;
[0050]步骤S403、向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;
[0051]步骤S404、将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一 Docker容器;
[0052 ] 步骤S401-S404分别和步骤S11-S104—致,具体方法此处不再赘述。
[0053]步骤S405、检测所述第一 Docker容器的资源占用率;
[0054]扩容控制设备10还用于检测所述第一 Docker容器即Docker容器I的资源占用率。
[0055]步骤S406、当所述第一Docker容器的资源占用率小于第二阈值时,向所述域名服务器发送删除指令,以使所述域名服务器根据所述删除指令删除所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系;
[0056]当Docker容器I的资源占用率小于第二阈值时,说明访问Docker容器I的用户终端较少,为了节省Docker服务器13的资源占用率,扩容控制设备10向域名服务器12发送删除指令,所述删除指令包括Docker容器I的IP地址,域名服务器12根据删除指令删除列表里Docker容器I的IP地址和Docker服务器13的网站域名的对应关系。
[0057]步骤S407、向所述目标Docker服务器发送控制指令,以使所述目标Docker服务器根据所述控制指令删除所述第一 Docker容器。
[0058]由于域名服务器12根据删除指令删除了列表里Docker容器I的IP地址和Docker服务器13的网站域名的对应关系,则当域名服务器12接收到包括Docker服务器13的网站域名的DNS请求时,域名服务器12向用户终端只返回Docker容器2的IP地址,用户终端将只访问Docker容器2而不访问Docker容器I,当Docker容器I的访问量为O时,即无用户终端访问Docker容器I时,扩容控制设备10向Docker服务器13发送控制指令,以使目标Docker服务器13根据所述控制指令删除Docker容器I。
[0059]本发明实施例根据Docker容器的资源占用率小于一定阈值时删除该Docker容器,节省Docker服务器资源占用率的同时,提高了增删Docker容器的灵活性。
[0060]图6为本发明实施例提供的服务器扩容装置的结构图。本发明实施例提供的服务器扩容装置可以执行服务器扩容方法实施例提供的处理流程,如图6所示,服务器扩容装置60包括检测模块61、确定模块62和发送模块63,其中,检测模块61用于检测各Docker服务器的资源占用率;确定模块62用于根据所述各Docker服务器的资源占用率,确定目标Docker服务器;发送模块63用于向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一 Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一Docker容器。
[0061]本发明实施例提供的服务器扩容装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。
[0062]本发明实施例通过向资源利用率低的Docker服务器发送扩展指令,以使资源利用率低的Docker服务器创建新的Docker容器,并将新的Docker容器的IP地址和Docker服务器的域名发送给域名服务器,用户终端通过域名服务器获取新的Docker容器的IP地址,并对新的Docker容器进行访问,提高了资源利用率低的Docker服务器的资源利用率,使得多个Docker服务器上的资源利用率趋于均衡。
[0063]在上述实施例的基础上,确定模块62具体用于确定所述各Docker服务器的资源占用率中资源占用率最低的Docker服务器,将所述资源占用率最低的Docker服务器确定为所述目标Docker服务器。
[0064]检测模块61还用于检测所述第一Docker容器的资源占用率;发送模块63还用于当所述第一 Docker容器的资源占用率大于第一阈值时,向所述目标Docker服务器发送第二扩展指令,以使所述目标Docker服务器根据所述第二扩展指令创建第二Docker容器;将所述第二 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第二 D0cker容器的IP地址,并根据所述第二 Docker容器的IP地址访问所述第二 Docker容器。
[0065]发送模块63还用于当所述第一Docker容器的资源占用率小于第二阈值时,向所述域名服务器发送删除指令,以使所述域名服务器根据所述删除指令删除所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系。
[0066]发送模块63还用于向所述目标Docker服务器发送控制指令,以使所述目标Docker服务器根据所述控制指令删除所述第一 Docker容器。
[0067]本发明实施例提供的服务器扩容装置可以具体用于执行上述图3或图5所提供的方法实施例,具体功能此处不再赘述。
[0068]本发明实施例通过在同一个Docker服务器中创建两个Docker容器,保证了同一个Docker服务器中两个Docker容器的资源均衡;根据Docker容器的资源占用率小于一定阈值时删除该Docker容器,节省Docker服务器资源占用率的同时,提高了增删Docker容器的灵活性。
[0069]综上所述,本发明实施例通过向资源利用率低的Docker服务器发送扩展指令,以使资源利用率低的Docker服务器创建新的Docker容器,并将新的Docker容器的IP地址和Docker服务器的域名发送给域名服务器,用户终端通过域名服务器获取新的Docker容器的IP地址,并对新的Docker容器进行访问,提高了资源利用率低的Docker服务器的资源利用率,使得多个Docker服务器上的资源利用率趋于均衡;通过在同一个Docker服务器中创建两个Docker容器,保证了同一个Docker服务器中两个Docker容器的资源均衡;根据Docker容器的资源占用率小于一定阈值时删除该Docker容器,节省Docker服务器资源占用率的同时,提高了增删Docker容器的灵活性。
[0070]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0071]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0072]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0073]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,R0M)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0074]本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0075]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种服务器扩容方法,其特征在于,包括: 检测各Docker服务器的资源占用率; 根据所述各Docker服务器的资源占用率,确定目标Docker服务器; 向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器; 将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一 Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一 Docker容器。2.根据权利要求1所述的方法,其特征在于,所述根据所述各Docker服务器的资源占用率,确定目标Docker服务器,包括: 确定所述各Docker服务器的资源占用率中资源占用率最低的Docker服务器,将所述资源占用率最低的Docker服务器确定为所述目标Docker服务器。3.根据权利要求2所述的方法,其特征在于,所述将所述第一Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器之后,还包括: 检测所述第一 Docker容器的资源占用率; 当所述第一Docker容器的资源占用率大于第一阈值时,向所述目标Docker服务器发送第二扩展指令,以使所述目标Docker服务器根据所述第二扩展指令创建第二Docker容器; 将所述第二 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第二 Docker容器的IP地址,并根据所述第二 Docker容器的IP地址访问所述第二 Docker容器。4.根据权利要求3所述的方法,其特征在于,还包括: 当所述第一Docker容器的资源占用率小于第二阈值时,向所述域名服务器发送删除指令,以使所述域名服务器根据所述删除指令删除所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系。5.根据权利要求4所述的方法,其特征在于,所述向所述域名服务器发送删除指令之后,还包括: 向所述目标Docker服务器发送控制指令,以使所述目标Docker服务器根据所述控制指令删除所述第一 Docker容器。6.一种服务器扩容装置,其特征在于,包括: 检测模块,用于检测各Docker服务器的资源占用率; 确定模块,用于根据所述各Docker服务器的资源占用率,确定目标Docker服务器; 发送模块,用于向所述目标Docker服务器发送第一扩展指令,以使所述目标Docker服务器根据所述第一扩展指令创建第一 Docker容器;将所述第一 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第一 Docker容器的IP地址,并根据所述第一 Docker容器的IP地址访问所述第一 Docker容器。7.根据权利要求6所述的服务器扩容装置,其特征在于,所述确定模块具体用于确定所述各Docker服务器的资源占用率中资源占用率最低的Docker服务器,将所述资源占用率最低的Docker服务器确定为所述目标Docker服务器。8.根据权利要求7所述的服务器扩容装置,其特征在于,所述检测模块还用于检测所述第一 Docker容器的资源占用率; 所述发送模块还用于当所述第一 Docker容器的资源占用率大于第一阈值时,向所述目标Docker服务器发送第二扩展指令,以使所述目标Docker服务器根据所述第二扩展指令创建第二 Docker容器;将所述第二 Docker容器的IP地址和所述目标Docker服务器的域名的对应关系发送给域名服务器,以使用户终端通过所述域名服务器获取所述域名对应的第二Docker容器的IP地址,并根据所述第二 Docker容器的IP地址访问所述第二 Docker容器。9.根据权利要求8所述的服务器扩容装置,其特征在于,所述发送模块还用于当所述第一Docker容器的资源占用率小于第二阈值时,向所述域名服务器发送删除指令,以使所述域名服务器根据所述删除指令删除所述第一Docker容器的IP地址和所述目标Docker服务器的域名的对应关系。10.根据权利要求9所述的服务器扩容装置,其特征在于,所述发送模块还用于向所述目标Docker服务器发送控制指令,以使所述目标Docker服务器根据所述控制指令删除所述第一Docker容器。
【文档编号】G06F9/50GK106095533SQ201610412303
【公开日】2016年11月9日
【申请日】2016年6月14日 公开号201610412303.3, CN 106095533 A, CN 106095533A, CN 201610412303, CN-A-106095533, CN106095533 A, CN106095533A, CN201610412303, CN201610412303.3
【发明人】田新雪, 马书惠
【申请人】中国联合网络通信集团有限公司