CN115834705B - 认证服务分配方法、节点集群及计算机可读存储介质 - Google Patents
认证服务分配方法、节点集群及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115834705B CN115834705B CN202211399838.3A CN202211399838A CN115834705B CN 115834705 B CN115834705 B CN 115834705B CN 202211399838 A CN202211399838 A CN 202211399838A CN 115834705 B CN115834705 B CN 115834705B
- Authority
- CN
- China
- Prior art keywords
- authentication service
- authentication
- node
- service
- pod
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013507 mapping Methods 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims description 21
- 230000036541 health Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000725 suspension Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 21
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 101100501245 Pythium oligandrum POD-1 gene Proteins 0.000 description 2
- 102100033121 Transcription factor 21 Human genes 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明的实施例提供了一种认证服务分配方法、节点集群及计算机可读存储介质,通过将认证服务部署在节点集群中的工作节点,并且利用地址映射列表维护每个认证服务与对应的的访问地址之间的映射关系。从而使得主节点在接收到认证请求时,根据地址映射列表,确定出目标认证服务及其访问地址,然后根据目标认证服务的访问地址,将认证请求发送至目标认证服务。将认证服务部署在工作节点上再利用代理POD对认证服务进行管理,能够避免POD加域这一冗余操作带来的POD臃肿,同时提供了高可用的接入认证功能。同时还避免了在节点集群内部对认证请求处理时需要经过POD处理这一过程,节省了集群资源并简化了处理过程。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种认证服务分配方法、节点集群及计算机可读存储介质。
背景技术
随着云计算技术的快速发展,容器技术逐步成为业界的发展热点,各主流云计算平台(也可以称为云容器平台)均提供容器服务。Kubernetes(简称K8s)是一个容器集群管理系统,是用于自动部署、扩展和管理容器化应用程序的开源系统,能够对集群内容器的生命周期进行管理,结合自身的健康检查及错误恢复机制,实现集群内部应用的高可用性。
将服务产品部署到Kubernetes节点集群中,能够为用户提供高可用的服务。现有技术中,采取容器化的方法,在集群中将认证服务以容器的方式部署在节点的POD组件内,并且集群中的主节点维护了地址映射表,该地址映射表包括了每个节点中部署有认证服务的POD组件的访问地址,基于该地址映射表实现负载均衡。
如此,在实现接入认证功能的过程中,主节点在接收到认证请求后,需要从多个节点中选出一个节点,然后查找地址映射表确定该节点中部署有认证服务的POD组件的访问地址,然后基于该访问地址将认证请求发给对应的POD组件。由于该POD组件内除了Freeradius服务,还可能部署有其他的容器,所以POD组件需要将认证请求转给其中的Freeradius服务。因此,现有技术中在集群内部对认证请求的处理过程比较繁琐,耗费资源和时间。
发明内容
本发明的目的在于提供一种认证服务分配方法、节点集群及计算机可读存储介质,以改善现有技术存在的问题。
本发明的实施例可以这样实现:
第一方面,本发明提供一种认证服务分配方法,应用于节点集群,所述节点集群包括主节点以及与所述主节点通信连接的至少一个工作节点;每个所述工作节点中均部署有认证服务,所述方法包括:
当接收到认证请求时,所述主节点根据地址映射列表,确定目标认证服务的访问地址;所述地址映射列表维护每个所述认证服务与对应的访问地址之间的映射关系;所述目标认证服务为任一所述认证服务;
所述主节点根据所述目标认证服务的访问地址,将所述认证请求发送至所述目标认证服务。
在可选的实施方式中,所述方法还包括:
所述目标认证服务将所述认证请求与至少一个认证服务器进行匹配,确定目标认证服务器;每个所述认证服务器均与所述目标认证服务所在的目标节点通信连接;
所述目标认证服务将所述认证请求发送至所述目标认证服务器。
在可选的实施方式中,在所述主节点接收到认证请求的步骤之前,还包括:
所述目标节点获得与其通信连接的认证服务器对应的认证匹配规则;
所述目标认证服务将所述认证请求与至少一个认证服务器进行匹配的步骤,包括:
所述目标认证服务调用所述认证匹配规则,将所述认证请求与所述认证服务器进行匹配。
在可选的实施方式中,在所述主节点确定目标节点的步骤之前,还包括:
所述主节点向至少一个所述工作节点发送部署指令;
所述工作节点根据所述部署指令,部署所述认证服务;
所述工作节点基于部署配置文件生成代理POD,所述代理POD与所述认证服务对应;
所述工作节点配置所述认证服务的访问地址;
所述工作节点将所述认证服务对应的访问地址信息存储至所述节点集群的配置数据库,所述访问地址信息包括所述代理POD的身份标识、所述认证服务的访问地址之间的映射关系。
在可选的实施方式中,在所述工作节点将所述认证服务对应的访问地址信息存储至配置数据库的步骤之后,所述方法还包括:
所述主节点根据所述配置数据库中每个认证服务对应的访问地址,建立所述地址映射列表,所述地址映射列表包含认证服务标识与对应的访问地址。
在可选的实施方式中,在所述工作节点将所述认证服务对应的访问地址信息存储至配置数据库的步骤之后,还包括:
所述工作节点的所述代理POD通过对应所述认证服务的服务启动接口,配置所述认证服务处于业务处理状态。
在可选的实施方式中,所述方法还包括:
针对每个所述工作节点,所述主节点每隔预设周期向所述工作节点中的代理POD发送状态检测请求;
所述工作节点的代理POD通过所述认证服务的健康检测接口将所述状态检测请求发送至对应的认证服务;
若所述主节点未在设定时长内接收到所述认证服务通过所述代理POD返回的反馈信息,则所述主节点判定所述认证服务处于异常状态并下发挂机重启指令至所述工作节点的代理POD;
所述工作节点的代理POD通过所述认证服务的停止服务接口,配置所述认证服务处于业务暂停状态;
所述工作节点删除所述代理POD并删除所述认证服务的访问地址信息,以使所述主节点删除所述地址映射列表中所述认证服务的访问地址;
所述节点集群重新配置所述认证服务。
在可选的实施方式中,所述节点集群重新配置所述认证服务的步骤包括:
所述工作节点基于部署配置文件重新生成新代理POD;所述新代理POD与所述认证服务对应;
所述工作节点将所述认证服务的新访问地址信息存储至所述节点集群的配置数据库;所述新访问地址信息包括所述新代理POD的身份标识、所述认证服务的访问地址之间的映射关系;
所述主节点获取所述新访问地址信息,并将所述认证服务的访问地址更新至所述地址映射列表。
第二方面,本发明提供一种节点集群,所述节点集群包括主节点以及与所述主节点通信连接的至少一个工作节点,每个所述工作节点中均部署有认证服务;所述主节点用于:
当接收到认证请求时,根据地址映射列表,确定目标认证服务的访问地址;所述地址映射列表维护每个所述认证服务与对应的访问地址之间的映射关系;所述目标认证服务为任一所述认证服务;
根据所述目标认证服务的访问地址,将所述认证请求发送至所述目标认证服务。
第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述实施方式中任一项所述的认证服务分配方法。
与现有技术相比,本发明实施例提供了一种认证服务分配方法、节点集群及计算机可读存储介质,在节点集群中,将认证服务部署在节点集群中的工作节点,并且利用地址映射列表维护每个认证服务与对应的访问地址之间的映射关系。从而使得主节点在接收到认证请求时,根据地址映射列表,确定出目标认证服务及其访问地址,然后可以直接根据目标认证服务的访问地址,将认证请求发送至目标认证服务。这样避免了在节点集群内部对认证请求处理时需要经过POD处理这一过程,节省了集群资源并简化了处理过程。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术的一种应用场景示意图。
图2为本发明实施例提供的一种应用场景示意图。
图3为本发明实施例提供的一种认证服务分配方法的流程示意图之一。
图4为本发明实施例提供的一种认证服务分配方法的流程示意图之二。
图5为本发明实施例提供的一种认证服务分配方法的流程示意图之三。
图6为本发明实施例提供的一种认证服务分配方法的流程示意图之四。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
在此,首先对本发明涉及的关键词或者关键术语进行介绍:
1、Kubernetes(简称K8s),是一个开源的,用于管理云平台中多个主机上的容器化的应用。
2、POD:POD是K8s集群中的基本调度单元,也是能够创建和部署的最小单元,一个POD可以部署在一个节点上,一个POD内可以承载一个或者多个相关的容器。
3、Freeradius:功能强大、开源的Radius服务器。
4、EndPoint:EndPoint是K8s集群中一个资源对象,也可以称为端点,存储在etcd(K8s中部署的一种分布式键值对储系统)里面,EndPoint用来记录一个Service对应的所有POD的访问地址。
5、AD域:AD是Active Directory的缩写,即活动目录。活动目录可以存储一个域的域资源,实现域资源的集中管理、统一管理。在一个域中,域控制器(Domain Controller,简称DC)是安装了活动目录的计算机设备或者服务器设备,可以用于实现对该域中的其他成员进行管理。
现有技术中,采取容器化的方法,在K8s集群中将Freeradius服务以容器的方式部署在节点的POD组件内,并且K8s集群中的主节点维护了地址映射表,该地址映射表包括了每个节点中部署有Freeradius服务的POD组件的访问地址,基于该地址映射表实现负载均衡。
一方面来说,为了使Freeradius服务能够正常地为用户提供服务,对于每个部署有Freeradius服务的POD所在的节点,该POD必须加入AD域,这需要进行两次加域操作,一次是节点加域,一次是节点内部署有Freeradius服务的POD加域。
请参见图1,图1为现有技术的一种应用场景示意图。在此以图1中的节点1为例,对两次加域进行简单介绍:
节点1需要加入AD域只需用户在加域界面进行相应配置即可。而节点1中的POD-1需要加入AD域,不只需要用户手动配置,还必须要在POD-1内安装大量的依赖包才能实现加域。
在POD内安装大量的依赖包会导致POD臃肿,这违背了容器小而精的宗旨。并且,在集群内,大量的节点加域以及节点内的POD加域需要用户重复地进行配置操作,非常耗时费力。
另一方面,在实现接入认证功能的过程中,K8s集群中的主节点在接收到认证请求后,需要从多个工作节点中选出一个节点,然后查找地址映射表确定该节点中部署有Freeradius服务的POD的访问地址,然后基于该访问地址将认证请求发给对应的POD。由于该POD内除了Freeradius服务,还可能部署有其他的容器(Container),所以POD上设置了Freeradius服务侦听的端口,POD收到包括该端口的认证请求就转给其中的Freeradius服务。但是,现有技术中在集群内部对Freeradius服务请求的处理过程中必须经过POD,过程比较繁琐,耗费资源和时间。
基于上述技术问题的发现,发明人经过创造性劳动提出下述技术方案以解决或者改善上述问题。需要注意的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明创造过程中对本申请做出的贡献,而不应当理解为本领域技术人员所公知的技术内容。
以下通过实施例,并配合所附附图,对本发明实施例提供的认证服务分配方法进行详细说明。
在此,先对本发明实施例的应用场景进行介绍,请参见图2,图2为本发明实施例提供的一种应用场景示意图。节点集群可以包括主节点,以及多个与主节点通信连接的工作节点,每个工作节点内均部署了认证服务。
在每个工作节点内,由代理POD对认证服务进行管理,工作节点还可以部署有其他POD。其中,Kubelet可以负责维护每个POD(包括代理POD)的生命周期;Kube proxy负责所有POD的网络代理,可以它会定时从节点集群的配置数据库(etcd)获取到service信息来做相应的策略,维护网络规则和四层负载均衡工作。
每个工作节点都加入了至少一个认证服务器对应的AD域,图2所示仅有一个认证服务器仅为示例。
主节点上运行有Kubernetes Service组件,该Kubernetes Service组件维护地址映射列表,该地址映射列表包括了每个认证服务的访问地址。
需要说明的是,认证服务即可以为Freeradius服务,节点集群可以是Kubernetes集群。主节点和工作节点均可以是但不限于物理设备(例如物理服务器、物理主机等)、虚拟机。
图2所示的节点集群的结构仅为示意,在节点集群中,主节点以及各个工作节点还可以包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
请参考图3,图3为本发明实施例提供的一种认证服务分配方法的流程示意图,该方法的执行主体为上述的节点集群,该节点集群包括主节点以及与主节点通信连接的至少一个工作节点,且每个工作节点中均部署有认证服务。该方法包括以下步骤S210~S230:
S220、当接收到认证请求时,主节点根据地址映射列表,确定目标认证服务的访问地址。
在本实施例中,地址映射列表中可以包括每个认证服务及其访问地址,目标认证服务为任意一个认证服务,目标认证服务所在的工作节点即为目标节点。基于地址映射列表,主节点可以基于预设的负载均衡算法从全部认证服务中确定出目标认证服务,进而得到目标认证服务的访问地址。其中,预设的负载均衡算法可以是但不限于:完全随机法、加权随机法、完全轮询法、加权轮询法、平滑加权轮询算法、哈希法等等。
在一种可能的实现方式中,主节点上可以运行Kubernetes Service组件,该Kubernetes Service组件可以维护地址映射列表,该地址映射列表可以维护每个认证服务与对应的访问地址之间的映射关系。
S230、主节点根据目标认证服务的访问地址,将认证请求发送至目标认证服务。
可以理解,主节点从地址映射列表获取到目标认证服务的访问地址,能够直接基于该访问地址将认证请求发送给目标认证服务。
本发明实施例提供的认证服务分配方法,直接将认证服务部署在节点集群中的工作节点,并且利用地址映射列表维护每个认证服务与对应的访问地址之间的映射关系,从而使得主节点在接收到认证请求时,根据地址映射列表,确定出目标认证服务及其访问地址,然后可以直接根据目标认证服务的访问地址,将认证请求发送至目标认证服务。这样避免了在节点集群内部对认证请求处理时需要经过POD处理这一过程,节省了集群资源并简化了处理过程。
在此,先对本发明实施例中工作节点加域的过程进行介绍。
在可选的实施方式中,每个工作节点均可以与至少一个认证服务器通信连接,对于任意一个工作节点,其加入一个认证服务器对应AD域的过程可以如下:
(1)响应用户的入域配置操作生成入域指令,该入域指令可以包括认证服务器对应AD域的域名;
(2)根据入域指令,生成入域请求并将入域请求发送至AD域服务器,该入域请求可以包括该工作节点自身的主机名;
(3)当在预定时间收到认证服务器返回的入域确认信息,则说明该工作节点成功加入认证服务器对应的AD域。
在本实施例中,由于认证服务是直接部署在工作节点内,而非部署在POD内,所以只需要工作节点进行加域处理,避免了POD加域导致的导致POD臃肿,同时也省去了POD加域时的人工配置工作,节约了人力。
可以理解,只有工作节点加入了至少一个认证服务器对应的AD域时,该工作节点中的认证服务才能够提供接入认证功能。
相应地,目标认证服务接收到认证请求之后,还需要转发给认证服务器进行认证处理,请参见图4,上述认证服务分配方法还包括S240~S250:
S240、目标认证服务将认证请求与至少一个认证服务器进行匹配,确定目标认证服务器。
在本实施例中,每个认证服务器均与目标认证服务所在的目标节点通信连接,且目标节点加入了每个认证服务器对应的AD域。
可以理解,对于与一个工作节点通信连接的每个认证服务器,配置人员可以在工作节点上配置每个认证服务器对应的认证匹配条件。以目标节点为例,其获得与其通信连接的认证服务器对应的认证匹配规则的过程可以是:
针对每个认证服务器,响应于认证匹配操作,生成该认证服务器对应的认证匹配规则。
其中,认证匹配规则可以包括认证匹配条件以及该认证服务器对应AD域的域名。在可选的示例中,认证匹配条件可以是正则表达式,可以用于对认证请求的内容进行匹配。
如此,目标节点即得到了与其通信连接的每个认证服务器对应的认证匹配规则,对应地,步骤S230中目标认证服务将认证请求与至少一个认证服务器进行匹配的过程可以包括:
S241、目标认证服务调用认证匹配规则,将认证请求与认证服务器进行匹配。
可以理解,目标认证服务可以逐个调用每个认证匹配规则与认证请求进行匹配,并将与认证请求相匹配的认证匹配规则对应的认证服务器作为目标认证服务器。其中,与认证请求相匹配的认证匹配规则中即包括了目标认证服务器对应AD域的域名。
S250、目标认证服务将认证请求发送至目标认证服务器进行认证处理。
可以理解,当用户存在访问某些网络资源时,可以通过终端设备上的Radius客户端输入用户信息(例如用户名、密码等),Radius客户端会将该用户信息发送给交换机、路由器或者网关等网络设备。当网络设备接收到用户信息就会生成对应的认证请求,认证请求可以包括用户名、密码、终端设备的MAC地址以及终端设备的其他相关信息等。该认证请求用于获得认证服务器的授权,当认证通过,用户即可访问授权范围内的网络资源。
需要说明的是,主节点可以为K8s集群中的Master节点,其作为集群控制节点负责整个节点集群的管理和控制。或者,主节点可以为节点集群中的任意一个工作节点,其除了作为工作节点需要接收相应的业务负载之外,还额外基于地址映射列表负责分配针对认证服务的一些请求。
接下来,对节点集群中工作节点中部署认证服务的过程进行介绍。
可以理解,配置人员可以在主节点上进行配置,批量设置节点集群中的工作节点部署认证服务。请参见图5,对应地,节点集群中部署认证服务的过程包括以下步骤S110~S160。
S110、主节点向至少一个工作节点发送部署指令。
可以理解,部署指令可以是主节点响应于配置人员的服务部署操作生成的,该服务部署操作可以用于指定需要部署认证服务的每个工作节点的IP或者主机名。
S120、工作节点根据部署指令,部署认证服务,并基于部署配置文件生成代理POD。
在本实施例中,部署配置文件可以是deploy.yaml文件。认证服务提供了健康检测接口、服务停止接口、以及服务启动接口三大接口。对应地,部署配置文件规定了代理POD对应的状态检测接口、服务停止接口、服务启动接口。
相应地,基于部署配置文件,可以将代理POD对应的状态检测接口、服务停止接口、服务启动接口分别与认证服务提供的健康检测接口、服务停止接口、以及服务启动接口之间进行一一对接绑定,从而使得代理POD与认证服务之间对应连接起来,以使代理POD能够对认证服务进行管理。
S130、工作节点配置认证服务的访问地址;
工作节点可以为认证服务配置对应的端口和IP地址,认证服务的访问地址可以为其IP地址。
S140、工作节点认证服务对应的访问地址信息存储至节点集群的配置数据库。
配置数据库(etcd)是一个分布式的、可靠的key-value(键值对)存储系统,它用于存储分布式系统中的关键数据。在可选的示例中,配置数据库可以运行于主节点中或者由至少一个工作节点共同支撑运行。
在配置数据库中的EndPoints即可以包括节点集群中每个认证服务的访问地址信息,该访问地址信息包括代理POD的身份标识、认证服务的访问地址之间的映射关系。
S150、主节点根据配置数据库中每个认证服务对应的访问地址,建立地址映射列表。
在本实施例中,主节点可以先基于服务配置文件创建Kubernetes Service组件,并为该Kubernetes Service组件分配一个访问地址,该Kubernetes Service组件的访问地址可以是节点集群中所有认证服务的虚拟IP地址,该虚拟IP地址是从集群外部访问集群内部认证服务的统一访问入口。然后Kubernetes Service组件可以获取配置数据库中每个认证服务对应的访问地址,来建立地址映射列表。在可选的示例中,服务配置文件可以是service.yaml文件。
现有技术,地址映射列表中包括的是部署有认证服务的POD的地址信息及其关联信息。区别于现有技术,在本实施例中,地址映射列表可以包含每个工作节点的节点标识与对应的认证服务的访问地址之间的映射关系。
S160、工作节点的代理POD通过对应认证服务的服务启动接口,配置认证服务处于业务处理状态。
在节点集群中,每个代理POD用于对其对应的认证服务进行管理,即认证服务要进行业务处理状态(能够提供接入认证功能),需要代理POD调用对应认证服务的服务启动接口来实现。
需要说明的是,上述步骤S110~S160均是在上述步骤S210之前执行。
在可选的实施方式中,在节点集群中,还可以定期对每个工作节点中的认证服务进行健康检测,以保证提供服务的可持续性。同样的,以主节点与节点集群中的Master节点为同一节点为例,请参见图6,在节点集群中,对认证服务进行健康检测的过程包括以下步骤S310~S360。
S310、针对每个工作节点,主节点每隔预设周期向工作节点中的代理POD发送状态检测请求。
S320、工作节点的代理POD通过认证服务的健康检测接口将状态检测请求发送至对应的认证服务。
代理POD在接收到状态检测请求时,可以调用认证服务的健康检测接口,以使认证服务进入健康检测状态,然后代理POD将状态检测请求发送给认证服务。
S330、若主节点未在设定时长内接收到认证服务通过代理POD返回的反馈信息,则主节点判定认证服务处于异常状态并下发挂机重启指令至工作节点的代理POD。
可以理解,认证服务接收到状态检测请求后,若是认证服务是处于正常的业务处理状态,认证服务会通过代理POD向主节点返回反馈信息。因此,若是主节点在设定时长内未接收到认证服务通过代理POD返回的反馈信息,则说明认证服务处于异常状态,无法提供服务,需要重新配置该认证服务。
S340、工作节点的代理POD通过认证服务的停止服务接口,配置认证服务处于业务暂停状态。
S350、工作节点删除代理POD并删除配置数据库中认证服务的访问地址信息,以使主节点删除地址映射列表中认证服务的访问地址。
当代理POD收到主节点下发的挂机重启指令时,会先调用认证服务的停止服务接口,使得认证服务进入业务暂停状态并释放其占用的资源。然后工作节点会删除该代理POD以及配置数据库中存储的认证服务的访问地址信息,从而主节点会删除地址映射列表中该认证服务的访问地址,以保证主节点不会将访问认证服务的流量负载分配到该工作节点。
S360、节点集群重新配置认证服务。
可以理解,在工作节点中,需要重新生成新代理POD对认证服务进行管理,S360的子步骤可以包括:
S361、工作节点基于部署配置文件重新生成新代理POD;
可以理解,基于部署配置文件,可以将新代理POD对应的状态检测接口、服务停止接口、服务启动接口分别与认证服务提供的健康检测接口、服务停止接口、以及服务启动接口之间进行一一对接绑定,从而使得新代理POD与认证服务之间对应连接起来,以使新代理POD能够对认证服务进行管理。
S362、工作节点将认证服务的新访问地址信息存储至节点集群的配置数据库。
在本实施例中,认证服务的新访问地址信息可以包括新代理POD的身份标识、认证服务的访问地址之间的映射关系。
S364、主节点获取新访问地址信息,并将认证服务的访问地址更新至地址映射列表。
主节点将认证服务的访问地址更新至地址映射列表,使得认证服务能够接收主节点分配的流量负载。新代理POD可以调用对应认证服务的服务启动接口,使得认证服务重新进入业务处理状态。
需要说明的是,上述方法实施例中各个步骤的执行顺序不以附图所示为限制,各步骤的执行顺序以实际应用情况为准。
与现有技术相比,本发明实施例具有以下有益效果:
(1)将认证服务部署在工作节点上,然后利用代理POD对认证服务进行管理,这样能够避免POD加域这一冗余操作带来的POD臃肿,同时提供了高可用的接入认证功能,符合K8S下的集群架构规范,并且能够一定程度上减少开发阶段和运维阶段的成本;
(2)在实现接入认证功能的过程中,避免了在节点集群内部对认证请求处理时需要经过POD处理这一过程,节省了集群资源并简化了处理过程。
基于上述的认证服务分配方法,本发明实施例还提供一种节点集群,结合图2,该节点集群包括主节点以及与主节点通信连接的至少一个工作节点,每个工作节点中均部署有认证服务。
主节点用于:当接收到认证请求时,根据地址映射列表,确定目标认证服务的访问地址;地址映射列表维护每个认证服务与对应的访问地址之间的映射关系;根据目标认证服务的访问地址,将认证请求发送至目标认证服务。
在可选的实施方式中,目标认证服务可以用于:将认证请求与至少一个认证服务器进行匹配,确定目标认证服务器,每个认证服务器均与目标认证服务所在的目标节点通信连接;将认证请求发送至目标认证服务器进行认证处理。
需要说明的是,上述节点集群用于执行前述实施例提供的认证服务分配方法,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时实现上述实施例揭示的认证服务分配方法。该计算机可读存储介质可以是但不限于:U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、FLASH磁碟或者光盘等各种可以存储程序代码的介质。
综上,本发明实施例提供了一种认证服务分配方法、节点集群及计算机可读存储介质,在节点集群中,将认证服务部署在节点集群中的工作节点,并且利用地址映射列表维护每个认证服务与对应的访问地址之间的映射关系。从而使得主节点在接收到认证请求时,根据地址映射列表,确定出目标认证服务及其访问地址,然后可以直接根据目标认证服务的访问地址,将认证请求发送至目标认证服务。这样避免了在节点集群内部对认证请求处理时需要经过POD处理这一过程,节省了集群资源并简化了处理过程。同时,由于将认证服务部署在工作节点上,然后利用代理POD对认证服务进行管理,这样能够避免POD加域这一冗余操作带来的POD臃肿,同时提供了高可用的接入认证功能,符合K8S下的集群架构规范,并且能够一定程度上减少开发阶段和运维阶段的成本。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种认证服务分配方法,其特征在于,应用于节点集群,所述节点集群包括主节点以及与所述主节点通信连接的至少一个工作节点;所述方法包括:
所述主节点向所述至少一个工作节点发送部署指令;
所述工作节点根据所述部署指令,部署认证服务;
所述工作节点基于部署配置文件生成代理POD;所述代理POD与部署的认证服务对应,用于对认证服务进行管理;
所述工作节点配置所述认证服务的访问地址;
所述工作节点将所述认证服务对应的访问地址信息存储至所述节点集群的配置数据库,所述访问地址信息包括所述代理POD的身份标识与所述认证服务的访问地址之间的映射关系;
所述主节点根据所述配置数据库中每个认证服务对应的访问地址,建立地址映射列表;所述地址映射列表维护每个所述认证服务与对应的访问地址之间的映射关系;
所述工作节点的代理POD通过对应所述认证服务的服务启动接口,配置所述认证服务处于业务处理状态;
当接收到认证请求时,所述主节点根据所述地址映射列表,确定目标认证服务的访问地址;所述目标认证服务为任一所述认证服务;
所述主节点根据所述目标认证服务的访问地址,将所述认证请求发送至所述目标认证服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述目标认证服务将所述认证请求与至少一个认证服务器进行匹配,确定目标认证服务器;每个所述认证服务器均与所述目标认证服务所在的目标节点通信连接;
所述目标认证服务将所述认证请求发送至所述目标认证服务器。
3.根据权利要求2所述的方法,其特征在于,在所述主节点接收到认证请求的步骤之前,所述方法还包括:
所述目标节点获得与其通信连接的认证服务器对应的认证匹配规则;
所述目标认证服务将所述认证请求与至少一个认证服务器进行匹配的步骤,包括:
所述目标认证服务调用所述认证匹配规则,将所述认证请求与所述认证服务器进行匹配。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对每个所述工作节点,所述主节点每隔预设周期向所述工作节点中的代理POD发送状态检测请求;
所述工作节点的代理POD通过所述认证服务的健康检测接口将所述状态检测请求发送至对应的认证服务;
若所述主节点未在设定时长内接收到所述认证服务通过所述代理POD返回的反馈信息,则所述主节点判定所述认证服务处于异常状态并下发挂机重启指令至所述工作节点的代理POD;
所述工作节点的代理POD通过所述认证服务的停止服务接口,配置所述认证服务处于业务暂停状态;
所述工作节点删除所述代理POD并删除所述认证服务的访问地址信息,以使所述主节点删除所述地址映射列表中所述认证服务的访问地址;
所述节点集群重新配置所述认证服务。
5.根据权利要求4所述的方法,其特征在于,所述节点集群重新配置所述认证服务的步骤包括:
所述工作节点基于部署配置文件重新生成新代理POD;所述新代理POD与所述认证服务对应;
所述工作节点将所述认证服务的新访问地址信息存储至所述节点集群的配置数据库;所述新访问地址信息包括所述新代理POD的身份标识、所述认证服务的访问地址之间的映射关系;
所述主节点获取所述新访问地址信息,并将所述认证服务的访问地址更新至所述地址映射列表。
6.一种节点集群,其特征在于,所述节点集群包括主节点以及与所述主节点通信连接的至少一个工作节点;
所述主节点用于向所述至少一个工作节点发送部署指令;
所述工作节点用于根据所述部署指令,部署认证服务;
所述工作节点还用于基于部署配置文件生成代理POD;所述代理POD与部署的认证服务对应,用于对认证服务进行管理;
所述工作节点还用于配置所述认证服务的访问地址;
所述工作节点还用于将所述认证服务对应的访问地址信息存储至所述节点集群的配置数据库,所述访问地址信息包括所述代理POD的身份标识与所述认证服务的访问地址之间的映射关系;
所述主节点还用于根据所述配置数据库中每个认证服务对应的访问地址,建立地址映射列表,所述地址映射列表维护每个所述认证服务与对应的访问地址之间的映射关系;
所述工作节点的代理POD用于通过对应所述认证服务的服务启动接口,配置所述认证服务处于业务处理状态;
所述主节点用于:当接收到认证请求时,根据所述地址映射列表,确定目标认证服务的访问地址;所述目标认证服务为任一所述认证服务;根据所述目标认证服务的访问地址,将所述认证请求发送至所述目标认证服务。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的认证服务分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211399838.3A CN115834705B (zh) | 2022-11-09 | 2022-11-09 | 认证服务分配方法、节点集群及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211399838.3A CN115834705B (zh) | 2022-11-09 | 2022-11-09 | 认证服务分配方法、节点集群及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115834705A CN115834705A (zh) | 2023-03-21 |
CN115834705B true CN115834705B (zh) | 2024-05-24 |
Family
ID=85527374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211399838.3A Active CN115834705B (zh) | 2022-11-09 | 2022-11-09 | 认证服务分配方法、节点集群及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834705B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019214011A1 (zh) * | 2018-05-10 | 2019-11-14 | 网宿科技股份有限公司 | 一种管理云服务集群的方法和系统 |
CN111241523A (zh) * | 2020-01-08 | 2020-06-05 | 中国联合网络通信集团有限公司 | 认证处理方法、装置、设备和存储介质 |
CN111404923A (zh) * | 2020-03-12 | 2020-07-10 | 北京金山云网络技术有限公司 | 容器集群访问权限的控制方法及系统 |
CN111817860A (zh) * | 2020-09-01 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 一种通信认证方法、装置、设备及存储介质 |
CN112491606A (zh) * | 2020-11-20 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | 一种基于ansible的自动化部署业务系统高可用集群的方法 |
CN112511611A (zh) * | 2020-11-19 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 节点集群的通信方法、装置、系统及电子设备 |
CN113810468A (zh) * | 2021-08-13 | 2021-12-17 | 济南浪潮数据技术有限公司 | K8s架构下网关分发请求的方法、系统、设备和存储介质 |
CN114237821A (zh) * | 2021-12-15 | 2022-03-25 | 建信金融科技有限责任公司 | Kubernetes容器集群的自发现方法、装置、电子设备及存储介质 |
CN114398176A (zh) * | 2022-01-04 | 2022-04-26 | 北京金山云网络技术有限公司 | 服务访问方法、装置、电子设备及存储介质 |
CN115242882A (zh) * | 2022-09-20 | 2022-10-25 | 之江实验室 | 一种基于传输层路由访问k8s容器环境的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9680818B2 (en) * | 2014-10-15 | 2017-06-13 | Barracuda Network, Inc. | Method and apparatus for bulk authentication and load balancing of networked appliances |
US10764266B2 (en) * | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
-
2022
- 2022-11-09 CN CN202211399838.3A patent/CN115834705B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019214011A1 (zh) * | 2018-05-10 | 2019-11-14 | 网宿科技股份有限公司 | 一种管理云服务集群的方法和系统 |
CN111241523A (zh) * | 2020-01-08 | 2020-06-05 | 中国联合网络通信集团有限公司 | 认证处理方法、装置、设备和存储介质 |
CN111404923A (zh) * | 2020-03-12 | 2020-07-10 | 北京金山云网络技术有限公司 | 容器集群访问权限的控制方法及系统 |
CN111817860A (zh) * | 2020-09-01 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 一种通信认证方法、装置、设备及存储介质 |
CN112511611A (zh) * | 2020-11-19 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 节点集群的通信方法、装置、系统及电子设备 |
CN112491606A (zh) * | 2020-11-20 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | 一种基于ansible的自动化部署业务系统高可用集群的方法 |
CN113810468A (zh) * | 2021-08-13 | 2021-12-17 | 济南浪潮数据技术有限公司 | K8s架构下网关分发请求的方法、系统、设备和存储介质 |
CN114237821A (zh) * | 2021-12-15 | 2022-03-25 | 建信金融科技有限责任公司 | Kubernetes容器集群的自发现方法、装置、电子设备及存储介质 |
CN114398176A (zh) * | 2022-01-04 | 2022-04-26 | 北京金山云网络技术有限公司 | 服务访问方法、装置、电子设备及存储介质 |
CN115242882A (zh) * | 2022-09-20 | 2022-10-25 | 之江实验室 | 一种基于传输层路由访问k8s容器环境的方法及装置 |
Non-Patent Citations (2)
Title |
---|
Akarsh Goel ; B. Thangaraju.Authenticating Distributed Systems Using SPIRE over Kubernetes Cluster.IEEE.2022,全文. * |
基于一致性哈希的Web跨域认证优化方案;姚瑶;王兴伟;;东北师大学报(自然科学版);20130620(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115834705A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113441B (zh) | 实现负载均衡的计算机设备、系统和方法 | |
WO2021175152A1 (zh) | 容器集群系统、容器控制台和服务器 | |
US9722867B2 (en) | Resource management method, resource management system and resource manager | |
JP7461471B2 (ja) | クロス・クラウド・オペレーションのためのクラウド・サービス | |
CN105610632B (zh) | 一种虚拟网络设备及相关方法 | |
KR20190082926A (ko) | 메시징 프로토콜 통신 관리 | |
WO2017162173A1 (zh) | 云服务器集群建立连接的方法和装置 | |
CN107005426B (zh) | 一种虚拟网络功能的生命周期管理方法及装置 | |
US20150334696A1 (en) | Resource provisioning method | |
EP1780940A1 (en) | High availability network systems | |
CN105429938B (zh) | 一种资源配置方法及装置 | |
CN110716787A (zh) | 容器地址设置方法、设备和计算机可读存储介质 | |
CN112291298A (zh) | 异构系统的数据传输方法、装置、计算机设备和存储介质 | |
CN110855488B (zh) | 一种虚拟机接入方法及装置 | |
EP3788772B1 (en) | On-node dhcp implementation for virtual machines | |
WO2017185992A1 (zh) | 一种请求消息传输方法及装置 | |
US9760370B2 (en) | Load balancing using predictable state partitioning | |
WO2024016624A1 (zh) | 多集群访问方法和系统 | |
CN112099913A (zh) | 一种基于OpenStack实现虚拟机安全隔离的方法 | |
CN108366087B (zh) | 一种基于分布式文件系统的iscsi服务实现方法和装置 | |
WO2015192583A1 (zh) | 一种互联网协议ip地址分配方法、装置、服务器和终端 | |
US9946493B2 (en) | Coordinated remote and local machine configuration | |
CN115834705B (zh) | 认证服务分配方法、节点集群及计算机可读存储介质 | |
CN108833613B (zh) | 一种动态主机配置协议的实现方法及系统 | |
US7350065B2 (en) | Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection |
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 |