CN114553823A - 访问控制方法和电子设备 - Google Patents
访问控制方法和电子设备 Download PDFInfo
- Publication number
- CN114553823A CN114553823A CN202210192118.3A CN202210192118A CN114553823A CN 114553823 A CN114553823 A CN 114553823A CN 202210192118 A CN202210192118 A CN 202210192118A CN 114553823 A CN114553823 A CN 114553823A
- Authority
- CN
- China
- Prior art keywords
- service
- address
- network address
- node
- platform
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000006243 chemical reaction Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 43
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000006854 communication Effects 0.000 abstract description 16
- 238000004891 communication Methods 0.000 abstract description 16
- 230000007547 defect Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 7
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 101710176296 Switch 2 Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Abstract
本申请公开一种访问控制方法和电子设备,本申请在服务平台中增设了主节点,利用主节点作为服务平台的访问入口,对平台各服务节点上的服务进行访问控制,并具体利用主节点基于维护的各服务的外网地址与内网地址的第一对应关系,对访问过程中的流量进行外/内或内/外网地址转换及此基础上的流量路由,无需借助外部云平台的负载均衡服务提供的外网IP地址及地址转换功能,避免了对外部云平台的负载均衡服务的依赖,缩短了数据通讯链路路径,从而,至少部分地解决了传统服务方案存在的技术缺陷。
Description
技术领域
本申请属于通信技术领域,尤其涉及一种访问控制方法和电子设备。
背景技术
在目前的容器平台下,有四种服务资源类型,其中有两种专门提供外部访问服务的类型,分别为NodePort和LoadBalancer。
申请人发现,上述两种服务资源类型的传统服务解决方案分别存在一些缺陷。其中,NodePort类型的传统服务解决方案的缺陷主要包括:1)在多节点情况下,如果对外提供服务时采用的Host节点出现故障,会直接影响用户的服务访问;2)对于安全隧道协商、安全对等服务等业务场景支持不足。LoadBalancer类型的传统服务解决方案一定程度上克服了NodePort类型服务解决方案的缺陷,但需要借助外部云平台的负载均衡服务提供的外网IP地址信息及地址转换功能,从而,对外部云平台的负载均衡服务的依赖性太强,不够灵活。同时,数据通讯链路路径也变长,影响性能。
发明内容
为此,本申请公开如下技术方案:
一种访问控制方法,应用于服务平台的主节点,所述服务平台包括主节点和至少一个部署有服务的服务节点;所述方法包括:
获得服务访问请求,所述服务访问请求包括待访问服务的第一外网地址;
基于所述服务平台各服务的外网地址与内网地址的第一对应关系,将所述服务访问请求中的第一外网地址转换为对应的第一内网地址;
基于所述第一内网地址将所述服务访问请求路由至相应服务节点上的所述待访问服务;
获得所述待访问服务对所述服务访问请求的响应信息,所述响应信息中包括所述第一内网地址;
基于所述第一对应关系,将所述响应信息中的所述第一内网地址转换为所述第一外网地址,向请求端反馈地址转换后的响应信息。
可选的,所述主节点中设置有集群路由器和集群交换机,每个服务节点中设置有对应的本地交换机;
所述基于所述服务平台各服务的外网地址与内网地址的第一对应关系,将所述服务访问请求中的第一外网地址转换为对应的第一内网地址,包括:
在所述集群交换机基于所述第一对应关系,将所述服务访问请求中的第一外网地址转换为对应的第一内网地址;
所述基于所述第一内网地址将所述服务访问请求路由至相应服务节点上的所述待访问服务,包括:
在所述集群交换机发送地址转换后的服务访问请求至所述集群路由器;
在所述集群路由器基于各服务节点的本地交换机与服务的内网地址的第二对应关系,将所述服务访问请求发送至与所述第一内网地址对应的目标本地交换机,以通过所述目标本地交换机将所述服务访问请求转发至相应服务节点中的所述待访问服务。
可选的,所述获得所述待访问服务对所述服务访问请求的响应信息,包括:
在所述集群路由器获得通过所述目标本地交换机转发的所述待访问服务对所述服务访问请求的响应信息,并转发所述响应信息至所述集群交换机;
所述基于所述第一对应关系,将所述响应信息中的所述第一内网地址转换为所述第一外网地址,向请求端反馈地址转换后的响应信息,包括:
在所述集群交换机基于所述第一对应关系,将所述响应信息中的所述第一内网地址转换为所述第一外网地址,向请求端反馈地址转换后的响应信息。
可选的,所述服务平台为容器平台,服务通过多副本方式基于容器部署在所述容器平台的多个服务节点上;部署于多个服务节点上的同一服务的多个副本对应同一内网地址和同一外网地址。
所述第二对应关系中与服务的内网地址对应的本地交换机为:从承载服务的多个副本的多个服务节点对应的多个本地交换机中选取的一个本地交换机;所述第二对应关系中与服务的内网地址对应的本地交换机,将得到的服务访问请求转发至从所述内网地址所指示服务的多个副本中选取的一个副本,并获得选取的所述副本对服务访问请求的响应信息进行转发。
可选的,所述服务平台各服务的外网地址与内网地址的第一对应关系的构建过程,包括:
基于监测到向服务平台的服务节点新增服务,从预置的外网地址集中选取一可用的外网地址;新增服务部署在所述服务平台的多个服务节点;
将选取的外网地址配置为所述新增服务的外网地址;
获取所述新增服务在所述服务平台对应的内网地址,构建并记录所述新增服务的外网地址与内网地址的对应关系,以通过对所述服务平台新增服务的监测构建所述第一对应关系。
可选的,在构建并记录所述新增服务的外网地址与内网地址的对应关系后,所述方法还包括:
构建所述新增服务的外网地址与所述新增服务的服务信息的第三对应关系,并向外网发布所述第三对应关系,以由外部设备通过所述新增服务的外网地址访问所述服务平台上部署的所述新增服务。
可选的,所述获取所述新增服务在所述服务平台对应的内网地址,构建并记录所述新增服务的外网地址与内网地址的对应关系,包括:
获取所述容器平台的网络管理模块为所述新增服务分配的内网地址,构建所述新增服务的外网地址与内网地址的对应关系;
将构建的所述对应关系传输至所述主节点中的集群交换机进行记录。
可选的,所述服务平台包括多个候选主节点,所述主节点为基于预设选举策略从所述多个候选主节点中选举的节点;
其中,未被选举为主节点的各个候选主节点监测主节点的运行状态,并在监测到主节点运行状态异常情况下,基于所述预设选举策略竞争主节点身份,以实现主节点更新。
可选的,所述方法,还包括:
基于监测到从服务平台删除服务,配置被删除服务对应的外网地址的状态为表征外网地址闲置的预设状态;
和/或,基于设定的安全规则,对所述服务平台进行流量过滤处理。
一种电子设备,用于作为服务平台的主节点,所述服务平台包括所述主节点和至少一个服务节点,所述电子设备包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集实现如上文任一项所述的访问控制方法。
由以上方案可知,本申请公开的访问控制方法和电子设备,在服务平台中增设了主节点,利用主节点作为服务平台的访问入口,对平台各服务节点上的服务进行访问控制,并具体利用主节点基于维护的各服务的外网地址与内网地址的第一对应关系,对访问过程中的流量进行外/内或内/外网地址转换及此基础上的流量路由,无需借助外部云平台的负载均衡服务提供的外网IP地址及地址转换功能,避免了对外部云平台的负载均衡服务的依赖,缩短了数据通讯链路路径,从而,至少部分地解决了传统服务方案存在的技术缺陷。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的主节点的监控控制器的工作原理示意图;
图2是本申请提供的各候选主节点竞争并维护主节点身份的流程图;
图3是本申请提供的主节点的监控控制器的工作流程图;
图4是本申请提供的访问控制方法的一种流程示意图;
图5是本申请提供的访问控制方法的另一种流程示意图;
图6是本申请提供的服务主动向外发起连接时的流量路径示例图;
图7是本申请提供的服务主动向外发起连接时对流量的处理流程图;
图8是本申请提供的电子设备的组成结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请公开一种访问控制方法和电子设备,以至少部分地解决传统服务方案存在的技术缺陷。该访问控制方法,用于对服务平台中的服务进行访问控制,服务平台包括至少一个部署有服务的服务节点,与传统服务平台相区别,本申请实施例还在服务平台中增设主节点,利用主节点作为服务平台各服务节点所提供的一系列服务的访问入口,其中,主节点具体通过执行本申请方法提供访问入口功能、实现对平台上服务的访问控制。
主节点可以同时是服务节点,也可以是专门用于提供主节点功能的独立节点,对此不做限制,实施中,服务平台上任一节点(主节点或服务节点)的节点功能可基于一个或多个物理机(如,个人计算机、服务器计算机、便携式终端等)实现。
可选的,结合参见图1,服务平台的主节点中部署有监控控制器,如图1中的控制器(Controller),负责监控服务平台上服务(service)的添加、更新/修改和删除操作,并负责执行与服务的添加、更新/修改和删除事件相关的处理。具体如下:
(一)服务添加
当向服务平台新增服务时,如向服务平台添加Service类型为Loadbalancer的服务时,主节点的监控控制器监测到新增服务,并响应于服务新增事件,从预先构建与维护的外网地址集中选取一可用的外网地址,将选取的外网地址配置为新增服务的外网地址,同时获取新增服务在服务平台对应的内网地址,并构建与记录新增服务的外网地址与内网地址的对应关系,通过不断监测服务平台上的新增服务,构建得到服务平台中部署的各个服务的外网地址与内网地址的对应关系,本申请实施例将该对应关系称为第一对应关系。
其中,外网地址集可以但不限于采用地址列表或地址池方式实现,可选的,外网地址为外网IP(Internet Protocol,网际互连协议)地址,用于供服务平台外部的设备识别使用,如图1中,主节点的监控控制器基于IPAM(IP Address Management,IP地址管理)地址池为每一新增服务对应分配一外网IP地址,图1中的10.121.219.200即为向新增服务ServiceA分配的外网IP地址,不同服务对应的外网IP地址不同。
服务平台会自动为每一新增服务分配内网地址,可选的,服务平台为容器平台,参见图1的示例,容器平台系统服务器中的网络管理模块维护有集群IP地址集(CluesterIP),当容器平台部署新服务时,从集群IP地址集中选取相应子网段的可用内网IP地址分配给新增服务,主节点的监控控制器联动容器平台的网络管理模块,得到新增服务的内网地址,并建立新增服务的外网地址与内网地址的对应关系。
可选的,服务通过多副本方式基于容器部署在容器平台的多个服务节点上;部署于多个服务节点上的同一服务的多个副本对应同一内网地址和同一外网地址。
另外,主节点的监控控制器还构建新增服务的外网地址与新增服务的服务信息的对应关系,本实施例称之为第三对应关系,并向外网发布该第三对应关系,例如,向外网中的网关发布新增服务的外部IP地址与服务标识、服务名称和/或服务相关描述信息(如,服务版本、服务内容等)的对应关系等,且向外网网关发布的每一服务的外网地址关联主节点的物理地址(MAC地址),主节点在向网关发布服务的外网地址与服务信息的对应关系时,同时宣告主节点的物理地址给网关,以使外部设备通过新增服务的外网地址以主节点为访问入口,访问服务平台上部署的各个服务。
(二)服务更新/修改
包括但不限于服务内容的修改、调整,服务版本的更新等。
在将服务部署至服务平台(即,向平台新增服务)时,已为服务分配对应的外网地址及内网地址,在服务更新/修改后,仍维持已有的外网地址与内网地址。
(三)服务删除
主节点的监控控制器监测到从服务平台删除服务时,将被删除服务对应的外网地址的状态配置为表征外网地址闲置的预设状态。
另外,服务平台的主节点中还设置有集群路由器和集群交换机,且每个服务节点中设置有对应的本地交换机,可选的,集群路由器、集群交换机及本地交换机分别在相应节点通过软件代码方式实现。
集群路由器负责服务平台中流量(从外网至服务平台内网的流量或从服务平台内网至外网的流量等)的路由。监控控制器在基于服务监控功能为新增服务构建外网地址与内网地址的对应关系后,将其下发至集群交换机,集群交换机记录与维护服务平台中各服务的外网地址与内网地址的对应关系,即上述的第一对应关系,将该第一对应关系构建为流表作为平台的网络映射规则,负责对平台流量的地址转换(内/外地址转换,或外/内地址转换),实际应用中,还可以为网络映射规则(第一对应关系)中服务的内网地址关联对应的服务端口。本地交换机用于在服务(服务节点)与主节点的集群路由器间进行流量转发。
可选的,主节点的监控控制器还联动容器平台的安全模块,向主节点的集群路由器下发安全规则/安全策略,以用于平台流量的监控与过滤,保证服务平台的安全通讯。
另外,可选的,服务平台包括多个候选主节点,主节点为基于预设选举策略从多个候选主节点中选举的节点,预设选举策略可以但不限于是与候选节点的负载情况、资源能力和/或运行状态(异常与否等)相关的条件,从负载情况、资源能力和/或运行状态等多个维度对各个候选节点进行打分,并优选评分高的候选节点为主节点。
其中,未被选举为主节点的各个候选主节点监测主节点的运行状态,并在监测到主节点运行状态异常情况下,基于上述预设选举策略竞争主节点身份,以实现主节点更新。
参见图2提供的各个候选主节点竞争主节点身份的示例,该示例中,候选主节点的数量为3,分别为节点1、节点2、节点2,分别对应控制器副本Controller Replica1、Controller Replica2和Controller Replica3,如图2所示,该示例中,各候选主节点竞争并维护主节点身份的流程如下:
步骤11:各控制器副本基于循环机制不断请求控制器的Leader锁,以通过获得Leader锁来获得领导权,相应使对应节点获得主节点身份;
各控制器副本分别获取所处节点的资源情况、负载情况和/或运行情况(是否异常/故障)等信息,基于获取的信息竞争Leader锁。
节点的资源情况信息包括但不限于节点的处理器资源、磁盘资源、内存资源、寄存器资源等各类型资源的信息,负载情况信息包括但不限于对上述各类型资源的占用率、设备上运行的线程数/进程数、任务数、可用带宽、数据流流量、数据传输速率、拥塞情况信息等等。
步骤12:控制器三副本中第一副本Controller Replica1获得Leader锁,节点1成为主节点;
节点1成为主节点后,通过Controller Replica1负责平台上服务的监控、为新增服务分配外网IP地址以及进行相关信息的下发(如向集群交换机下发网络映射规则、向集群路由器下发安全策略等),具体如图3所示的流程。
步骤13:作为主节点的节点1向其他节点的控制器副本通知关于节点1的主节点身份的信息,以保持其当前的主节点(leader)身份。
可选的,如图2中,节点1向其他节点的控制器副本周期性(如每间隔10s)更新当前的时间戳(timestamp),以此通知其他节点的控制器副本有关节点1的leader身份的信息,其他节点的控制器副本通过节点1发送的时间戳监测节点1的运行状态,如果节点1未能在给定的时间间隔内更新时间戳,则认为节点1崩溃,并触发其他节点(节点2、节点3)的控制器副本竞争leader锁,实现主节点更新,更新主节点后,由新获得主节点身份的节点(如节点2或节点3),回调控制器的工作线程,继续监听平台中Service资源的操作(服务的增添、更新或删除),进行高可用地址的分配操作,以及动态更新网络映射规则,保证服务平台上Service的双向通讯能力。
其中,在主节点更新时,向外网网关宣告新的主节点物理地址,以同步更新向外网发布的每一服务的外网地址关联的主节点的物理地址,便于将流量准确定位到平台当前的访问入口。
基于上述的主节点,参见图4示出的访问控制方法流程图,本申请实施例公开的访问控制方法包括:
步骤401、获得服务访问请求,服务访问请求包括待访问服务的第一外网地址。
用户终端等外部设备基于对容器平台中所需服务的访问需求,发起携带待访问服务的第一外网地址的服务访问请求,并经过网关将服务访问请求路由至容器平台的主节点,容器平台的主节点相应获得服务访问请求。
其中,具体在容器平台主节点的集群交换机,获得主节点的网络接口(如以太网接口)传输的服务访问请求。
步骤402、基于服务平台各服务的外网地址与内网地址的第一对应关系,将服务访问请求中的第一外网地址转换为对应的第一内网地址。
集群交换机基于维护的网络映射规则,如容器平台各服务的外网IP地址与内网IP地址的第一对应关系,将服务访问请求中的第一外网地址转换为对应的第一内网地址。
步骤403、基于第一内网地址将服务访问请求路由至相应服务节点上的上述待访问服务。
之后,集群交换机将地址转换后的服务访问请求发送至集群路由器,由集群路由器进一步基于各服务节点的本地交换机与服务的内网地址的第二对应关系,将服务访问请求发送至与第一内网地址对应的目标本地交换机,通过目标本地交换机将服务访问请求转发至相应服务节点中的待访问服务。
针对服务通过多副本方式基于容器部署在容器平台的多个服务节点的情况,可选的,第二对应关系中与服务的内网地址对应的本地交换机为:从承载服务的多个副本的多个服务节点对应的多个本地交换机中选取的一个本地交换机。第二对应关系中与服务的内网地址对应的本地交换机,将得到的服务访问请求转发至从所述内网地址所指示服务的多个副本中选取的一个副本,并获得选取的所述副本对服务访问请求的响应信息进行转发。
也就是说,对于同一服务的分别部署在不同服务节点的多个副本,本申请实施例优选通过选取的某一个副本所在节点对应的本地交换机,统一对该服务不同副本的流量(请求流量/响应流量)进行转发。该方式下,相应通过选取的一个本地交换机按配置的分发策略,对服务的不同请求流量在服务不同副本间进行分发,可有效降低服务的不同请求流量在服务不同副本间的分发复杂度。
其中,可以但不限于基于随机方式,或者根据平台中不同服务节点分别对应的本地交换机的流量负载,从承载同一服务的多个副本的多个服务节点对应的多个本地交换机中,为该同一服务选取用于流量转发的本地交换机。
本地交换机中配置的分发策略,包括但不限于基于同一服务各副本的负载均衡因素、稳定运行因素确定的策略,以尽可能保证各副本负载均衡,能稳定地提供对应的服务。
相应的,在多副本机制中,接收到服务访问请求的目标本地交换机,将服务访问请求转发至基于分发策略从待访问服务的多个副本中选取的目标副本,由目标副本对请求端的服务访问请求进行处理,并给出对应的响应信息。
其中,响应信息中携带待访问服务的第一内网地址,作为服务源地址,目标副本将响应信息交由目标本地交换机进行转发。
步骤404、获得上述待访问服务对服务访问请求的响应信息。
主节点的集群路由器获得目标本地交换机转发的待访问服务对服务访问请求的响应信息。
步骤405、基于上述第一对应关系,将响应信息中的第一内网地址转换为第一外网地址,向请求端反馈地址转换后的响应信息。
集群路由器获得目标本地交换机转发的响应信息后,将其转发至集群交换机。集群交换机进一步基于维护的网络映射规则,即各服务的外网地址与内网地址的第一对应关系,对响应信息进行地址转换处理,将其携带的第一内网地址转换为第一外网地址,并将转换后的响应信息经网关反馈给请求端。
由以上方案可知,本申请公开的访问控制方法,在服务平台中增设了主节点,利用主节点作为服务平台的访问入口,对平台各服务节点上的服务进行访问控制,并具体利用主节点基于维护的各服务的外网地址与内网地址的第一对应关系,对访问过程中的流量进行外/内或内/外网地址转换及此基础上的流量路由,无需借助外部云平台的负载均衡服务提供的外网IP地址及地址转换功能,避免了对外部云平台的负载均衡服务的依赖,缩短了数据通讯链路路径,从而,至少部分地解决了传统服务方案存在的技术缺陷。
在一实施例中,参见图5示出的访问控制方法流程图,本申请实施例提供的访问控制方法,还可以包括如下处理中的任意一种或多种:
步骤406、基于监测到从服务平台删除服务,配置被删除服务对应的外网地址的状态为表征外网地址闲置的预设状态。
主节点基于其监控控制器监测服务平台的服务删除操作,当监测到服务删除操作时,回收被删除服务的外网地址,以便于后续有新增服务时,对回收的外网地址进行使用。
其中,具体可将被删除服务对应的外网地址的状态,配置为表征外网地址闲置的预设状态,如将被删除服务的外网IP地址从原有状态“0”修改为“1”,以表示闲置可用,或者将该外网IP地址写入一可用地址列表以表示闲置可用等。
步骤407、基于设定的安全规则,对服务平台进行流量过滤处理。
主节点的集群交换机维护有服务平台的安全规则,负责基于安全规则对服务平台的流量进行监控与过滤处理,安全规则可以但不限于配置为基于网络地址白名单/黑名单的流量过滤规则。
网络地址白名单/黑名单中的网络地址,包括但不限于服务平台中服务的网络地址(如,服务的内网IP地址)和/或外网中外部设备的网络地址,对此不作限制,其中,集群交换机基于网络地址白名单/黑名单中服务的网络地址,监控与过滤平台“内部服务”(这里,内部服务是指服务平台上未允许向外输出流量的服务)向外输出的流量,基于网络地址白名单/黑名单中外部设备的网络地址,监控与过滤可疑/风险外部设备向服务平台输入的流量。
本实施例通过监测服务平台的服务删除操作,并将被删除服务对应的外网地址的状态配置为表征外网地址闲置的预设状态,实现了对已删除服务的外网地址的回收,便于后续的复用,且通过基于安全规则对服务平台的流量进行监控与过滤,保证了服务平台输入/输出流量的安全性,实现了服务平台的安全通讯。
图4-图5所示流程,提供了外部设备发起访问-服务给出响应这一应用场景中,服务平台主节点依次对向内输入的流量及向外输出的流量的处理过程,但不限于此,本申请实施例中,服务平台还支持服务主动发起向外连接的请求并由外部设备给出响应的应用场景,比如,安全隧道协商、安全对等服务等应用中服务主动向外发起连接,该应用场景涉及依次对向外输出的流量及向内输入的流量的处理过程,该过程对相应方向流量的处理,与外部设备发起访问-服务给出响应这一应用场景中,对流量相对应方向的处理类似,具体可参见图4-图5所示流程中相关方向的流量处理,不再赘述。除此之外,服务平台还支持服务的内内交互应用场景,即平台不同服务或同一服务不同副本之间的交互,该场景中,对于处于同一子网的交互双方服务,通过服务(副本)各自所在节点的本地交换机进行流量转发,对于处于不同子网的交互双方服务,通过服务(副本)各自所在节点的本地交换机并借助主节点的集群路由器实现流量转发,该过程中不涉及对服务的地址转换。
参见图6,提供了容器平台中服务主动向外发起连接的一个示例。
该示例中,容器平台至少包括两个服务节点Host1、Host2,分别对应本地交换机Local switch1、Local switch2,该示例中,Host2同时作为主节点(Leader),主节点对应部署有集群路由器Cluster router和集群交换机Cluster switch。
其中,Pod1、Pod2代表服务A基于容器方式部署在两个服务节点上的不同副本,采用Local switch1负责Pod1、Pod2的流量转发,Pod3、Pod4代表服务B基于容器方式部署在两个服务节点上的不同副本,采用Local switch2负责Pod3、Pod4的流量转发。
结合参见图6与图7,当pod3存在与外部设备的安全隧道协商、安全对等服务等需求时,主动往外发起连接,连接请求通过Local switch2转发到主节点(leader节点)的集群路由器Cluster router,Cluster router再将连接请求转发到集群交换机Clusterswitch,Cluster switch对连接请求进行网络地址转换(内外转换)后,将连接请求经网关发送至外部设备,后续,主节点(leader节点)接收到外部设备的响应信息后,按与连接请求相逆的路径及地址转换处理将响应信息路由至pod3。该处理过程中,Cluster switch还可以结合安全策略对输入/输出流量进行过滤处理。
NodePort类型的传统服务解决方案,以服务所在Host节点的节点地址(如Host节点的外部IP地址)向外提供服务,当Host节点异常时,如掉线或故障,会导致向外提供服务的该Host节点的节点地址不可用(如,用户点击某下载地址时,无法连接Host节点导致下载失败),相应影响用户的正常服务访问。
与此相区别,本申请通过在服务平台中增设主节点,利用主节点为平台部署的每一服务分配对应的外网地址,使得基于服务地址(即,服务的外网地址)而非Host节点地址向外提供服务,在多节点情况下,如果对外提供服务时采用的Host节点故障,由于本申请中同一服务部署于不同服务节点(Host节点)的多个副本共享同一外网地址,从而支持平台自动、实时路由至该服务正常节点的副本来支撑该服务地址的正常可用,保证该服务地址的正常服务能力,不会出现传统技术中因基于Host节点地址向外提供服务,当Host节点故障时,导致该Host节点地址不可用相应影响用户的服务访问的问题,保证了服务平台对外服务的高可用能力。
另外,NodePort类型的传统服务解决方案中,如果服务平台pod里面的服务有往外连接的请求,不同Host节点中Pod的请求从其各自对应的本地节点输出,这将导致同一服务不同副本(部署在不同的Host节点)的源IP地址不同,相应导致对安全隧道协商、安全对等服务等业务场景支持不足。本申请中,通过主节点为平台部署的每一服务分配对应的外网地址,且使同一服务部署于不同服务节点(Host节点)的多个副本共享同一外网地址,为每一服务保证了固定且唯一的源地址,确定同一服务的不同副本的数据包始终通过共享的同一源地址(如,服务的外网IP地址)发出,从而,实现了对安全隧道协商、安全对等服务等业务场景的支持。
除此之外,本申请通过在服务平台增设主节点,避免了对外部云平台的负载均衡服务的依赖,缩短了数据通讯链路路径,且利用主节点作为服务平台的访问入口,数据流始终从服务平台的主节点(Leader节点)输出/输出,自始至终保证了链路信息的对称性,满足了高可用的内外网双向通讯需求。
本申请实施例还公开一种电子设备,可以是但不限于个人计算机、服务器计算机或便携式终端等用于提供计算/处理能力的设备。
电子设备的组成结构,如图8所示,至少包括:
存储器10,用于存放计算机指令集;
计算机指令集可以通过计算机程序的形式实现。
处理器20,用于通过执行计算机指令集,实现如上文任一方法实施例公开的访问控制方法。
处理器20可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件等。
除此之外,电子设备还可以包括通信接口、通信总线等组成部分。存储器、处理器和通信接口通过通信总线完成相互间的通信。
通信接口用于电子设备与其他设备之间的通信。通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等,该通信总线可以分为地址总线、数据总线、控制总线等。
综上所述,本申请提供的数据访问方法及电子设备,相比于传统技术,至少具备以下技术优势:
a)保证了服务平台对外提供服务的接入能力,不依赖于其他云平台;
b)提高了服务平台对外服务连接的高可用能力;
c)固定住了平台中服务的源IP信息,保证了服务的双向通讯;
d)平台中的各个服务分别有自己独立的外网地址,从网络层面做到了服务资源的资源隔离;
e)结合安全规则/安全策略加固了服务平台的安全等级。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种访问控制方法,应用于服务平台的主节点,所述服务平台包括主节点和至少一个部署有服务的服务节点;所述方法包括:
获得服务访问请求,所述服务访问请求包括待访问服务的第一外网地址;
基于所述服务平台各服务的外网地址与内网地址的第一对应关系,将所述服务访问请求中的第一外网地址转换为对应的第一内网地址;
基于所述第一内网地址将所述服务访问请求路由至相应服务节点上的所述待访问服务;
获得所述待访问服务对所述服务访问请求的响应信息,所述响应信息中包括所述第一内网地址;
基于所述第一对应关系,将所述响应信息中的所述第一内网地址转换为所述第一外网地址,向请求端反馈地址转换后的响应信息。
2.根据权利要求1所述的方法,所述主节点中设置有集群路由器和集群交换机,每个服务节点中设置有对应的本地交换机;
所述基于所述服务平台各服务的外网地址与内网地址的第一对应关系,将所述服务访问请求中的第一外网地址转换为对应的第一内网地址,包括:
在所述集群交换机基于所述第一对应关系,将所述服务访问请求中的第一外网地址转换为对应的第一内网地址;
所述基于所述第一内网地址将所述服务访问请求路由至相应服务节点上的所述待访问服务,包括:
在所述集群交换机发送地址转换后的服务访问请求至所述集群路由器;
在所述集群路由器基于各服务节点的本地交换机与服务的内网地址的第二对应关系,将所述服务访问请求发送至与所述第一内网地址对应的目标本地交换机,以通过所述目标本地交换机将所述服务访问请求转发至相应服务节点中的所述待访问服务。
3.根据权利要求2所述的方法,所述获得所述待访问服务对所述服务访问请求的响应信息,包括:
在所述集群路由器获得通过所述目标本地交换机转发的所述待访问服务对所述服务访问请求的响应信息,并转发所述响应信息至所述集群交换机;
所述基于所述第一对应关系,将所述响应信息中的所述第一内网地址转换为所述第一外网地址,向请求端反馈地址转换后的响应信息,包括:
在所述集群交换机基于所述第一对应关系,将所述响应信息中的所述第一内网地址转换为所述第一外网地址,向请求端反馈地址转换后的响应信息。
4.根据权利要求3所述的方法,所述服务平台为容器平台,服务通过多副本方式基于容器部署在所述容器平台的多个服务节点上;部署于多个服务节点上的同一服务的多个副本对应同一内网地址和同一外网地址。
所述第二对应关系中与服务的内网地址对应的本地交换机为:从承载服务的多个副本的多个服务节点对应的多个本地交换机中选取的一个本地交换机;所述第二对应关系中与服务的内网地址对应的本地交换机,将得到的服务访问请求转发至从所述内网地址所指示服务的多个副本中选取的一个副本,并获得选取的所述副本对服务访问请求的响应信息进行转发。
5.根据权利要求1所述的方法,其中,所述服务平台各服务的外网地址与内网地址的第一对应关系的构建过程,包括:
基于监测到向服务平台的服务节点新增服务,从预置的外网地址集中选取一可用的外网地址;新增服务部署在所述服务平台的多个服务节点;
将选取的外网地址配置为所述新增服务的外网地址;
获取所述新增服务在所述服务平台对应的内网地址,构建并记录所述新增服务的外网地址与内网地址的对应关系,以通过对所述服务平台新增服务的监测构建所述第一对应关系。
6.根据权利要求5所述的方法,在构建并记录所述新增服务的外网地址与内网地址的对应关系后,还包括:
构建所述新增服务的外网地址与所述新增服务的服务信息的第三对应关系,并向外网发布所述第三对应关系,以由外部设备通过所述新增服务的外网地址访问所述服务平台上部署的所述新增服务。
7.根据权利要求5所述的方法,所述获取所述新增服务在所述服务平台对应的内网地址,构建并记录所述新增服务的外网地址与内网地址的对应关系,包括:
获取所述容器平台的网络管理模块为所述新增服务分配的内网地址,构建所述新增服务的外网地址与内网地址的对应关系;
将构建的所述对应关系传输至所述主节点中的集群交换机进行记录。
8.根据权利要求1所述的方法,所述服务平台包括多个候选主节点,所述主节点为基于预设选举策略从所述多个候选主节点中选举的节点;
其中,未被选举为主节点的各个候选主节点监测主节点的运行状态,并在监测到主节点运行状态异常情况下,基于所述预设选举策略竞争主节点身份,以实现主节点更新。
9.根据权利要求5所述的方法,还包括:
基于监测到从服务平台删除服务,配置被删除服务对应的外网地址的状态为表征外网地址闲置的预设状态;
和/或,基于设定的安全规则,对所述服务平台进行流量过滤处理。
10.一种电子设备,用于作为服务平台的主节点,所述服务平台包括所述主节点和至少一个服务节点,所述电子设备包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集实现如权利要求1-9任一项所述的访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192118.3A CN114553823A (zh) | 2022-02-28 | 2022-02-28 | 访问控制方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192118.3A CN114553823A (zh) | 2022-02-28 | 2022-02-28 | 访问控制方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114553823A true CN114553823A (zh) | 2022-05-27 |
Family
ID=81661826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192118.3A Pending CN114553823A (zh) | 2022-02-28 | 2022-02-28 | 访问控制方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553823A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200199A (zh) * | 2018-02-05 | 2018-06-22 | 重庆大学 | IPV4 over IPV6隧道场景中的负载均衡系统及方法 |
CN108200222A (zh) * | 2017-12-27 | 2018-06-22 | 郑州云海信息技术有限公司 | 一种集群内网访问外网的方法、装置及设备 |
CN109451084A (zh) * | 2018-09-14 | 2019-03-08 | 华为技术有限公司 | 一种服务访问方法及装置 |
CN111314498A (zh) * | 2020-01-21 | 2020-06-19 | 山东汇贸电子口岸有限公司 | 网络地址转换方法和nat网关 |
CN111327720A (zh) * | 2020-02-21 | 2020-06-23 | 北京百度网讯科技有限公司 | 一种网络地址转换方法、装置、网关设备及存储介质 |
CN111464648A (zh) * | 2020-04-02 | 2020-07-28 | 聚好看科技股份有限公司 | 一种分布式本地dns系统及域名查询方法 |
CN111510515A (zh) * | 2020-04-07 | 2020-08-07 | 中国建设银行股份有限公司 | 一种区分混合应用环境的容器的方法及装置 |
CN112130965A (zh) * | 2020-10-26 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 部署分布式容器编排管理集群的方法、设备及存储介质 |
WO2021051880A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN112764886A (zh) * | 2021-01-29 | 2021-05-07 | 上海弘积信息科技有限公司 | 一种基于Kubernetes平台的负载均衡控制器 |
CN113572838A (zh) * | 2021-07-22 | 2021-10-29 | 北京金山云网络技术有限公司 | 基于Kubernetes的网络访问方法、装置、设备及介质 |
CN113596152A (zh) * | 2021-07-28 | 2021-11-02 | 杭州萤石软件有限公司 | 负载均衡实现方法、系统及装置 |
-
2022
- 2022-02-28 CN CN202210192118.3A patent/CN114553823A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200222A (zh) * | 2017-12-27 | 2018-06-22 | 郑州云海信息技术有限公司 | 一种集群内网访问外网的方法、装置及设备 |
CN108200199A (zh) * | 2018-02-05 | 2018-06-22 | 重庆大学 | IPV4 over IPV6隧道场景中的负载均衡系统及方法 |
CN109451084A (zh) * | 2018-09-14 | 2019-03-08 | 华为技术有限公司 | 一种服务访问方法及装置 |
WO2021051880A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN111314498A (zh) * | 2020-01-21 | 2020-06-19 | 山东汇贸电子口岸有限公司 | 网络地址转换方法和nat网关 |
CN111327720A (zh) * | 2020-02-21 | 2020-06-23 | 北京百度网讯科技有限公司 | 一种网络地址转换方法、装置、网关设备及存储介质 |
CN111464648A (zh) * | 2020-04-02 | 2020-07-28 | 聚好看科技股份有限公司 | 一种分布式本地dns系统及域名查询方法 |
CN111510515A (zh) * | 2020-04-07 | 2020-08-07 | 中国建设银行股份有限公司 | 一种区分混合应用环境的容器的方法及装置 |
CN112130965A (zh) * | 2020-10-26 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 部署分布式容器编排管理集群的方法、设备及存储介质 |
CN112764886A (zh) * | 2021-01-29 | 2021-05-07 | 上海弘积信息科技有限公司 | 一种基于Kubernetes平台的负载均衡控制器 |
CN113572838A (zh) * | 2021-07-22 | 2021-10-29 | 北京金山云网络技术有限公司 | 基于Kubernetes的网络访问方法、装置、设备及介质 |
CN113596152A (zh) * | 2021-07-28 | 2021-11-02 | 杭州萤石软件有限公司 | 负载均衡实现方法、系统及装置 |
Non-Patent Citations (1)
Title |
---|
张奎;: "基于LVS+Keepalived的Web集群系统实验仿真", 陕西理工大学学报(自然科学版), no. 04 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112671882B (zh) | 一种基于微服务的同城双活系统和方法 | |
EP3261290B1 (en) | Software defined data center and method for deploying service cluster therein | |
CN107231221B (zh) | 数据中心间的业务流量控制方法、装置及系统 | |
CN108521656B (zh) | 一种Lora通信方法及系统 | |
US6980515B1 (en) | Multi-service network switch with quality of access | |
JP4725228B2 (ja) | Ponシステム、ロジカルリンク割当方法およびロジカルリンク割当装置 | |
US6717913B1 (en) | Multi-service network switch with modem pool management | |
CN102130776B (zh) | 一种通信方法和系统 | |
US10404773B2 (en) | Distributed cluster processing system and packet processing method thereof | |
CN106549780B (zh) | 一种网络配置方法、装置及系统 | |
CN110474802B (zh) | 设备切换方法及装置、服务系统 | |
RU2517312C2 (ru) | Разрешение конфликтов идентификаторов состояния линии связи | |
CN101160805A (zh) | 保障多业务服务质量的资源管理设备、接入系统及方法 | |
JP2017526298A (ja) | ネットワークトラフィックを管理する方法およびシステム | |
JP4309321B2 (ja) | ネットワークシステムの運用管理方法及びストレージ装置 | |
CN111092824B (zh) | 流量管理系统、方法、电子终端、及存储介质 | |
JP2017038218A (ja) | 通信システムおよび設定方法 | |
CN114553823A (zh) | 访问控制方法和电子设备 | |
WO2022017099A1 (zh) | 通信方法、cp设备及nat设备 | |
CN114911577A (zh) | 网络隔离规则的设置方法、装置、设备及存储介质 | |
CN114900526A (zh) | 负载均衡方法及系统、计算机存储介质、电子设备 | |
CN114301913B (zh) | 一种请求处理方法及系统 | |
CN113595760B (zh) | 一种系统故障的处理方法和装置 | |
CN113301380B (zh) | 一种业务管控方法、装置、终端设备和存储介质 | |
CN103607294A (zh) | 一种网络分裂的恢复方法、设备及系统 |
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 |