CN115373809A - 一种集群节点添加方法、装置、设备及存储介质 - Google Patents
一种集群节点添加方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115373809A CN115373809A CN202110560306.2A CN202110560306A CN115373809A CN 115373809 A CN115373809 A CN 115373809A CN 202110560306 A CN202110560306 A CN 202110560306A CN 115373809 A CN115373809 A CN 115373809A
- Authority
- CN
- China
- Prior art keywords
- node
- task
- cluster
- target
- adding task
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种集群节点添加方法、装置、设备及存储介质,在需要向节点集群添加节点时,获取节点添加任务的描述信息,以便根据描述信息创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。将节点添加任务调度至内网节点上,以通过内网节点根据配置文件执行节点添加任务。由于内网节点与待添加的目标节点位于同一局域网,因此在执行节点添加任务的过程中,可以直接根据敏感信息登录目标节点以添加目标节点至目标节点集群。本申请通过任务调度的方式实现了通过内网节点,将内网节点所在的局域网内的其它节点(目标节点)添加到目标节点集群中,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
Description
技术领域
本申请涉及计算机领域,特别是涉及一种集群节点添加方法、装置、设备及存储介质。
背景技术
Kubernetes是一种开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母),k8s所管理的容器集群可以称为k8s集群。
随着业务量的增长,k8s集群中节点的数量也会随之增加,这就需要添加节点到已有k8s集群中。目前在局域网添加节点的实现方式是搭建跳板机,通过跳板机登录局域网内的节点,执行安装节点的操作。
然而,通过跳板机登录内网节点添加k8s集群节点,需要在局域网内搭建跳板机,这会带来额外的机器资源消耗和运维工作量,也会降低节点添加效率。
发明内容
为了解决上述技术问题,本申请提供了一种集群节点添加方法、装置、设备及存储介质,通过任务调度的方式实现了通过目标节点集群中的节点,将节点所在的局域网内的其它节点添加到目标节点集群中。但是与相关技术相比,本申请利用的是已存在的节点尤其是目标节点集群中的节点,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种集群节点添加方法,所述方法包括:
获取节点添加任务的描述信息;
根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
第二方面,本申请实施例提供一种集群节点添加装置,所述装置包括获取单元、生成单元、调度单元和添加单元:
所述获取单元,用于获取节点添加任务的描述信息;
所述生成单元,用于根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
所述调度单元,用于将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
所述添加单元,用于在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
第三方面,本申请实施例提供一种用于集群节点添加的电子设备,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的方法。
由上述技术方案可以看出,本申请在需要向节点集群添加节点时,可以获取节点添加任务的描述信息,以便根据描述信息创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。将节点添加任务调度至内网节点上,以通过内网节点根据配置文件执行节点添加任务。由于内网节点与待添加的目标节点位于同一局域网,因此在执行节点添加任务的过程中,可以直接根据敏感信息登录目标节点以添加目标节点至目标节点集群。本申请通过任务调度的方式实现了通过内网节点,将内网节点所在的局域网内的其它节点(目标节点)添加到目标节点集群中。尤其在目标节点集群的控制平面不能直接连接局域网内的节点(即控制平面与目标节点不在同一局域网)场景下,本申请中的内网节点起到了相关技术中跳板机的作用,但是与相关技术相比,本申请利用的是已存在的节点尤其是目标节点集群中的节点,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种集群节点添加方法的应用场景示例图;
图2为本申请实施例提供的另一种集群节点添加的应用场景示例图;
图3为相关技术提供的一种集群节点添加方法的实现流程图;
图4为本申请实施例提供的一种集群节点添加方法的系统架构示例图;
图5为本申请实施例提供的一种集群节点添加方法的流程图;
图6为本申请实施例提供的一种通过目标集群内节点添加目标节点的架构图;
图7为本申请实施例提供的一种节点直连的应用场景下添加目标节点的架构图;
图8为本申请实施例提供的又一种通过目标集群内节点添加目标节点的架构图;
图9为本申请实施例提供的又一种节点直连的应用场景下添加目标节点的架构图;
图10为本申请实施例提供的一种集群节点添加方法的流程图;
图11为本申请实施例提供的一种集群节点添加装置的结构图;
图12为本申请实施例提供的一种终端的结构图;
图13为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
需要说明的是,在本申请实施例中,需要添加节点的节点集群可以称为目标节点集群,目标节点集群可以是k8s集群,k8s集群主要分为由控制平面(control plane)统一管理的节点集群以及独立节点集群,控制平面对云端资源进行统一管理,即对于非独立节点集群,可以统一管理多个节点集群的资源。而独立节点集群即无需和其他节点集群一起由控制平面管理,其所需资源由自身独立管理。
控制平面是基于目标节点集群搭建的,且控制平面能够访问目标节点集群的接口。而由控制平面统一管理的节点集群又可以分为两个场景,第一个场景为目标节点集群的控制平面直接连接局域网内节点的场景,第二个场景为目标节点集群的控制平面不能直接连接局域网内的节点场景。
其中,第一个场景可以参见图1所示,控制平面和节点(即待添加的目标节点例如节点1、节点2、节点3)在同一个局域网,控制平面通过安全外壳协议(Secure Shell,ssh)直连登录节点执行安装脚本的命令。第二个场景可以参见图2所示,控制平面不能直接连接局域网内的节点(待添加的目标节点例如节点2、节点3、节点B、节点C),即控制平面与目标节点位于不同的局域网,而节点1和节点A已经位于目标节点集群,即目标节点集群对应的接口(kube-apiserver,KAS)可以直连节点1、节点A,此时控制平面无法直接登录节点执行安装脚本的命令。目标节点集群一般包括管理节点(master node)和工作节点(woker node),通常情况下,运行KAS的节点为目标节点集群中的管理节点。
而对于独立节点集群,同样可以分为直连局域网内的节点和不能直连局域网内的节点,与上述场景的区别在于独立节点集群不存在控制平面,是否直连主要是看目标节点集群的KAS与目标节点是否在同一局域网。若KAS与目标节点在同一局域网则为直连局域网内的节点,否则为不能直连局域网内的节点。
在不能直连局域网内的节点场景下,相关技术为k8s集群添加节点(node)的方式可以参见图3所示,在图3中,k8s集群的控制平面(Control plane)位于局域网1,而待添加的目标节点例如节点1(node-1)、节点2(node-2)、节点3(node-3)位于局域网2,即k8s集群的控制平面与目标节点不在同一局域网。在这种情况下,为了使得控制平面可以登录局域网2中的目标节点以添加目标节点至k8s集群,需要在局域网2内搭建跳板机,从而只为跳板机分配外网地址,而无需为每个目标节点分配外网地址,以便控制平面可以通过跳板机登录局域网内的节点,执行安装节点的操作。但是这种方式会带来额外的机器资源消耗和运维工作量,也会降低节点添加效率。
为了解决上述技术问题,本申请实施例提供一种集群节点添加方法,该方法通过任务调度的方式实现了通过目标节点集群中的节点,将节点所在的局域网内的其它节点添加到目标节点集群中。尤其在控制平面不能直接连接局域网内的节点(即控制平面与目标节点不在同一局域网)场景下,本申请中的内网节点起到了相关技术中跳板机的作用,但是与相关技术相比,本申请利用的是已存在的节点尤其是目标节点集群中的节点,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
需要说明的是,本申请实施例提供的集群节点添加方法主要是针对在不能直连局域网内节点的场景下,进行集群节点添加而做出的改进,但是该集群节点方法同样可以应用于直连局域网内节点的场景下。
需要说明的是,本申请实施例提供的方法可以涉及云技术,例如涉及云技术中的云计算领域,云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
例如本申请主要用于为k8s集群添加节点,而k8s集群是由虚拟化的容器构成的集群。
另外,本申请实施例提供的方法还可以涉及区块链技术,如本申请所公开的集群节点添加方法,其中多个节点可以是区块链上的节点。
为了便于理解本申请实施例提供的集群节点添加方法,本申请实施例首先对集群节点添加的系统架构进行介绍。
参见图4,图4为本申请实施例提供的集群节点添加方法的系统架构示意图。该系统架构中包括目标节点集群401和目标节点402,目标节点集群401可以是需要添加节点的节点集群,其中包括一个或多个节点,例如图4中节点1,目标节点402包括一个或多个节点,例如图4中节点2、节点3和节点4。其中,目标节点集群401可以是k8s集群,节点1、节点2、节点3、节点4可以是终端,也可以是服务器。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
需要说明的是,本申请实施例提供的方法可以由运行目标节点集群对应的接口的节点执行,该节点可以是服务器,也可以是终端,本申请主要以服务器为例进行介绍。
在需要向节点集群添加节点时,服务器可以获取节点添加任务的描述信息,以便根据描述信息创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。服务器将节点添加任务调度至内网节点上,以通过内网节点根据配置文件执行节点添加任务。其中,内网节点是与目标节点402位于同一局域网的节点,因此,目标节点集群401中的节点1可以作为内网节点。
由于内网节点与待添加的目标节点402位于同一局域网,因此在执行节点添加任务的过程中,服务器可以直接根据敏感信息登录目标节点402以添加目标节点402至目标节点集群401。若完成将目标节点402添加至目标节点集群401,则目标节点集群401中将包括节点1、节点2、节点3、节点4。
本申请通过任务调度的方式实现了通过内网节点,将内网节点所在的局域网内的其它节点(目标节点)添加到目标节点集群中。尤其在目标节点集群的控制平面不能直接连接局域网内的节点(即控制平面与目标节点不在同一局域网)场景下,本申请中的内网节点起到了相关技术中跳板机的作用,但是与相关技术相比,本申请利用的是已存在的节点尤其是目标节点集群中的节点,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
接下来,将以服务器是执行主体为例,结合附图对本申请实施例提供的集群节点添加方法进行详细介绍。
参见图5,图5示出了一种集群节点添加方法的流程图,所述方法包括:
S501、获取节点添加任务的描述信息。
在需要向目标节点集群添加节点时,用户可以触发节点添加请求,该节点添加请求中可以包括用户预先设置的一些信息,例如可以包括待添加的目标节点名、安装节点的方式、执行添加节点命令的节点添加任务(job)运行的位置等等,以便根据这些信息创建节点添加任务的描述信息。其中,创建描述信息的任务一般为task任务。
该描述信息可以通过节点任务卡片(nodes-task-crd)表示,nodes-task-crd上主要包括接口版本、描述信息的类型、元数据和配置数据等信息。
其中,接口版本可以通过apiVersion表示,接口版本例如可以是task.tkeedge.io/v1;描述信息的类型可以通过kind表示,例如类型为Task(任务);元数据可以通过metadata表示;配置数据可以通过spec表示。元数据主要包括标签(labels),任务版本(TaskVersion)例如为v1,命名空间(namespace);spec主要包括preName、crdVersion、mode、jobPosition、passWd、nodeName、nameIps、sshPort和ips。preName为节点名前缀,使用前缀加随机字符串生成安装节点的节点名;crdVersion为task crd的唯一标识,添加节点成功后会给节点打上crdVersion的标签;mode为安装节点的方式,不直连节点添加时mode的值为springboard,直连节点添加时mode的值为direct;jobPosition为执行添加节点命令的节点添加任务(job)运行的位置,在mode为springboard时,jobPosition的值为in-cluster,mode为direct时,jobPosition的值为in-cluster;passWd为ssh登录节点的passwd;sshPort为ssh连接的port;nameIps为节点名和局域网内网际互连协议(InternetProtocol,ip)的map,在安装节点可以自定义节点名或者指定已有的节点名用于重装节点;ips为节点所在局域网ip的列表,用于ssh登录内网节点。
需要说明的是,由于本申请实施例提供的方法可以应用于不同的添加节点场景,不同场景下创建描述信息的方式可能有所不同。
若目标节点集群由控制平面统一管理,描述信息是控制平面上运行的节点集群对应的接口(MngCluster apiserver)响应于用户的节点添加请求创建的。
参见图6和图7所示,用户可以通过命令行工具(kubectl)向控制平面上运行的节点集群对应的接口发送节点添加请求,从而请求创建一个nodes-task-crd。
若目标节点集群为独立节点集群,描述信息是目标节点集群对应的接口(KAS)响应于用户的节点添加请求创建的。
参见图8和图9所示,用户直接向目标节点集群的KAS发送节点添加请求,从而请求创建一个nodes-task-crd。在图9中KAS所在节点与目标节点位于同一局域网。
在本申请实施例中,可以通过节点任务操作器(node-task-operator)对描述信息的创建情况进行监控,若监听到描述信息创建完成后,可以通过节点任务操作器请求运行目标节点集群的接口(KAS)的管理节点创建节点添加任务,故该管理节点可以获取描述信息。其中,该管理节点可以是服务器,即服务器获取该描述信息,以便根据该描述信息创建节点添加任务。node-task-operator是基于k8s的Operator技术实现的。
S502、根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息。
上述服务器获取到描述信息后,可以根据描述信息创建节点添加任务(add-node-job),并生成节点添加任务对应的配置文件和敏感信息。其中,该节点添加任务是job任务;配置文件(configmap)用于运行节点添加任务,可以用add-node-cm表示;敏感信息(secret)用于登录目标节点以执行添加目标节点的操作,包括登录目标节点的ssh的密码(passwd)或私钥(sshkey)。
需要说明的是,由于本申请实施例提供的方法可以应用于不同的添加节点场景,不同场景下节点添加任务、以及对应的配置文件和敏感信息的生成方式可能有所不同。
若目标节点集群由控制平面统一管理,且控制平面与目标节点位于不同的局域网,或者,若目标节点集群为独立节点集群,且运行目标节点集群的接口的管理节点与目标节点位于不同的局域网,即非直连节点添加,则S502的具体实现方式可以是在运行目标节点集群对应的接口的管理节点上创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。
参见图6和图8所示,node-task-operator监听到描述信息创建之后,node-task-operator就会请求管理节点在该管理节点上创建一个job任务,同时会生成job任务运行所需的配置文件和登录目标节点的敏感信息。
若目标节点集群由控制平面统一管理,且控制平面与目标节点位于同一局域网,或者,若目标节点集群为独立节点集群,且运行目标节点集群的接口的管理节点与目标节点位于同一局域网,即直连节点添加,则S502的具体实现方式可以是在描述信息所在的命名空间创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。
参见图7和图9所示,node-task-operator监听到描述信息创建之后,node-task-operator就会请求管理节点在node-task-crd所在的命名空间(例如cls-Anamespace)上创建一个job任务,同时会生成job任务运行所需的配置文件和登录目标节点的敏感信息。
S503、将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网。
S504、在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
由于内网节点与待添加的目标节点(target node)位于同一局域网,因此可以将节点添加任务调度至内网节点上,通过内网节点根据配置文件执行节点添加任务,从而直接根据敏感信息登录目标节点以添加目标节点至目标节点集群。其中,目标节点例如图6-图9中的节点2、节点3和节点4。
可以理解的是,为避免多个节点添加任务对同一个目标节点执行添加节点的命令,对于一个添加节点的task任务,有且只有一个job任务,同时还要保对于一个用户的k8s集群,只能创建一个task任务。
需要说明的是,由于本申请实施例提供的方法可以应用于不同的添加节点场景,不同场景下运行节点添加任务的内网节点可能有所不同。
若目标节点集群由控制平面统一管理,且控制平面与目标节点位于不同的局域网,或者,若目标节点集群为独立节点集群,且运行目标节点集群的接口的管理节点与目标节点位于不同的局域网,即非直连节点添加,则内网节点为目标节点集群中的工作节点。
参见图6和图8所示,此时内网节点可以是目标节点集群中的节点1,该节点1为目标节点集群中的工作节点。节点添加任务会被调度到指定的节点1上,节点1上的add-node-job通过ssh登录到目标节点执行添加节点的命令。
若目标节点集群由控制平面统一管理,且控制平面与目标节点位于同一局域网,即直连节点添加,则内网节点为控制平面上运行的节点集群内的节点。
参见图7所示,此时内网节点为控制平面上运行的节点集群内的节点,则add-node-job运行在控制平面的k8s集群内,通过ssh登录目标节点,执行安装节点的命令。
若目标节点集群为独立节点集群,且运行目标节点集群的接口的管理节点与目标节点位于同一局域网,即直连节点添加,则内网节点为运行目标节点集群对应的接口的管理节点。
参见图9所示,此时内网节点为运行目标节点集群对应的接口的管理节点,则add-node-job运行在kube-apiserver所在的节点上,通过ssh登录目标节点,执行安装节点的命令。在独立节点集群中kube-apiserver可能会有多个实例,add-node-job运行在其中的一个实例所在的节点上。
由上述技术方案可以看出,本申请在需要向节点集群添加节点时,可以获取节点添加任务的描述信息,以便根据描述信息创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。将节点添加任务调度至内网节点上,以通过内网节点根据配置文件执行节点添加任务。由于内网节点与待添加的目标节点位于同一局域网,因此在执行节点添加任务的过程中,可以直接根据敏感信息登录目标节点以添加目标节点至目标节点集群。本申请通过任务调度的方式实现了通过内网节点,将内网节点所在的局域网内的其它节点(目标节点)添加到目标节点集群中。尤其在目标节点集群的控制平面不能直接连接局域网内的节点(即控制平面与目标节点不在同一局域网)场景下,本申请中的内网节点起到了相关技术中跳板机的作用,但是与相关技术相比,本申请利用的是已存在的节点尤其是目标节点集群中的节点,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
可以理解的是,节点添加任务是否执行成功直接影响着是否将目标节点成功添加至目标节点集群。为了及时了解节点添加任务是否执行成功,以便在发现节点添加任务执行失败时及时补救,在本申请实施例中,可以获取节点添加任务的查询请求,根据该查询请求确定节点添加任务是否执行失败。若根据查询请求确定该节点添加任务执行失败,重新下发节点添加任务。
通常情况下,若节点添加任务被运行后会被删除,但是运行了节点添加任务并不表示节点添加任务执行成功,也就是说,节点添加任务不存在的原因可以是节点添加任务执行成功,也可以是节点添加任务被运行了,但是执行失败(即存在目标节点未被添加至目标节点集群)。因此,在一种可能的实现方式中,根据查询请求确定节点添加任务执行失败的方式可以是根据查询请求查询节点添加任务的运行状态,若运行状态表示节点添加任务不存在,则表示该节点添加任务已经被运行了。此时,需要进一步获取目标节点的安装状态,以确定目标节点是否全部安装完成。若根据安装状态确定目标节点未全部安装完成,确定节点添加任务执行失败。
在确定节点添加任务执行失败后,可以重新下发节点添加任务。此时,可以针对未安装完成的目标节点重新创建节点添加任务,并重新生成节点添加任务对应的配置文件和敏感信息,将重新创建的节点添加任务调度至内网节点,以通过内网节点执行重新创建的节点添加任务,完成所有目标节点的添加。
下面对不同的添加节点场景下,查询节点添加任务是否执行失败,并在节点添加任务执行失败时重新下发节点添加任务的方式进行介绍。
若目标节点集群由控制平面统一管理,且控制平面与目标节点位于不同的局域网,或目标节点集群为独立节点集群,且运行目标节点集群的接口的管理节点与目标节点位于不同的局域网。参见图6和图8所示,node-task-operator会周期的向目标节点集群的接口查询节点添加任务的运行状态,如果运行状态表示节点添加任务不存在,则会去请目标节点集群的接口,获取目标节点的安装状态,在目标节点没有全部安装完成时,会根据未完成安装的目标节点重新创建节点添加任务,并生成运行节点添加任务所需的配置文件和敏感信息,并下发重新创建的节点添加任务。
若目标节点集群由控制平面统一管理,且控制平面与目标节点位于同一局域网,即直连节点添加,参见图7所示。node-task-operator会周期的向控制平面的k8s集群的接口查询节点添加任务的运行状态,如果运行状态表示节点添加任务不存在,则会去请目标节点集群的接口,获取目标节点的安装状态,在目标节点没有全部安装完成时,会根据未完成安装的目标节点重新创建节点添加任务,并生成运行节点添加任务所需的配置文件和敏感信息,并下发重新创建的节点添加任务。
若目标节点集群为独立节点集群,且运行目标节点集群的接口的管理节点与目标节点位于同一局域网,即直连节点添加,参见图9所示。node-task-operator会周期的向目标节点集群的接口查询节点添加任务的运行状态,如果运行状态表示节点添加任务不存在,则会去请目标节点集群的接口,获取目标节点的安装状态,在目标节点没有全部安装完成时,会根据未完成安装的目标节点重新创建节点添加任务,并生成运行节点添加任务所需的配置文件和敏感信息,并下发重新创建的节点添加任务。
接下来,将结合实际应用场景对本申请实施例提供的集群节点添加方法进行介绍。用户希望将局域网内的目标节点添加至目标节点集群(例如k8s集群)中,而k8s集群的控制平面不能直接连接局域网内的目标节点,即控制平面与目标节点位于不同的局域网,在这种情况下,为了避免通过在局域网内搭建跳板机的方式完成节点添加,从而避免额外的机器资源消耗和运维工作量,可以通过本申请实施例提供的集群节点添加方法向k8s集群中添加目标节点。
参见图10,所述方法包括:
S1001、用户通过命令行工具向控制平面中k8s集群对应的接口发送节点添加请求。
节点添加请求用于请求创建nodes-task-crd,该nodes-task-crd用于写入节点添加任务的描述信息。
S1002、创建nodes-task-crd。
S1003、若节点任务操作器监听到nodes-task-crd创建之后,请求运行目标节点集群的接口的管理节点创建节点添加任务。
S1004、目标节点集群的接口的管理节点创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。
S1005、将节点添加任务调度至内网节点。
该内网节点与目标节点位于同一局域网,且该内网节点为目标节点集群中的节点。
S1006、通过该内网节点根据配置文件执行节点添加任务,在执行节点添加任务的过程中,根据敏感信息登录目标节点以添加目标节点至目标节点集群。
S1007、节点任务操作器周期的向目标节点集群的接口查询节点添加任务的运行状态。
S1008、若运行状态表示节点添加任务不存在,则会去请目标节点集群的接口,获取目标节点的安装状态。
S1009、根据安装状态确定目标节点是否全部安装完成,若是则结束,若否,则根据未完成安装的目标节点重新执行S1004。
也就是说,若根据安装状态确定目标节点没有全部安装完成时,根据未完成安装的目标节点重新创建节点添加任务,并生成运行节点添加任务所需的配置文件和敏感信息,并下发重新创建的节点添加任务,以便将全部目标节点添加至目标节点集群。
基于图5对应实施例提供的集群节点添加方法,本申请实施例还提供一种集群节点添加装置1100,参见图11,所述装置1100包括获取单元1101、生成单元1102、调度单元1103和添加单元1104:
所述获取单元1101,用于获取节点添加任务的描述信息;
所述生成单元1102,用于根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
所述调度单元1103,用于将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
所述添加单元1104,用于在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
在一种可能的实现方式中,所述目标节点集群由控制平面统一管理,所述描述信息是所述控制平面上运行的节点集群对应的接口响应于用户的节点添加请求创建的。
在一种可能的实现方式中,所述控制平面与所述目标节点位于不同的局域网,所述生成单元1102,用于:
在运行所述目标节点集群对应的接口的管理节点上创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息。
在一种可能的实现方式中,所述内网节点为所述目标节点集群中的工作节点。
在一种可能的实现方式中,若所述控制平面与所述目标节点位于同一局域网,所述生成单元1102,用于:
在所述描述信息所在的命名空间创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
相应的,所述内网节点为所述控制平面上运行的节点集群内的节点。
在一种可能的实现方式中,所述目标节点集群为独立节点集群,所述描述信息是所述目标节点集群对应的接口响应于用户的节点添加请求创建的。
在一种可能的实现方式中,所述生成单元1102,用于:
在运行所述目标节点集群对应的接口的管理节点上创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
或者,在所述描述信息所在的命名空间创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息。
在一种可能的实现方式中,所述内网节点为所述目标节点集群中的工作节点,或者为运行所述目标节点集群对应的接口的管理节点。
在一种可能的实现方式中,所述获取单元1101还用于:
获取所述节点添加任务的查询请求;
所述装置还包括下发单元,所述下发单元用于:
若根据所述查询请求确定所述节点添加任务执行失败,重新下发节点添加任务。
在一种可能的实现方式中,所述下发单元具体用于:
根据所述查询请求查询所述节点添加任务的运行状态;
若所述运行状态表示所述节点添加任务不存在,获取所述目标节点的安装状态;
若根据所述安装状态确定所述目标节点未全部安装完成,确定所述节点添加任务执行失败。
在一种可能的实现方式中,所述下发单元具体用于:
针对未安装完成的目标节点重新创建节点添加任务,并重新生成节点添加任务对应的配置文件和敏感信息;
将重新创建的节点添加任务调度至所述内网节点。
由上述技术方案可以看出,本申请在需要向节点集群添加节点时,可以获取节点添加任务的描述信息,以便根据描述信息创建节点添加任务,并生成节点添加任务对应的配置文件和敏感信息。将节点添加任务调度至内网节点上,以通过内网节点根据配置文件执行节点添加任务。由于内网节点与待添加的目标节点位于同一局域网,因此在执行节点添加任务的过程中,可以直接根据敏感信息登录目标节点以添加目标节点至目标节点集群。本申请通过任务调度的方式实现了通过内网节点,将内网节点所在的局域网内的其它节点(目标节点)添加到目标节点集群中。尤其在目标节点集群的控制平面不能直接连接局域网内的节点(即控制平面与目标节点不在同一局域网)场景下,本申请中的内网节点起到了相关技术中跳板机的作用,但是与相关技术相比,本申请利用的是已存在的节点尤其是目标节点集群中的节点,无需额外搭建跳板机,从而避免额外的机器资源消耗和运维工作量,提高了节点添加效率。
本申请实施例还提供了一种用于集群节点添加的电子设备,该电子设备可以是终端,以终端为智能手机为例:
图12示出的是与本申请实施例提供的终端相关的智能手机的部分结构的框图。参考图12,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1210、存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1270、处理器1280、以及电源1290等部件。输入单元1230可包括触控面板1231以及其他输入设备1232,显示单元1240可包括显示面板1241,音频电路1260可以包括扬声器1261和传声器1262。本领域技术人员可以理解,图12中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1280是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器1280可包括一个或多个处理单元;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
在本实施例中,所述终端中的处理器1280可以执行以下步骤:
获取节点添加任务的描述信息;
根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
该电子设备还可以包括服务器,本申请实施例还提供服务器,请参见图13所示,图13为本申请实施例提供的服务器1300的结构图,服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本实施例中,所述服务器1300中的中央处理器1322可以执行以下步骤:
获取节点添加任务的描述信息;
根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的集群节点添加方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种集群节点添加方法,其特征在于,所述方法包括:
获取节点添加任务的描述信息;
根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
2.根据权利要求1所述的方法,其特征在于,所述目标节点集群由控制平面统一管理,所述描述信息是所述控制平面上运行的节点集群对应的接口响应于用户的节点添加请求创建的。
3.根据权利要求2所述的方法,其特征在于,若所述控制平面与所述目标节点位于不同的局域网,所述根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息,包括:
在运行所述目标节点集群对应的接口的管理节点上创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息。
4.根据权利要求3所述的方法,其特征在于,所述内网节点为所述目标节点集群中的工作节点。
5.根据权利要求2所述的方法,其特征在于,若所述控制平面与所述目标节点位于同一局域网,所述根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息,包括:
在所述描述信息所在的命名空间创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
相应的,所述内网节点为所述控制平面上运行的节点集群内的节点。
6.根据权利要求1所述的方法,其特征在于,所述目标节点集群为独立节点集群,所述描述信息是所述目标节点集群对应的接口响应于用户的节点添加请求创建的。
7.根据权利要求6所述的方法,其特征在于,所述根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息,包括:
在运行所述目标节点集群对应的接口的管理节点上创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
或者,在所述描述信息所在的命名空间创建所述节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息。
8.根据权利要求6所述的方法,其特征在于,所述内网节点为所述目标节点集群中的工作节点,或者为运行所述目标节点集群对应的接口的管理节点。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
获取所述节点添加任务的查询请求;
若根据所述查询请求确定所述节点添加任务执行失败,重新下发节点添加任务。
10.根据权利要求9所述的方法,其特征在于,所述根据所述查询请求确定所述节点添加任务执行失败,包括:
根据所述查询请求查询所述节点添加任务的运行状态;
若所述运行状态表示所述节点添加任务不存在,获取所述目标节点的安装状态;
若根据所述安装状态确定所述目标节点未全部安装完成,确定所述节点添加任务执行失败。
11.根据权利要求10所述的方法,其特征在于,所述重新下发节点添加任务,包括:
针对未安装完成的目标节点重新创建节点添加任务,并重新生成节点添加任务对应的配置文件和敏感信息;
将重新创建的节点添加任务调度至所述内网节点。
12.一种集群节点添加装置,其特征在于,所述装置包括获取单元、生成单元、调度单元和添加单元:
所述获取单元,用于获取节点添加任务的描述信息;
所述生成单元,用于根据所述描述信息创建节点添加任务,并生成所述节点添加任务对应的配置文件和敏感信息;
所述调度单元,用于将所述节点添加任务调度至内网节点上,以通过所述内网节点根据所述配置文件执行所述节点添加任务,所述内网节点与待添加的所述目标节点位于同一局域网;
所述添加单元,用于在执行所述节点添加任务的过程中,根据所述敏感信息登录目标节点以添加所述目标节点至目标节点集群。
13.根据权利要求12所述的装置,其特征在于,所述目标节点集群由控制平面统一管理,所述描述信息是所述控制平面上运行的节点集群对应的接口响应于用户的节点添加请求创建的。
14.一种用于集群节点添加的电子设备,其特征在于,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110560306.2A CN115373809A (zh) | 2021-05-21 | 2021-05-21 | 一种集群节点添加方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110560306.2A CN115373809A (zh) | 2021-05-21 | 2021-05-21 | 一种集群节点添加方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373809A true CN115373809A (zh) | 2022-11-22 |
Family
ID=84059766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110560306.2A Pending CN115373809A (zh) | 2021-05-21 | 2021-05-21 | 一种集群节点添加方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373809A (zh) |
-
2021
- 2021-05-21 CN CN202110560306.2A patent/CN115373809A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992535B2 (en) | Hybrid cloud integration fabric and ontology for integration of data, applications, and information technology infrastructure | |
EP3606008B1 (en) | Method and device for realizing resource scheduling | |
CN102427481B (zh) | 用于对云计算服务进行管理的系统及云计算管理方法 | |
US10324754B2 (en) | Managing virtual machine patterns | |
EP3447965B1 (en) | Network function instance management method and relevant device | |
CN111930521A (zh) | 用于部署应用的方法、装置、电子设备及可读存储介质 | |
US20130262923A1 (en) | Efficient application management in a cloud with failures | |
US9710292B2 (en) | Allowing management of a virtual machine by multiple cloud providers | |
CN110784515B (zh) | 基于分布式集群的数据存储方法、及其相关设备 | |
US11108871B2 (en) | Dynamic generation of network routing configuration with service requirements | |
US10154091B1 (en) | Deploying infrastructure units according to resource hosting constraints | |
CN104579792A (zh) | 多适配方式实现多种类型虚拟资源集中管理架构及方法 | |
Malviya et al. | A comparative analysis of container orchestration tools in cloud computing | |
CN103414579A (zh) | 一种适用于云计算的跨平台监控系统及其监控方法 | |
CN102882908A (zh) | 云计算管理系统及云计算管理方法 | |
Gogouvitis et al. | Seamless computing in industrial systems using container orchestration | |
US9760441B2 (en) | Restoration of consistent regions within a streaming environment | |
US8543680B2 (en) | Migrating device management between object managers | |
CN103118073A (zh) | 一种云环境下虚拟机数据持久化存储系统和方法 | |
CN108009010B (zh) | 瘦客户端的管理装置、系统、方法、电子设备、存储介质 | |
CN102662745B (zh) | 一种虚拟机管理系统与方法 | |
CN111124437A (zh) | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 | |
CN114579250A (zh) | 一种构建虚拟集群的方法、装置及存储介质 | |
CN111459510A (zh) | 跨网络操作系统的安装方法、装置、电子设备及介质 | |
Abase et al. | Locality sim: cloud simulator with data locality |
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 |