CN112379845A - 一种集群扩容方法、装置、计算设备及存储介质 - Google Patents

一种集群扩容方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN112379845A
CN112379845A CN202011378708.2A CN202011378708A CN112379845A CN 112379845 A CN112379845 A CN 112379845A CN 202011378708 A CN202011378708 A CN 202011378708A CN 112379845 A CN112379845 A CN 112379845A
Authority
CN
China
Prior art keywords
cluster
node
information
capacity expansion
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011378708.2A
Other languages
English (en)
Other versions
CN112379845B (zh
Inventor
万振韩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202011378708.2A priority Critical patent/CN112379845B/zh
Publication of CN112379845A publication Critical patent/CN112379845A/zh
Application granted granted Critical
Publication of CN112379845B publication Critical patent/CN112379845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例适用于通信技术领域,提供了一种集群扩容方法、装置、计算设备及存储介质,其中,集群扩容方法包括:限制第一节点的选举权限;选举权限表征第一节点与集群的当前所有节点共同选举集群的控制节点的权限,控制节点用于控制集群中的所有节点;将第一节点加入集群。

Description

一种集群扩容方法、装置、计算设备及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种集群扩容方法、装置、计算设备及存储介质。
背景技术
为了减小集群的负载,需要对集群进行节点扩容。集群的节点扩容即在集群中增加扩容节点,使用扩容节点与原有节点共同运行集群中的业务,从而减小集群的负载,提高集群的资源利用率。目前,相关技术在进行集群扩容时,集群各节点需要进行集群配置的初始化,导致集群中运行的业务中断。
发明内容
为了解决上述问题,本发明实施例提供了一种集群扩容方法、装置、计算设备及存储介质,以至少解决相关技术在集群扩容时业务会中断的问题。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种集群扩容方法,该方法包括:
限制第一节点的选举权限;所述选举权限表征所述第一节点与集群的当前所有节点共同选举所述集群的控制节点的权限,所述控制节点用于控制所述集群中的所有节点;
将所述第一节点加入所述集群。
上述方案中,所述将所述第一节点加入所述集群后,还包括:
获得所述集群的扩容结果;所述扩容结果表征所述集群是否扩容成功;
在所述扩容结果表征所述集群扩容成功的情况下,解除对所述第一节点的选举权限的限制。
上述方案中,所述将所述第一节点加入所述集群,包括:
发送第一信息至所述第一节点;所述第一信息至少表征所述集群的配置信息,用于所述第一节点进行集群配置;
在所述第一节点基于所述第一信息完成集群配置的情况下,发送第二信息至第一节点;所述第二信息至少表征所述集群的业务信息,用于所述第一节点进行业务配置;
在所述第一节点基于所述第二信息完成业务配置的情况下,获得所述集群扩容成功的扩容结果。
上述方案中,在所述扩容结果表征所述集群扩容成功的情况下,所述方法还包括:
获取所述集群中的每个节点的投票信息;所述投票信息表征对应的节点选择的控制节点;
基于所述集群中每个节点的投票信息确定所述集群的控制节点。
上述方案中,所述集群的控制节点获得的投票数量大于设定值。
上述方案中,所述发送第一信息至所述第一节点,包括:
将所述集群的第三信息发送至所述第一节点,以使所述第一节点基于所述第三信息进行启动;所述第三信息至少表征所述集群的启动参数;
在所述第一节点基于所述第三信息启动成功的情况下,接收所述第一节点的扩容请求;
基于所述扩容请求,发送所述第一信息至所述第一节点。
上述方案中,所述方法还包括:
为所述集群的每个节点中的每个容器组分配固定的网络地址;所述容器组由至少一个容器组成;所述至少一个容器中的每个容器表征运行所述集群的业务的一个进程。
第二方面,本发明实施例提供了一种集群扩容装置,该装置包括:
限制模块,用于限制第一节点的选举权限;所述选举权限表征所述第一节点与集群的当前所有节点共同选举所述集群的控制节点的权限,所述控制节点用于控制所述集群中的所有节点;
扩容模块,用于将所述第一节点加入所述集群,得到所述集群的扩容结果;所述扩容结果表征所述集群是否扩容成功。
第三方面,本发明实施例提供了一种计算设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的集群扩容方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的集群扩容方法的步骤。
本发明实施例通过限制第一节点的选举权限,然后将第一节点加入所述集群。其中,选举权限表征第一节点与集群的当前所有节点共同选举集群的控制节点的权限,控制节点用于控制集群中的所有节点。本发明实施例通过对第一节点的选举权限进行限制,基于限制选举权限后的第一节点进行集群扩容,可以使得集群在扩容时不会进行选举控制节点的操作,从而使得原集群中的所有节点在集群节点扩容过程中仍能对外提供服务,使得业务不中断。
附图说明
图1是本发明实施例提供的一种集群扩容方法的实现流程示意图;
图2是本发明实施例提供的另一种集群扩容方法的实现流程示意图;
图3是本发明实施例提供的另一种集群扩容方法的实现流程示意图;
图4是本发明实施例提供的另一种集群扩容方法的实现流程示意图;
图5是本发明应用实施例提供的一种集群扩容流程的示意图;
图6是本发明实施例提供的一种集群扩容装置的示意图;
图7是本发明一实施例提供的计算设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术有两种组建集群的方案,第一种是静态组建集群方案,该方案通过虚拟机的方式创建集群,在集群组建时就已经指定了集群的节点数量,后续无法进行节点扩容。该方案不支持通过Kubernetes部署节点,必须使用虚拟机方式来部署节点。Kubernetes是一个集群管理工具,可以对集群中的节点进行管理。第二种是动态组建集群方案,该方案使用Docker的方式部署节点,Docker是一个可实现虚拟化的开源应用容器引擎。该方案在进行集群节点扩容时,会停止集群中所有节点中的进程,更新每一个节点的集群配置文件,再重新选择集群的控制节点,因此该方案在扩容节点时会导致集群的业务中断。而且Docker会对宿主机网络等信息进行更改,从而可能对宿主机造成入侵,安全性低。并且该方案采用一主机多备机来部署集群节点,集群节点的资源利用率低。
针对上述相关技术的缺点,本发明实施例提供了一种集群扩容方法,至少能够实现在集群进行节点扩容时业务不中断。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明实施例提供的一种集群扩容方法的实现流程示意图,所述集群扩容方法执行主体为计算设备,计算设备包括台式电脑、笔记本电脑和服务器等,集群扩容方法包括:
S101,限制第一节点的选举权限;所述选举权限表征所述第一节点与集群的当前所有节点共同选举所述集群的控制节点的权限,所述控制节点用于控制所述集群中的所有节点。
集群指多个节点所组成的群体,在单机处理到达瓶颈的时候,把单机复制几份,这样多个单机就构成了一个集群。集群中每台单机就叫做这个集群的一个节点,所有节点构成了一个集群。每个节点都提供相同的服务,这样提升了系统的处理能力,即高可用性。这里,单机可以是物理主机或虚拟机。
在本发明实施例中,以Kubernetes集群为例进行实施例的说明。Kubernetes集群包括工作节点和控制节点,控制节点在Kubernetes集群中是必不可少的,控制节点负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都是发给控制节点。在Kubernetes集群中,可以在一个工作节点上创建一个或多个Pod,Pod是所有业务类型的基础,也是Kubernetes管理的最小单位级,它是一个或多个容器的组合。这些容器共享存储、网络、命名空间以及如何运行的规范。在Pod中,所有容器都被统一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器。在实际应用中,Pod可以以镜像文件的形式进行销售。
集群节点扩容即在集群中添加新的节点,这里,第一节点就是准备在集群中添加的扩容节点。
在第一节点加入集群之前,限制第一节点的选举权限。这里的限制指对第一节点的选举权限进行屏蔽,使得第一节点不能参与集群的控制节点的选举,在后续集群扩容成功后可以通过解除限制的方式使得第一节点恢复选举权限。
Kubernetes集群具有leader选举机制,这里leader即指Kubernetes集群中的控制节点,Kubernetes集群中的每个节点都有选举leader的权限,在有新节点加入Kubernetes集群时,相关技术中所有节点会进行leader选举,leader选举会停止集群中所有节点中的进程,更新每一个节点的集群配置文件。而在本发明实施例中,限制第一节点的选举权限,选举权限表征所述第一节点与集群的当前所有节点共同选举集群的控制节点的权限,控制节点用于控制所述集群中的所有节点。这样,在第一节点加入集群后,由于第一节点没有选举leader的期限,集群在扩容过程中不会发生leader选举,leader还是集群中原先的控制节点。这样能够使得集群在扩容时不会进行选择控制节点的操作,从而使得原集群中的所有节点在集群节点扩容过程中仍能对外提供服务,使得业务不中断。
S102,将所述第一节点加入所述集群。
将第一节点加入所述集群,即对集群进行节点扩容。
在集群中创建第一节点后,基于第一节点对集群进行节点扩容。节点扩容主要包括对第一节点进行注册、集群配置和业务数据同步等步骤。
具体的,参考图2,在一实施例中,所述将所述第一节点加入所述集群,包括:
S201,发送第一信息至所述第一节点;所述第一信息至少表征所述集群的配置信息,用于所述第一节点进行集群配置。
这里,在实际应用中,由当前集群的控制节点发送第一信息给第一节点。第一信息至少包括集群配置,第一节点基于第一信息进行集群配置。
在发送第一信息至所述第一节点之前,还需要对第一节点进行注册,参考图3,在一实施例中,所述发送第一信息至所述第一节点,包括:
S301,将所述集群的第三信息发送至所述第一节点,以使所述第一节点基于所述第三信息进行启动;所述第三信息至少表征所述集群的启动参数。
这里,第三信息至少包括集群的启动参数,还可以包括集群各节点的域名、标识、对外开放的端口等信息,标识表征节点的身份,是控制节点还是工作节点。在实际应用中,可以将第三信息以环境变量形式导入到第一节点中。
S302,在所述第一节点基于所述第三信息启动成功的情况下,接收所述第一节点的扩容请求。
第一节点基于第三信息进行启动,第一节点启动后,向控制节点注册自身,即向控制节点发送扩容请求。扩容请求包括第一节点的相关信息,比如节点名称、标识、性能参数等。
S303,基于所述扩容请求,发送所述第一信息至所述第一节点。
控制节点接收到第一节点的扩容请求后,对扩容请求进行校验,校验第一节点的各项信息是否符合节点扩容标准,比如名称是否符合规范。在校验完毕后,控制节点更改或初始化集群配置,将集群配置等信息发送给扩容节点。第一信息至少包括集群配置,第一节点接收到第一信息后,基于第一信息进行初始化配置。
在实际应用中,在执行集群的扩容操作时,初始化待添加的工作节点(即第一节点),并在初始化完成之后,向集群的kube-apiserver发送注册请求,从而通过该注册请求将待添加的工作节点注册到Kubernetes集群中。
S202,在所述第一节点基于所述第一信息完成集群配置的情况下,发送第二信息至第一节点;所述第二信息至少表征所述集群的业务信息,用于所述第一节点进行业务配置。
在第一节点完成集群配置后,控制节点根据集群配置,控制第一节点,第一节点此时属于集群的一个工作节点,此时的第一节点已经可以开始运行业务了。然后,控制节点和第一节点进行数据同步,这里数据同步指的是同步集群的业务数据。控制节点发送第二信息至第一节点,第二信息至少表征集群的业务信息,即集群的业务数据。第一节点基于第二信息进行业务配置,第一节点完成业务配置后开始运行集群中的业务,从而可以降低集群其他节点的负载,提高集群的资源利用率。
S203,在所述第一节点基于所述第二信息完成业务配置的情况下,获得所述集群扩容成功的扩容结果。
第一节点基于第二信息完成业务配置后,可以发送已完成业务配置的通知信息给集群当前的控制节点,从而使得计算设备获得集群扩容成功的扩容结果。
如果上述步骤全部执行成功,则得到集群扩容成功的扩容结果。如果有一个步骤失败,将会导致集群扩容失败。
本发明实施例通过限制第一节点的选举权限,然后将第一节点加入所述集群。其中,选举权限表征第一节点与集群的当前所有节点共同选举集群的控制节点的权限,控制节点用于控制集群中的所有节点。本发明实施例通过对第一节点的选举权限进行限制,基于限制选举权限后的第一节点进行集群扩容,可以使得集群在扩容时不会进行选举控制节点的操作,从而使得原集群中的所有节点在集群节点扩容过程中仍能对外提供服务,使得业务不中断。
进一步的,在本发明一实施例中,将第一节点加入集群后,还包括:
获得所述集群的扩容结果;所述扩容结果表征所述集群是否扩容成功;
在所述扩容结果表征所述集群扩容成功的情况下,解除对所述第一节点的选举权限的限制。
如上所述,在第一节点基于第二信息完成业务配置的情况下,可以获得集群扩容成功的扩容结果。
在集群扩容成功的情况下,解除对第一节点的选举权限的限制,即恢复第一节点的选举权限,使得第一节点可以参与选举集群的控制节点。
在第一节点成功加入集群的情况下,才解除对第一节点的选举权限的限制,这样即可以使得集群在扩容时不会进行选举控制节点的操作,保证了集群业务的不中断。在集群扩容成功后恢复第一节点的选举权限,又可以使得集群的选举机制正常运行,确保了集群的高可用性。
进一步的,在本发明一实施例中,集群扩容方法还包括:
为所述集群的每个节点中的每个容器组分配固定的网络地址;所述容器组由至少一个容器组成;所述至少一个容器中的每个容器表征运行所述集群的业务的一个进程。
这里,容器组即为Pod,Pod是Kubernetes系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在Kubernetes上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展Pod对象功能的。比如控制器对象是用来管控Pod对象的,Service或者Ingress资源对象是用来暴露Pod引用对象的,Persistent Volume资源对象是用来为Pod提供存储的。Kubernetes不会直接处理容器,而是处理Pod。Pod由一个或者多个容器组成,容器的本质就是一个进程,Pod里的多个容器可以共享存储和网络,Pod可以看作一个逻辑的主机。
在集群中,每一个节点都分配有互联网协议地址(IP,Internet ProtocolAddress),每一个节点中的所有Pod都分配有固定的网络地址,这里,网络地址可以为域名。
在Kubernetes平台中,pod迁移后,pod对应的节点的IP地址会发生变更,这样不利于后续各个pod之间的通信,为了保证各个pod的访问方式不发生改变,为每个pod设置固定域名,将pod和域名进行绑定,从而在后续pod迁移后,节点间可通过域名相互访问。
进一步的,在本发明一实施例中,集群扩容方法还包括:
在所述扩容结果表征所述集群扩容成功的情况下,解除对所述第一节点的选举权限的限制。
在第一节点与控制节点数据同步完成之后,得到集群扩容成功的扩容结果。在集群扩容成功后,解除对所述第一节点的选举权限的限制,使得第一节点拥有选举控制节点的权限。
在上述实施例中,在所述扩容结果表征所述集群扩容成功的情况下,所述方法还包括:
S401,获取所述集群中的每个节点的投票信息;所述投票信息表征对应的节点选择的控制节点。
第一节点拥有选举控制节点的权限后,集群中的所有节点开始选举集群的控制节点。集群中的每个节点进行投票,获取所有节点的投票信息,投票信息包括节点自身的标识,以及所选择的控制节点的标识。
S402,基于所述集群中每个节点的投票信息确定所述集群的控制节点。
基于集群中每个节点的投票信息确定集群的控制节点,例如,在一实施例中,某个节点获得的投票数量大于设定值时,当选为集群的控制节点。
在实际应用中,比较简单的leader选举算法是Bully算法,Bully算法通过给每个节点赋予一个ID值,这些ID值是可以排序的,每次leader选举都会选举ID值最大的节点。
在本发明其他实施例中,可以通过挂载外部卷的方式来保障集群信息,解决重启Pod数据丢失的问题,所挂载的外部卷部署在宿主机上。
可以对集群进行故障检测,通过Kubernetes对故障节点进行监控并重启恢复。对于故障节点,将故障节点下的Pod挂载在其他健康节点下。只要集群中监控节点的数量大于集群节点数量的一半,则集群就可以正常运行。
可以采用一主机多从机部署集群节点,这样在主机和从机都能运行业务,集群资源利用率高。
参考图5,图5是本发明应用实施例提供的一种集群扩容流程的示意图,集群扩容流程包括:
首先,管理员或用户在Kubernetes环境下创建单节点集群,单节点集群只有一个节点,即图5中的首个节点。在需要对集群进行扩容时,在集群中创建扩容节点,限制扩容节点的选举权限。用户启动扩容节点,将首个节点的启动参数、域名等信息发送给扩容节点。扩容节点接收到启动参数等信息后,向首个节点注册自身,即发出扩容请求。首个节点接收到扩容请求,对扩容请求校验完毕后,更改或初始化集群配置,返回注册结果给扩容节点,注册结果包括了集群配置等信息。扩容节点基于集群配置等信息进行初始化。首个节点根据集群配置,接管扩容节点,截止目前为止,扩容节点无选举权限。最后,首个节点与扩容节点进行数据同步,在数据同步完成后,首个节点对扩容节点进行权限提升,使得扩容节点拥有选举权限。本发明应用实施例通过对扩容节点的选举权限进行限制,在数据同步之后再使扩容节点恢复选举权限,从而使得原集群中的所有节点在集群节点扩容过程中仍能对外提供服务,使得业务不中断。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
参考图6,图6是本发明实施例提供的一种集群扩容装置的示意图,如图6所示,该装置包括:限制模块和扩容模块。
限制模块,用于限制第一节点的选举权限;所述选举权限表征所述第一节点与集群的当前所有节点共同选举所述集群的控制节点的权限,所述控制节点用于控制所述集群中的所有节点;
扩容模块,用于将所述第一节点加入所述集群。
所述装置还包括:
获得模块,用于获得所述集群的扩容结果;所述扩容结果表征所述集群是否扩容成功;
解除模块,用于在所述扩容结果表征所述集群扩容成功的情况下,解除对所述第一节点的选举权限的限制。
所述扩容模块具体用于:
发送第一信息至所述第一节点;所述第一信息至少表征所述集群的配置信息,用于所述第一节点进行集群配置;
在所述第一节点基于所述第一信息完成集群配置的情况下,发送第二信息至第一节点;所述第二信息至少表征所述集群的业务信息,用于所述第一节点进行业务配置;在所述第一节点基于所述第二信息完成业务配置的情况下,获得所述集群扩容成功的扩容结果。
所述装置还包括:
获取模块,用于获取所述集群中的每个节点的投票信息;所述投票信息表征对应的节点选择的控制节点;
确定模块,用于基于所述集群中每个节点的投票信息确定所述集群的控制节点。
所述集群的控制节点获得的投票数量大于设定值。
所述扩容模块还用于:
将所述集群的第三信息发送至所述第一节点,以使所述第一节点基于所述第三信息进行启动;所述第三信息至少表征所述集群的启动参数;
在所述第一节点基于所述第三信息启动成功的情况下,接收所述第一节点的扩容请求;
基于所述扩容请求,发送所述第一信息至所述第一节点。
所述装置还包括:
分配模块,用于为所述集群的每个节点中的每个容器组分配固定的网络地址;所述容器组由至少一个容器组成;所述至少一个容器中的每个容器表征运行所述集群的业务的一个进程。
实际应用时,所述限制模块和扩容模块可通过计算设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital SignalProcessor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的集群扩容装置在进行集群扩容时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的集群扩容装置与集群扩容方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种计算设备。图7为本申请实施例计算设备的硬件组成结构示意图,如图7所示,计算设备包括:
通信接口,能够与其它设备比如网络设备等进行信息交互;
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述计算设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
当然,实际应用时,计算设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统。
本申请实施例中的存储器用于存储各种类型的数据以支持计算设备的操作。这些数据的示例包括:用于在计算设备上操作的任何计算机程序。
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器130旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由计算设备实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由计算设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、计算设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种集群扩容方法,其特征在于,所述方法包括:
限制第一节点的选举权限;所述选举权限表征所述第一节点与集群的当前所有节点共同选举所述集群的控制节点的权限,所述控制节点用于控制所述集群中的所有节点;
将所述第一节点加入所述集群。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一节点加入所述集群后,还包括:
获得所述集群的扩容结果;所述扩容结果表征所述集群是否扩容成功;
在所述扩容结果表征所述集群扩容成功的情况下,解除对所述第一节点的选举权限的限制。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一节点加入所述集群,包括:
发送第一信息至所述第一节点;所述第一信息至少表征所述集群的配置信息,用于所述第一节点进行集群配置;
在所述第一节点基于所述第一信息完成集群配置的情况下,发送第二信息至第一节点;所述第二信息至少表征所述集群的业务信息,用于所述第一节点进行业务配置;
在所述第一节点基于所述第二信息完成业务配置的情况下,获得所述集群扩容成功的扩容结果。
4.根据权利要求2所述的方法,其特征在于,在所述扩容结果表征所述集群扩容成功的情况下,所述方法还包括:
获取所述集群中的每个节点的投票信息;所述投票信息表征对应的节点选择的控制节点;
基于所述集群中每个节点的投票信息确定所述集群的控制节点。
5.根据权利要求4所述的方法,其特征在于,所述集群的控制节点获得的投票数量大于设定值。
6.根据权利要求3所述的方法,其特征在于,所述发送第一信息至所述第一节点,包括:
将所述集群的第三信息发送至所述第一节点,以使所述第一节点基于所述第三信息进行启动;所述第三信息至少表征所述集群的启动参数;
在所述第一节点基于所述第三信息启动成功的情况下,接收所述第一节点的扩容请求;
基于所述扩容请求,发送所述第一信息至所述第一节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述集群的每个节点中的每个容器组分配固定的网络地址;所述容器组由至少一个容器组成;所述至少一个容器中的每个容器表征运行所述集群的业务的一个进程。
8.一种集群扩容装置,其特征在于,包括:
限制模块,用于限制第一节点的选举权限;所述选举权限表征所述第一节点与集群的当前所有节点共同选举所述集群的控制节点的权限,所述控制节点用于控制所述集群中的所有节点;
扩容模块,用于将所述第一节点加入所述集群,得到所述集群的扩容结果;所述扩容结果表征所述集群是否扩容成功。
9.一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的集群扩容方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的集群扩容方法。
CN202011378708.2A 2020-11-30 2020-11-30 一种集群扩容方法、装置、计算设备及存储介质 Active CN112379845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011378708.2A CN112379845B (zh) 2020-11-30 2020-11-30 一种集群扩容方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011378708.2A CN112379845B (zh) 2020-11-30 2020-11-30 一种集群扩容方法、装置、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN112379845A true CN112379845A (zh) 2021-02-19
CN112379845B CN112379845B (zh) 2024-05-28

Family

ID=74590027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011378708.2A Active CN112379845B (zh) 2020-11-30 2020-11-30 一种集群扩容方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN112379845B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634375A (zh) * 2013-11-07 2014-03-12 华为技术有限公司 扩容集群节点的方法、装置及设备
CN104484469A (zh) * 2014-12-31 2015-04-01 天津南大通用数据技术股份有限公司 一种支持多hash map数据库集群系统不停机的扩容方法
WO2017000666A1 (zh) * 2015-07-02 2017-01-05 中兴通讯股份有限公司 集群主节点选举方法及装置
CN108600328A (zh) * 2018-03-29 2018-09-28 新华三技术有限公司 一种集群选举方法和装置
CN111914022A (zh) * 2020-07-23 2020-11-10 北京中数智汇科技股份有限公司 一种线上扩容mongodb集群的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634375A (zh) * 2013-11-07 2014-03-12 华为技术有限公司 扩容集群节点的方法、装置及设备
CN104484469A (zh) * 2014-12-31 2015-04-01 天津南大通用数据技术股份有限公司 一种支持多hash map数据库集群系统不停机的扩容方法
WO2017000666A1 (zh) * 2015-07-02 2017-01-05 中兴通讯股份有限公司 集群主节点选举方法及装置
CN108600328A (zh) * 2018-03-29 2018-09-28 新华三技术有限公司 一种集群选举方法和装置
CN111914022A (zh) * 2020-07-23 2020-11-10 北京中数智汇科技股份有限公司 一种线上扩容mongodb集群的方法和装置

Also Published As

Publication number Publication date
CN112379845B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
US11704144B2 (en) Creating virtual machine groups based on request
CN102355369B (zh) 虚拟化集群系统及其处理方法和设备
WO2017162173A1 (zh) 云服务器集群建立连接的方法和装置
CN109067877B (zh) 一种云计算平台部署的控制方法、服务器及存储介质
EP4083786A1 (en) Cloud operating system management method and apparatus, server, management system, and medium
CN109976822B (zh) 分布式应用的配置方法、装置以及分布式系统
US8224941B2 (en) Method, apparatus, and computer product for managing operation
US8387013B2 (en) Method, apparatus, and computer product for managing operation
CN107666493B (zh) 一种数据库配置方法及其设备
US20220057947A1 (en) Application aware provisioning for distributed systems
US20070124573A1 (en) Method for rapid startup of a computer system
CN111104201A (zh) 系统迁移方法和装置、电子设备、存储介质
CN108319492B (zh) 复位物理机的方法、装置与系统
CN112351110B (zh) 基于zookeeper的ID分配方法、装置
CN112099913A (zh) 一种基于OpenStack实现虚拟机安全隔离的方法
US11860776B2 (en) Concurrent memory recycling for collection of servers
US9921878B1 (en) Singleton coordination in an actor-based system
CN114185558A (zh) 基于K8s的原生应用选主方法、装置及存储介质
CN108667750B (zh) 虚拟资源管理方法及装置
CN116095145B (zh) 一种vpc集群的数据控制方法和系统
CN112698979A (zh) zookeeper双节点的处理方法、装置、存储介质及处理器
CN114124803B (zh) 设备管理方法、装置、电子设备及存储介质
CN111988446B (zh) 一种报文处理方法、装置、电子设备及存储介质
CN112379845A (zh) 一种集群扩容方法、装置、计算设备及存储介质
US9348672B1 (en) Singleton coordination in an actor-based system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant