CN115801569B - 一种访问规则部署方法、装置、设备、介质及云平台 - Google Patents
一种访问规则部署方法、装置、设备、介质及云平台 Download PDFInfo
- Publication number
- CN115801569B CN115801569B CN202310083974.XA CN202310083974A CN115801569B CN 115801569 B CN115801569 B CN 115801569B CN 202310083974 A CN202310083974 A CN 202310083974A CN 115801569 B CN115801569 B CN 115801569B
- Authority
- CN
- China
- Prior art keywords
- target
- container
- management
- control
- node
- 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 86
- 238000011217 control strategy Methods 0.000 claims abstract description 125
- 230000008859 change Effects 0.000 claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 14
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 23
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 27
- 230000009471 action Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 102100033121 Transcription factor 21 Human genes 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 101150109289 tcf21 gene Proteins 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000322338 Loeseliastrum Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
-
- 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/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了计算机技术领域内的一种访问规则部署方法、装置、设备、介质及云平台。本申请在监听到本节点中的管控策略变更事件后,确定管控策略变更事件变更得到的目标管控策略;目标管控策略包括:目标管控范围和目标管控规则;确定落入目标管控范围内且属于本节点的目标容器;基于目标管控规则生成目标容器的目标访问规则,并将目标访问规则部署于目标容器的目标网络命名空间。该方案可实现不同容器的访问规则的快速维护,还能够降低通信开销,提升通信性能。相应地,本申请提供的一种访问规则部署装置、设备、介质及云平台,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种访问规则部署方法、装置、设备、介质及云平台。
背景技术
目前,一个节点的网络命名空间内设有该节点中所有容器的访问规则,且这些访问规则记录在同一张数据表里,在某一容器的访问规则需要变更或该容器出现访问错误时,难以维护该容器对应的访问规则。并且,从本节点中任意容器发出的流量或需被发送至本节点中任意容器的流量,都需要利用该节点的网络命名空间内的所有访问规则进行检查,因此会出现:与访问规则无关的流量也被访问规则所检测,执行了没有意义的流量检测步骤,可能影响通信性能。例如,访问规则规定:节点1中的容器1可接收节点1中的容器2发出的流量。如果将此访问规则设置在节点1的网络命名空间内,那么节点1中的容器3发给节点1中的容器4的流量也需被该规则检测,显然此检测步骤没有任何意义,增加了无谓的通信开销。
因此,如何方便维护不同容器的访问规则,并降低通信开销,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种访问规则部署方法、装置、设备、介质及云平台,以方便维护不同容器的访问规则,并降低通信开销。其具体方案如下:
第一方面,本申请提供了一种访问规则部署方法,包括:
监听本节点中的管控策略变更事件;
确定所述管控策略变更事件变更得到的目标管控策略;所述目标管控策略包括:目标管控范围和目标管控规则;
确定落入所述目标管控范围内且属于本节点的目标容器;
基于所述目标管控规则生成所述目标容器的目标访问规则,并将所述目标访问规则部署于所述目标容器的目标网络命名空间。
可选地,所述确定所述管控策略变更事件变更得到的目标管控策略,包括:
解析所述管控策略变更事件,得到包括所述目标管控范围和所述目标管控规则的所述目标管控策略;其中,所述目标管控范围记录有所述目标容器的容器标识信息,所述目标管控规则记录有可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型。
可选地,所述管控策略变更事件包括:管控策略创建事件和/或管控策略更新事件。
可选地,所述确定落入所述目标管控范围内且属于本节点的目标容器,包括:
基于所述目标管控范围得到所述目标容器的容器标识信息;
查询携带有所述容器标识信息且属于本节点的目标容器。
可选地,所述查询携带有所述容器标识信息且属于本节点的目标容器,包括:
利用匹配函数查询携带有所述容器标识信息且属于本节点的目标容器。
可选地,所述利用匹配函数查询携带有所述容器标识信息且属于本节点的目标容器,包括:
利用所述匹配函数在本节点所属的云平台中查询携带有所述容器标识信息的多个容器;
从所述多个容器中筛选属于本节点的所述目标容器。
可选地,所述基于所述目标管控规则生成所述目标容器的目标访问规则,包括:
基于所述目标管控规则得到可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型;
基于可被本地访问的对端端口号和对端协议类型生成出方向规则;
基于可被对端访问的本地端口号和本地协议类型生成入方向规则;
将所述出方向规则和/或所述入方向规则确定为所述目标访问规则。
可选地,所述将所述目标访问规则部署于所述目标容器的目标网络命名空间,包括:
查询所述目标容器的进程标识信息;
基于所述进程标识信息进入所述目标网络命名空间;
将所述目标访问规则记录至所述目标网络命名空间内的访问数据表。
可选地,还包括:
获取所述目标容器的更新消息;
若通过所述更新消息确定所述目标容器的容器标识信息被修改,则获取修改后的新容器标识信息;
若所述新容器标识信息与所述目标管控范围记录的容器标识信息不一致,则在本节点中查询其他管控策略;
若所述其他管控策略中的管控范围记录有所述新容器标识信息,则基于所述其他管控策略中的管控规则生成新访问规则,并用所述新访问规则替换所述目标网络命名空间中的所述目标访问规则。
可选地,还包括:
若通过所述更新消息确定所述目标容器的本地端口号和/或本地协议类型被修改,则获取修改后的本地新端口号和/或修改后的本地新协议类型;
基于本地新端口号和/或本地新协议类型修改所述目标管控规则;
基于修改后的目标管控规则更新所述目标网络命名空间中的所述目标访问规则。
可选地,所述基于修改后的目标管控规则更新所述目标网络命名空间中的所述目标访问规则之后,还包括:
在本节点中查询记录有本地新端口号的管控策略,得到需更新管控策略;
基于本地新端口号和/或本地新协议类型更新所述需更新管控策略中的管控规则,并基于更新后的管控规则更新所述需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
可选地,还包括:
发送所述目标容器的本地端口号和/或本地协议类型被修改的通知消息至本节点所属云平台中的其他节点,以使所述其他节点在自身中查询所述需更新管控策略;基于本地新端口号和/或本地新协议类型更新所述需更新管控策略中的管控规则,并基于更新后的管控规则更新所述需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
可选地,还包括:
若所述新容器标识信息与所述目标管控范围记录的容器标识信息不一致、且在本节点中未查询到记录有所述新容器标识信息的其他管控策略,则从所述目标网络命名空间中删除所述目标访问规则。
可选地,还包括:
接收容器创建消息;
若根据所述容器创建消息确定当前所创建容器属于本节点,则在本节点中确定用于管控当前所创建容器的可用管控策略;
基于所述可用管控策略中的管控规则生成当前所创建容器的访问规则,并将当前所创建容器的访问规则部署于当前所创建容器的网络命名空间。
可选地,所述根据所述容器创建消息确定当前所创建容器属于本节点,包括:
解析所述容器创建消息,得到当前所创建容器的名称、TP地址、容器标识信息、进程标识信息以及所属节点标识;
若当前所创建容器的所属节点标识与本节点的节点标识一致,则确定当前所创建容器属于本节点。
可选地,所述在本节点中确定用于管控当前所创建容器的可用管控策略,包括:
查询本节点中的所有管控策略;
若当前所创建容器的容器标识信息与任一管控策略中的管控范围记录的容器标识信息一致,则将该管控策略确定为当前所创建容器的可用管控策略。
第二方面,本申请提供了一种访问规则部署装置,包括:
监听模块,用于监听本节点中的管控策略变更事件;
第一确定模块,用于确定所述管控策略变更事件变更得到的目标管控策略;所述目标管控策略包括:目标管控范围和目标管控规则;
第二确定模块,用于确定落入所述目标管控范围内且属于本节点的目标容器;
部署模块,用于基于所述目标管控规则生成所述目标容器的目标访问规则,并将所述目标访问规则部署于所述目标容器的目标网络命名空间。
可选地,所述第一确定模块具体用于:解析所述管控策略变更事件,得到包括所述目标管控范围和所述目标管控规则的所述目标管控策略;其中,所述目标管控范围记录有所述目标容器的容器标识信息,所述目标管控规则记录有可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型。
可选地,所述管控策略变更事件包括:管控策略创建事件和/或管控策略更新事件。
可选地,所述第二确定模块包括:
第一单元,用于基于所述目标管控范围得到所述目标容器的容器标识信息;
第二单元,用于查询携带有所述容器标识信息且属于本节点的目标容器。
可选地,所述第二单元具体用于:利用匹配函数查询携带有所述容器标识信息且属于本节点的目标容器。
可选地,所述第二单元具体用于:利用所述匹配函数在本节点所属的云平台中查询携带有所述容器标识信息的多个容器;从所述多个容器中筛选属于本节点的所述目标容器。
可选地,所述部署模块具体用于:基于所述目标管控规则得到可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型;基于可被本地访问的对端端口号和对端协议类型生成出方向规则;基于可被对端访问的本地端口号和本地协议类型生成入方向规则;将所述出方向规则和/或所述入方向规则确定为所述目标访问规则。
可选地,所述部署模块具体用于:查询所述目标容器的进程标识信息;基于所述进程标识信息进入所述目标网络命名空间;将所述目标访问规则记录至所述目标网络命名空间内的访问数据表。
可选地,还包括:
容器更新模块,用于获取所述目标容器的更新消息;若通过所述更新消息确定所述目标容器的容器标识信息被修改,则获取修改后的新容器标识信息;若所述新容器标识信息与所述目标管控范围记录的容器标识信息不一致,则在本节点中查询其他管控策略;若所述其他管控策略中的管控范围记录有所述新容器标识信息,则基于所述其他管控策略中的管控规则生成新访问规则,并用所述新访问规则替换所述目标网络命名空间中的所述目标访问规则。
可选地,容器更新模块还用于:若通过所述更新消息确定所述目标容器的本地端口号和/或本地协议类型被修改,则获取修改后的本地新端口号和/或修改后的本地新协议类型;基于本地新端口号和/或本地新协议类型修改所述目标管控规则;基于修改后的目标管控规则更新所述目标网络命名空间中的所述目标访问规则。
可选地,容器更新模块还用于:在所述基于修改后的目标管控规则更新所述目标网络命名空间中的所述目标访问规则之后,在本节点中查询记录有本地新端口号的管控策略,得到需更新管控策略;基于本地新端口号和/或本地新协议类型更新所述需更新管控策略中的管控规则,并基于更新后的管控规则更新所述需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
可选地,还包括:
发送模块,用于发送所述目标容器的本地端口号和/或本地协议类型被修改的通知消息至本节点所属云平台中的其他节点,以使所述其他节点在自身中查询所述需更新管控策略;基于本地新端口号和/或本地新协议类型更新所述需更新管控策略中的管控规则,并基于更新后的管控规则更新所述需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
可选地,容器更新模块还用于:若所述新容器标识信息与所述目标管控范围记录的容器标识信息不一致、且在本节点中未查询到记录有所述新容器标识信息的其他管控策略,则从所述目标网络命名空间中删除所述目标访问规则。
可选地,还包括:
容器创建模块,用于接收容器创建消息;若根据所述容器创建消息确定当前所创建容器属于本节点,则在本节点中确定用于管控当前所创建容器的可用管控策略;基于所述可用管控策略中的管控规则生成当前所创建容器的访问规则,并将当前所创建容器的访问规则部署于当前所创建容器的网络命名空间。
可选地,所述容器创建模块具体用于:解析所述容器创建消息,得到当前所创建容器的名称、TP地址、容器标识信息、进程标识信息以及所属节点标识;若当前所创建容器的所属节点标识与本节点的节点标识一致,则确定当前所创建容器属于本节点。
可选地,所述容器创建模块具体用于:查询本节点中的所有管控策略;若当前所创建容器的容器标识信息与任一管控策略中的管控范围记录的容器标识信息一致,则将该管控策略确定为当前所创建容器的可用管控策略。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的访问规则部署方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的访问规则部署方法。
第五方面,本申请提供了一种云平台,包括:多个节点,每一节点用于执行前述公开的访问规则部署方法。
通过以上方案可知,本申请提供了一种访问规则部署方法,包括:监听本节点中的管控策略变更事件;确定所述管控策略变更事件变更得到的目标管控策略;所述目标管控策略包括:目标管控范围和目标管控规则;确定落入所述目标管控范围内且属于本节点的目标容器;基于所述目标管控规则生成所述目标容器的目标访问规则,并将所述目标访问规则部署于所述目标容器的目标网络命名空间。
可见,本申请的有益效果为:按照本申请可便于维护每一容器对应的访问规则,在有管控策略变更时,可基于当前变更得到的管控策略自动在相应容器的网络命名空间内部署相应访问规则,实现了不同容器的访问规则的快速维护,提高了维护效率。并且,本申请将每一容器的访问规则部署在该容器自己的网络命名空间内,使得不同容器的访问规则相互隔离,由此可实现:从本节点中任意容器发出的流量或需被发送至本节点中任意容器的流量在到达本节点的主机网络命名空间时,无需调用访问规则可直接将流量送达相应容器,而在流量到达相应容器的容器网络命名空间时,才会触发该容器网络命名空间内该容器专属的访问规则,因此无需调用与流量无关的访问规则,由此可降低通信开销,提升通信性能。
相应地,本申请提供的一种访问规则部署装置、设备、介质及云平台,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种访问规则部署方法流程图;
图2为本申请公开的一种现有方案的访问示意图;
图3为本申请公开的另一种访问示意图;
图4为本申请公开的一种pod创建流程示意图;
图5为本申请公开的一种管控策略更新流程示意图;
图6为本申请公开的一种访问规则部署装置示意图;
图7为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,一个节点的网络命名空间内设有该节点中所有容器的访问规则,且这些访问规则记录在同一张数据表里,在某一容器的访问规则需要变更或该容器出现访问错误时,难以维护该容器对应的访问规则。并且,从本节点中任意容器发出的流量或需被发送至本节点中任意容器的流量,都需要利用该节点的网络命名空间内的所有访问规则进行检查,因此会出现:与访问规则无关的流量也被访问规则所检测,增加了无谓的通信开销。为此,本申请提供了一种访问规则部署方案,能够方便维护不同容器的访问规则,并降低通信开销。
参见图1所示,本申请实施例公开了一种访问规则部署方法,包括:
S101、监听本节点中的管控策略变更事件。
在本实施例中,可以在本节点中设置专用进程来监听本节点中的管控策略变更事件,管控策略变更事件包括:管控策略创建事件和/或管控策略更新事件。一个节点即一个服务器。
S102、确定管控策略变更事件变更得到的目标管控策略;目标管控策略包括:目标管控范围和目标管控规则。
在一种具体实施方式中,确定管控策略变更事件变更得到的目标管控策略,包括:解析管控策略变更事件,得到包括目标管控范围和目标管控规则的目标管控策略;其中,目标管控范围记录有目标容器的容器标识信息,目标管控规则记录有可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型。例如:如果目标管控规则记录有对端端口号5978和对端协议类型TCP,则表示:本地可以TCP协议访问端口号为5978的对端端口;如果目标管控规则记录有本地端口号8080和本地协议类型TCP,则表示:对端可以TCP协议访问本地端口8080。其中,不同容器有相同或不同的端口号。
在一种示例中,目标管控范围以键值对key:value形式记录为:app:hello-1,“app:hello-1”表示:本节点中携带有hello-1(即容器标识信息)的所有容器都被目标管控策略管控,也即:目标管控策略的管控范围为:本节点内所有携带hello-1的容器。其中,不同容器有相同或不同的容器标识信息。
S103、确定落入目标管控范围内且属于本节点的目标容器。
在一种具体实施方式中,确定落入目标管控范围内且属于本节点的目标容器,包括:基于目标管控范围得到目标容器的容器标识信息;查询携带有容器标识信息且属于本节点的目标容器。在一种具体实施方式中,查询携带有容器标识信息且属于本节点的目标容器,包括:利用匹配函数查询携带有容器标识信息且属于本节点的目标容器。在一种具体实施方式中,利用匹配函数查询携带有容器标识信息且属于本节点的目标容器,包括:利用匹配函数在本节点所属的云平台中查询携带有容器标识信息的多个容器;从多个容器中筛选属于本节点的目标容器。
可见,本节点能够与其他节点构成云平台,那么用户可在云平台提供的人机交互界面进行容器创建、管控策略变更、容器更新,节点修改等操作。
S104、基于目标管控规则生成目标容器的目标访问规则,并将目标访问规则部署于目标容器的目标网络命名空间。
在一种具体实施方式中,基于目标管控规则生成目标容器的目标访问规则,包括:基于目标管控规则得到可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型;基于可被本地访问的对端端口号和对端协议类型生成出方向规则;基于可被对端访问的本地端口号和本地协议类型生成入方向规则;将出方向规则和/或入方向规则确定为目标访问规则。
在一种示例中,某一容器本地的某一访问规则为:iptables-IINPUT-s{符合要求的其他容器的IP地址}--dport{本地端口号}-jACCEPT,其表示:特定IP地址的其他容器可访问本地端口号。
在一种具体实施方式中,将目标访问规则部署于目标容器的目标网络命名空间,包括:查询目标容器的进程标识信息;基于进程标识信息进入目标网络命名空间;将目标访问规则记录至目标网络命名空间内的访问数据表。具体的,通过docker或其他容器查询命令,查询出容器的进程ID后,借助linux提供的nsenter命令可进入到该容器所在的网络命名空间。
如果已部署访问规则的目标容器有更新,则在获取到目标容器的更新消息后,首先确定当前更新了目标容器的什么信息。若通过更新消息确定目标容器的容器标识信息被修改,那么管控目标容器的管控策略可能需要更换,该容器的访问规则也就可能需要修改,因此获取修改后的新容器标识信息;若新容器标识信息与目标管控范围记录的容器标识信息不一致,则在本节点中查询其他管控策略;若其他管控策略中的管控范围记录有新容器标识信息,则基于其他管控策略中的管控规则生成新访问规则,并用新访问规则替换目标网络命名空间中的目标访问规则,从而完成容器访问规则的修改。
若通过更新消息确定目标容器的本地端口号和/或本地协议类型被修改,那么管控目标容器的管控策略无需更换,但管控目标容器的管控策略中的管控规则和该容器的访问规则需要修改,同时被目标容器访问的其他容器的访问规则也需要修改。因此获取修改后的本地新端口号和/或修改后的本地新协议类型;基于本地新端口号和/或本地新协议类型修改目标管控规则;基于修改后的目标管控规则更新目标网络命名空间中的目标访问规则,以更改目标容器的管控策略中的管控规则,以及目标容器的访问规则。
在一种具体实施方式中,基于修改后的目标管控规则更新目标网络命名空间中的目标访问规则之后,还包括:在本节点中查询记录有本地新端口号的管控策略,得到需更新管控策略;基于本地新端口号和/或本地新协议类型更新需更新管控策略中的管控规则,并基于更新后的管控规则更新需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则,从而更改被目标容器访问的其他容器的管控策略中的管控规则以及被目标容器访问的其他容器的访问规则。
由于其他节点中的容器也可能被目标容器访问,因此本节点还发送目标容器的本地端口号和/或本地协议类型被修改的通知消息至本节点所属云平台中的其他节点,以使其他节点在自身中查询需更新管控策略;基于本地新端口号和/或本地新协议类型更新需更新管控策略中的管控规则,并基于更新后的管控规则更新需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
在一种具体实施方式中,若新容器标识信息与目标管控范围记录的容器标识信息不一致、且在本节点中未查询到记录有新容器标识信息的其他管控策略,那么本节点中已没有能够管控目标容器的管控策略,因此从目标网络命名空间中删除目标访问规则。
如果用户在云平台提供的人机交互界面进行容器创建,那么云平台可以将此容器创建消息发送至所有节点,因此任意节点可接收容器创建消息;若根据容器创建消息确定当前所创建容器属于本节点,则在本节点中确定用于管控当前所创建容器的可用管控策略;基于可用管控策略中的管控规则生成当前所创建容器的访问规则,并将当前所创建容器的访问规则部署于当前所创建容器的网络命名空间。
在一种具体实施方式中,根据容器创建消息确定当前所创建容器属于本节点,包括:解析容器创建消息,得到当前所创建容器的名称、TP地址、容器标识信息、进程标识信息以及所属节点标识;若当前所创建容器的所属节点标识与本节点的节点标识一致,则确定当前所创建容器属于本节点。否则,确定当前所创建容器不属于本节点,此时本节点将终止流程。
在一种具体实施方式中,在本节点中确定用于管控当前所创建容器的可用管控策略,包括:查询本节点中的所有管控策略;若当前所创建容器的容器标识信息与任一管控策略中的管控范围记录的容器标识信息一致,则将该管控策略确定为当前所创建容器的可用管控策略。
需要说明的是,一个节点中可以设有至少一个管控策略和至少一个容器,一个管控策略可以管控当前节点中的至少一个容器,每一容器有自己专属的网络命名空间,每一个独立的网络命名空间内的访问规则、网卡、路由表、网络协议栈都是独立的。且任意节点支持管控策略的增删改查操作,任意节点也支持容器的增删改查操作。
按照本实施例可便于维护每一容器对应的访问规则,在有管控策略变更时,可基于当前变更得到的管控策略自动在相应容器的网络命名空间内部署相应访问规则,实现了不同容器的访问规则的快速维护,提高了维护效率。并且,本实施例将每一容器的访问规则部署在该容器自己的网络命名空间内,使得不同容器的访问规则相互隔离,由此可实现:从本节点中任意容器发出的流量或需被发送至本节点中任意容器的流量在到达本节点的主机网络命名空间时,无需调用访问规则可直接将流量送达相应容器,而在流量到达相应容器的容器网络命名空间时,才会触发该容器网络命名空间内该容器专属的访问规则,因此无需调用与流量无关的访问规则,由此可降低通信开销,提升通信性能。
下面对本申请提出的包括管控范围和管控规则的管控策略做进一步介绍。
具体的,一个管控策略(networkpolicy)中的管控范围(即作用范围)和管控规则(包括入方向管控规则和出方向管控规则)可按照如下代码进行定义:
metadata:
name: test-network-policy #管控策略名称
namespace: hjw1 #管控策略所在应用空间
spec:
egress: #出方向管控规则列表
- ports:
protocol: TCP #出方向的对端协议类型
to:
- podSelector:
matchLabels:
name: istiod
ingress: #入方向管控规则列表
- from: #from表示本地可接收来自哪些容器的请求
- podSelector:
matchLabels:
name: istiod
ports: #入方向的本地端口
- port: 8080 #允许被访问的本地端口号
protocol: TCP #允许被访问的协议类型
podSelector: #表示该条管控策略的作用范围
matchLabels:
app: hello-1
policyTypes: #该条管控策略作用于入方向和/或出方向
- Ingress
- Egress
参照上述代码,作用范围以表达式podSelector:matchLabels:app:hello-1表示,符合该表达式的当前节点中的所有容器均被该管控策略管控。当然,还可以在节点中新建能够被该管控策略管控的容器,因此容器不一定是静态已存在的,也有是在管控策略networkpolicy定义后才创建,在创建容器后,可判断新建容器符合当前节点中的哪个管控策略定义的管控范围。
管控规则包括入方向管控规则(ingress)和出方向管控规则(egress),这两个规则的定义方法类似。以ingress为例,ingress支持多种写法,其中最典型的即是上述代码中from.podSelector+ports的定义方法。这个from.podSelector与上述作用范围的podSelector都是表达式的形式,用于表示本地哪个端口允许其他容器访问。
需要说明的是,管控策略networkpolicy中定义的管控规则需要相应转换为容器可识别的访问规则,才能使相应规则部署在相应容器的网络命名空间内,并在相应容器的网络命名空间内运行。
基于上述实施例,下面提供一种具体的实现方案,本实施例通过开发一个控制器来实现。具体的,开发一个控制器并安装在k8s云平台的每个节点中。该控制器可以将管控策略networkpolicy中定义的管控规则转换为iptables规则(即访问规则),并将iptables规则设置在相应容器的网络命名空间中。
在任意一个容器(pod)的网络命名空间内,某一iptables规则可表示为:iptables-IINPUT-s{ingress规则中符合要求的podIP }--dport{ ingress规则中的端口号}-jACCEPT,其含义为:特定IP地址的其他容器可访问本地容器的特定端口。
如果按照Calico等其他CNI方法,在节点的网络命名空间内写iptables规则,则iptables规则表示为:iptables-IINPUT-s{ingress规则中符合要求的podIP}–d{podSelector作用范围相关联的podIP或网卡名称等资源}--dport{ingress规则中的端口号}-jACCEPT,其含义仍为:特定IP地址的其他容器可访问本地容器的特定端口。
可见,按照本实施例不需要在iptables规则中设置作用范围关联的pod ip等资源,因此在调用规则时可省去pod ip等信息的查询步骤。这是因为pod的网络命名空间内的iptables规则只作用于本网络命名空间,故调用时无需再关注目的地址和端口等信息;而在节点的网络命名空间内设置的访问规则需要关联其他所有的容器和网络设备,所以需要在规则中定义明确的目的地址和端口。
为了将某一iptables规则设置到相应容器的网络命名空间,本实施例开发的控制器默认运行在节点的网络命名空间,其可以通过docker或其他容器查询命令,查询出该节点中某一容器的进程ID,再使用linux提供的nsenter命令,结合进程ID进入到该容器所在网络命名空间。在进入容器所在网络命名空间后,可见相应iptables规则存储在该网络命名空间内的访问数据表,该访问数据表中仅记录当前容器的iptables规则,而不记录其他容器的iptables规则。
需要说明的是,节点中的容器和管控策略networkpolicy都是动态变化的,因此需要在控制器中针对此动态变化实现相应更新功能。
具体的,使控制器通过list/watch机制实时监听管控策略及容器的变化。当有管控策略变化时,解析变化后的管控策略的作用范围和访问规则,将其转变为具体的iptables规则,并设置到作用范围所对应的pod所在的网络命名空间。list/watch机制是k8s提供的一种异步消息处理机制,基于此机制可以实现各组件与事件的实时同步。
当有容器变化时,判断变化后的容器是否仍在原管控策略的作用范围内,如果在,则利用原管控策略的管控规则更新pod对应的iptables规则;如果不在,则需要在节点中确定能够管控变化后的容器的新管控策略,然后据此新管控策略中的管控规则更新pod对应的iptables规则。相应地,因为当前变化的容器还可能访问其他容器,因此还需确定当前变化的容器访问的其他容器的iptables规则和管控规则是否需要更新。如果容器的端口号改变,那么由于该容器访问的其他容器的iptables规则和管控规则有记录该容器的端口号,因此需更新该容器访问的其他容器的iptables规则和管控规则。
基于上述,本申请与现有方案的对比可参照图2和图3。如图2所示,在现有方案中,无论访问pod1还是pod2,均需经过10条规则的判断,如图3所示,按照本申请访问pod1或pod2时,都仅需经过5条规则的判断。
在本实施例中,控制器以守护进程(daemonset)的形式运行在k8s云平台的每个节点上,每个节点上的控制器负责设置该节点上pod的iptables规则。具体的,某一节点中的控制器通过list/watch机制实时监听pod和管控策略的创建/修改事件,根据该事件确定相应的iptables规则,并设置到pod所在网络命名空间。
针对pod的创建/修改:当控制器监听到新pod创建,则获取到新pod的资源信息,包括pod名称、pod ip、所在节点等;之后调用k8s接口查询当前节点上的所有的管控策略,并依次解析每个管控策略得到相应的作用范围和管控规则,并转换得到iptables规则,之后将此iptables规则设置到当前所创建pod的网络命名空间。
请参见图4,任意节点中的控制器从新pod的资源信息中获取该pod所在节点,以据此确定当前所创建pod是否属于本节点;如果不属于本节点,则不需要处理;如果属于本节点,继续如下过程;解析本节点中的所有管控策略,以确定当前所创建pod落入哪个管控策略的作用范围。如果不在某一管控策略的作用范围内,则不需要处理;如果在某一管控策略的作用范围内,则继续下列处理,以为当前所创建pod添加该管控策略定义的规则:解析当前管控策略的管控规则,并将其转换为iptables规则,通过docker及nsenter命令进入到当前所创建pod的网络命名空间进行iptables规则的设置。
具体的,首先通过#dockerps|grep{pod名称}|grep–wvpause查询容器名称;而后通过以容器名称查询容器进程号(Pid)如:#dockerinspect{容器名称}|grepPid;之后通过nsenter进入pod所在网络命名空间,如:#nsenter--target{Pid}–net;最后在新pod所在网络命名空间中,使用linux标准的iptables add命令添加iptables规则。
由于新pod需要访问本节点中的其他pod,因此被新pod访问的本节点中的其他pod的iptables规则也需要相应更新,此时判断新pod是否在其他pod的管控规则中,如果在,则将其他pod的管控规则更新后,转换为新iptables规则,并设置此新iptables规则在其他pod的网络命名空间,具体可参照图4。
请参见图5,当控制器监听到变更后的管控策略,则将其中的管控规则转换成iptables规则,然后将此iptables规则设置到该管控策略的作用范围下的所有pod的网络命名空间。
需要说明的是,某一pod的网络命名空间内的iptables规则只影响当前pod的流量,不影响同一节点上的其他容器的流量,因此不影响节点整体的网络通信性能。并且,各pod所在网络命名空间内的iptables规则简单清晰,便于维护。
可见,本实施例使每个应用容器有自己独立的网络命名空间,并将iptables规则设置到应用容器所在网络命名空间,使得一个网络命名空间中的iptables规则只适用于本身,这种方式可以减少主机所在网络命名空间中的iptables规则数量,提升整体通信性能。
下面对本申请实施例提供的一种访问规则部署装置进行介绍,下文描述的一种访问规则部署装置与上文描述的一种访问规则部署方法可以相互参照。
参见图6所示,本申请实施例公开了一种访问规则部署装置,包括:
监听模块601,用于监听本节点中的管控策略变更事件;
第一确定模块602,用于确定管控策略变更事件变更得到的目标管控策略;目标管控策略包括:目标管控范围和目标管控规则;
第二确定模块603,用于确定落入目标管控范围内且属于本节点的目标容器;
部署模块604,用于基于目标管控规则生成目标容器的目标访问规则,并将目标访问规则部署于目标容器的目标网络命名空间。
在一种具体实施方式中,第一确定模块具体用于:解析管控策略变更事件,得到包括目标管控范围和目标管控规则的目标管控策略;其中,目标管控范围记录有目标容器的容器标识信息,目标管控规则记录有可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型。
在一种具体实施方式中,管控策略变更事件包括:管控策略创建事件和/或管控策略更新事件。
在一种具体实施方式中,第二确定模块包括:
第一单元,用于基于目标管控范围得到目标容器的容器标识信息;
第二单元,用于查询携带有容器标识信息且属于本节点的目标容器。
在一种具体实施方式中,第二单元具体用于:利用匹配函数查询携带有容器标识信息且属于本节点的目标容器。
在一种具体实施方式中,第二单元具体用于:利用匹配函数在本节点所属的云平台中查询携带有容器标识信息的多个容器;从多个容器中筛选属于本节点的目标容器。
在一种具体实施方式中,部署模块具体用于:基于目标管控规则得到可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型;基于可被本地访问的对端端口号和对端协议类型生成出方向规则;基于可被对端访问的本地端口号和本地协议类型生成入方向规则;将出方向规则和/或入方向规则确定为目标访问规则。
在一种具体实施方式中,部署模块具体用于:查询目标容器的进程标识信息;基于进程标识信息进入目标网络命名空间;将目标访问规则记录至目标网络命名空间内的访问数据表。
在一种具体实施方式中,还包括:
容器更新模块,用于获取目标容器的更新消息;若通过更新消息确定目标容器的容器标识信息被修改,则获取修改后的新容器标识信息;若新容器标识信息与目标管控范围记录的容器标识信息不一致,则在本节点中查询其他管控策略;若其他管控策略中的管控范围记录有新容器标识信息,则基于其他管控策略中的管控规则生成新访问规则,并用新访问规则替换目标网络命名空间中的目标访问规则。
在一种具体实施方式中,容器更新模块还用于:若通过更新消息确定目标容器的本地端口号和/或本地协议类型被修改,则获取修改后的本地新端口号和/或修改后的本地新协议类型;基于本地新端口号和/或本地新协议类型修改目标管控规则;基于修改后的目标管控规则更新目标网络命名空间中的目标访问规则。
在一种具体实施方式中,容器更新模块还用于:在基于修改后的目标管控规则更新目标网络命名空间中的目标访问规则之后,在本节点中查询记录有本地新端口号的管控策略,得到需更新管控策略;基于本地新端口号和/或本地新协议类型更新需更新管控策略中的管控规则,并基于更新后的管控规则更新需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
在一种具体实施方式中,还包括:
发送模块,用于发送目标容器的本地端口号和/或本地协议类型被修改的通知消息至本节点所属云平台中的其他节点,以使其他节点在自身中查询需更新管控策略;基于本地新端口号和/或本地新协议类型更新需更新管控策略中的管控规则,并基于更新后的管控规则更新需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
在一种具体实施方式中,容器更新模块还用于:若新容器标识信息与目标管控范围记录的容器标识信息不一致、且在本节点中未查询到记录有新容器标识信息的其他管控策略,则从目标网络命名空间中删除目标访问规则。
在一种具体实施方式中,还包括:
容器创建模块,用于接收容器创建消息;若根据容器创建消息确定当前所创建容器属于本节点,则在本节点中确定用于管控当前所创建容器的可用管控策略;基于可用管控策略中的管控规则生成当前所创建容器的访问规则,并将当前所创建容器的访问规则部署于当前所创建容器的网络命名空间。
在一种具体实施方式中,容器创建模块具体用于:解析容器创建消息,得到当前所创建容器的名称、TP地址、容器标识信息、进程标识信息以及所属节点标识;若当前所创建容器的所属节点标识与本节点的节点标识一致,则确定当前所创建容器属于本节点。
在一种具体实施方式中,容器创建模块具体用于:查询本节点中的所有管控策略;若当前所创建容器的容器标识信息与任一管控策略中的管控范围记录的容器标识信息一致,则将该管控策略确定为当前所创建容器的可用管控策略。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种访问规则部署装置,能够方便维护不同容器的访问规则,并降低通信开销。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种访问规则部署方法及装置可以相互参照。
参见图7所示,本申请实施例公开了一种电子设备,包括:
存储器701,用于保存计算机程序;
处理器702,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:监听本节点中的管控策略变更事件;确定管控策略变更事件变更得到的目标管控策略;目标管控策略包括:目标管控范围和目标管控规则;确定落入目标管控范围内且属于本节点的目标容器;基于目标管控规则生成目标容器的目标访问规则,并将目标访问规则部署于目标容器的目标网络命名空间。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:接收容器创建消息;若根据容器创建消息确定当前所创建容器属于本节点,则在本节点中确定用于管控当前所创建容器的可用管控策略;基于可用管控策略中的管控规则生成当前所创建容器的访问规则,并将当前所创建容器的访问规则部署于当前所创建容器的网络命名空间。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:从本节点中任意容器发出的流量或需被发送至本节点中任意容器的流量在到达本节点的主机网络命名空间时,直接将流量送达相应容器,在流量到达相应容器的容器网络命名空间时,触发该容器网络命名空间内该容器专属的访问规则。
进一步的,本申请实施例还提供了一种服务器来作为上述电子设备。该服务器,具体可以包括:至少一个处理器、至少一个存储器、电源、通信接口、输入输出接口和通信总线。其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行,以实现前述任一实施例公开的访问规则部署方法中的相关步骤。
本实施例中,电源用于为服务器上的各硬件设备提供工作电压;通信接口能够为服务器创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
其中,操作系统用于管理与控制服务器上的各硬件设备以及计算机程序,以实现处理器对存储器中数据的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序除了包括能够用于完成前述任一实施例公开的访问规则部署方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据除了可以包括虚拟机等数据外,还可以包括虚拟机的开发商信息等数据。
进一步的,本申请实施例还提供了一种终端来作为上述电子设备。该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的终端包括有:处理器和存储器。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的访问规则部署方法中的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于应用程序的更新信息。
在一些实施例中,终端还可包括有显示屏、输入输出接口、通信接口、传感器、电源以及通信总线。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种访问规则部署方法、装置及设备可以相互参照。
本申请实施例公开了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的访问规则部署方法。其中,可读存储介质为计算机可读存储介质,其作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
下面对本申请实施例提供的一种云平台进行介绍,下文描述的一种云平台与上文描述的一种访问规则部署方法、装置及设备可以相互参照。
本申请实施例公开了一种云平台,包括:多个节点,每一节点用于执行前述公开的访问规则部署方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (20)
1.一种访问规则部署方法,其特征在于,包括:
监听本节点中的管控策略变更事件;
确定所述管控策略变更事件变更得到的目标管控策略;所述目标管控策略包括:目标管控范围和目标管控规则;
确定落入所述目标管控范围内且属于本节点的目标容器;
基于所述目标管控规则生成所述目标容器的目标访问规则,并将所述目标访问规则部署于所述目标容器的目标网络命名空间;
若所述目标容器的容器标识信息被修改、且修改后的新容器标识信息与所述目标管控范围记录的容器标识信息不一致,则在本节点中查询其他管控策略;
若所述其他管控策略中的管控范围记录有所述新容器标识信息,则基于所述其他管控策略中的管控规则生成新访问规则,并用所述新访问规则替换所述目标网络命名空间中的所述目标访问规则。
2.根据权利要求1所述的方法,其特征在于,所述确定所述管控策略变更事件变更得到的目标管控策略,包括:
解析所述管控策略变更事件,得到包括所述目标管控范围和所述目标管控规则的所述目标管控策略;其中,所述目标管控范围记录有所述目标容器的容器标识信息,所述目标管控规则记录有可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型。
3.根据权利要求1所述的方法,其特征在于,所述管控策略变更事件包括:管控策略创建事件和/或管控策略更新事件。
4.根据权利要求1所述的方法,其特征在于,所述确定落入所述目标管控范围内且属于本节点的目标容器,包括:
基于所述目标管控范围得到所述目标容器的容器标识信息;
查询携带有所述容器标识信息且属于本节点的目标容器。
5.根据权利要求4所述的方法,其特征在于,所述查询携带有所述容器标识信息且属于本节点的目标容器,包括:
利用匹配函数查询携带有所述容器标识信息且属于本节点的目标容器。
6.根据权利要求5所述的方法,其特征在于,所述利用匹配函数查询携带有所述容器标识信息且属于本节点的目标容器,包括:
利用所述匹配函数在本节点所属的云平台中查询携带有所述容器标识信息的多个容器;
从所述多个容器中筛选属于本节点的所述目标容器。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标管控规则生成所述目标容器的目标访问规则,包括:
基于所述目标管控规则得到可被本地访问的对端端口号和对端协议类型、以及可被对端访问的本地端口号和本地协议类型;
基于可被本地访问的对端端口号和对端协议类型生成出方向规则;
基于可被对端访问的本地端口号和本地协议类型生成入方向规则;
将所述出方向规则和/或所述入方向规则确定为所述目标访问规则。
8.根据权利要求1所述的方法,其特征在于,所述将所述目标访问规则部署于所述目标容器的目标网络命名空间,包括:
查询所述目标容器的进程标识信息;
基于所述进程标识信息进入所述目标网络命名空间;
将所述目标访问规则记录至所述目标网络命名空间内的访问数据表。
9.根据权利要求1所述的方法,其特征在于,还包括:
获取所述目标容器的更新消息;
若通过所述更新消息确定所述目标容器的容器标识信息被修改,则获取修改后的新容器标识信息。
10.根据权利要求9所述的方法,其特征在于,还包括:
若通过所述更新消息确定所述目标容器的本地端口号和/或本地协议类型被修改,则获取修改后的本地新端口号和/或修改后的本地新协议类型;
基于本地新端口号和/或本地新协议类型修改所述目标管控规则;
基于修改后的目标管控规则更新所述目标网络命名空间中的所述目标访问规则。
11.根据权利要求10所述的方法,其特征在于,所述基于修改后的目标管控规则更新所述目标网络命名空间中的所述目标访问规则之后,还包括:
在本节点中查询记录有本地新端口号的管控策略,得到需更新管控策略;
基于本地新端口号和/或本地新协议类型更新所述需更新管控策略中的管控规则,并基于更新后的管控规则更新所述需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
12.根据权利要求11所述的方法,其特征在于,还包括:
发送所述目标容器的本地端口号和/或本地协议类型被修改的通知消息至本节点所属云平台中的其他节点,以使所述其他节点在自身中查询所述需更新管控策略;基于本地新端口号和/或本地新协议类型更新所述需更新管控策略中的管控规则,并基于更新后的管控规则更新所述需更新管控策略中的管控范围内的所有容器的网络命名空间中的访问规则。
13.根据权利要求9所述的方法,其特征在于,还包括:
若所述新容器标识信息与所述目标管控范围记录的容器标识信息不一致、且在本节点中未查询到记录有所述新容器标识信息的其他管控策略,则从所述目标网络命名空间中删除所述目标访问规则。
14.根据权利要求1至13任一项所述的方法,其特征在于,还包括:
接收容器创建消息;
若根据所述容器创建消息确定当前所创建容器属于本节点,则在本节点中确定用于管控当前所创建容器的可用管控策略;
基于所述可用管控策略中的管控规则生成当前所创建容器的访问规则,并将当前所创建容器的访问规则部署于当前所创建容器的网络命名空间。
15.根据权利要求14所述的方法,其特征在于,所述根据所述容器创建消息确定当前所创建容器属于本节点,包括:
解析所述容器创建消息,得到当前所创建容器的名称、TP地址、容器标识信息、进程标识信息以及所属节点标识;
若当前所创建容器的所属节点标识与本节点的节点标识一致,则确定当前所创建容器属于本节点。
16.根据权利要求14所述的方法,其特征在于,所述在本节点中确定用于管控当前所创建容器的可用管控策略,包括:
查询本节点中的所有管控策略;
若当前所创建容器的容器标识信息与任一管控策略中的管控范围记录的容器标识信息一致,则将该管控策略确定为当前所创建容器的可用管控策略。
17.一种访问规则部署装置,其特征在于,包括:
监听模块,用于监听本节点中的管控策略变更事件;
第一确定模块,用于确定所述管控策略变更事件变更得到的目标管控策略;所述目标管控策略包括:目标管控范围和目标管控规则;
第二确定模块,用于确定落入所述目标管控范围内且属于本节点的目标容器;
部署模块,用于基于所述目标管控规则生成所述目标容器的目标访问规则,并将所述目标访问规则部署于所述目标容器的目标网络命名空间;
其中,还包括:
容器更新模块,用于若所述目标容器的容器标识信息被修改、且修改后的新容器标识信息与所述目标管控范围记录的容器标识信息不一致,则在本节点中查询其他管控策略;若所述其他管控策略中的管控范围记录有所述新容器标识信息,则基于所述其他管控策略中的管控规则生成新访问规则,并用所述新访问规则替换所述目标网络命名空间中的所述目标访问规则。
18.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至16任一项所述的方法。
19.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的方法。
20.一种云平台,其特征在于,包括:多个节点,每一节点用于执行如权利要求1至16任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310083974.XA CN115801569B (zh) | 2023-02-07 | 2023-02-07 | 一种访问规则部署方法、装置、设备、介质及云平台 |
PCT/CN2023/121781 WO2024164540A1 (zh) | 2023-02-07 | 2023-09-26 | 一种访问规则部署方法、装置、设备、非易失性可读存储介质及云平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310083974.XA CN115801569B (zh) | 2023-02-07 | 2023-02-07 | 一种访问规则部署方法、装置、设备、介质及云平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801569A CN115801569A (zh) | 2023-03-14 |
CN115801569B true CN115801569B (zh) | 2023-04-25 |
Family
ID=85430491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310083974.XA Active CN115801569B (zh) | 2023-02-07 | 2023-02-07 | 一种访问规则部署方法、装置、设备、介质及云平台 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115801569B (zh) |
WO (1) | WO2024164540A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801569B (zh) * | 2023-02-07 | 2023-04-25 | 苏州浪潮智能科技有限公司 | 一种访问规则部署方法、装置、设备、介质及云平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911577A (zh) * | 2022-05-25 | 2022-08-16 | 远景智能国际私人投资有限公司 | 网络隔离规则的设置方法、装置、设备及存储介质 |
CN115037551A (zh) * | 2022-06-29 | 2022-09-09 | 北京奇艺世纪科技有限公司 | 连接权限控制方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11190424B2 (en) * | 2020-01-15 | 2021-11-30 | Vmware, Inc. | Container-based connectivity check in software-defined networking (SDN) environments |
CN111709014B (zh) * | 2020-05-27 | 2022-06-07 | 浪潮电子信息产业股份有限公司 | 一种应用隔离方法、系统、设备及计算机可读存储介质 |
CN111934918B (zh) * | 2020-07-24 | 2023-07-11 | 北京金山云网络技术有限公司 | 对同一容器集群内的容器实例的网络隔离方法和装置 |
CN112153049B (zh) * | 2020-09-24 | 2023-01-17 | 绿盟科技集团股份有限公司 | 入侵检测方法、装置,电子设备和计算机可读介质 |
CN112416528B (zh) * | 2020-12-04 | 2024-03-22 | 福建福诺移动通信技术有限公司 | 一种实现非侵入性的微服务间接口安全调用的方法 |
CN115048188A (zh) * | 2022-06-28 | 2022-09-13 | 绿盟科技集团股份有限公司 | 容器的网络隔离控制系统、方法、电子设备及存储介质 |
CN115801569B (zh) * | 2023-02-07 | 2023-04-25 | 苏州浪潮智能科技有限公司 | 一种访问规则部署方法、装置、设备、介质及云平台 |
-
2023
- 2023-02-07 CN CN202310083974.XA patent/CN115801569B/zh active Active
- 2023-09-26 WO PCT/CN2023/121781 patent/WO2024164540A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911577A (zh) * | 2022-05-25 | 2022-08-16 | 远景智能国际私人投资有限公司 | 网络隔离规则的设置方法、装置、设备及存储介质 |
CN115037551A (zh) * | 2022-06-29 | 2022-09-09 | 北京奇艺世纪科技有限公司 | 连接权限控制方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024164540A1 (zh) | 2024-08-15 |
CN115801569A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902255B (zh) | 页面混合浏览记录生成方法、装置、设备和存储介质 | |
CN102624881B (zh) | 一种面向移动设备的服务缓存系统架构及开发方法 | |
CN114244595B (zh) | 权限信息的获取方法、装置、计算机设备及存储介质 | |
WO2023065707A1 (zh) | 一种页面显示方法及装置 | |
EP3817339B1 (en) | Method and system for management of an artificial intelligence development platform | |
CN115801569B (zh) | 一种访问规则部署方法、装置、设备、介质及云平台 | |
CN113204353A (zh) | 一种大数据平台组件部署方法及装置 | |
CN114661419A (zh) | 一种服务质量控制系统及方法 | |
CN114826749A (zh) | 一种接口访问控制方法、装置、介质 | |
CN113297031A (zh) | 容器集群中的容器组防护方法及装置 | |
CN113204425A (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN115470303B (zh) | 一种数据库访问方法、装置、系统、设备及可读存储介质 | |
CN115774700A (zh) | 文件共享方法、装置、计算机设备及存储介质 | |
CN114924826A (zh) | 基于不同的代码平台的页面融合方法、装置和设备 | |
CN114285842A (zh) | 一种基于云桌面的电子阅览室搭建方法及系统 | |
CN114611144A (zh) | 权限控制方法、装置、设备、介质及程序产品 | |
CN109388611B (zh) | 一种基于统一接口的大数据策略化储存系统 | |
CN112380411A (zh) | 敏感词处理方法、装置、电子设备、系统及存储介质 | |
CN116501449B (zh) | 云原生环境下对于容器文件的管理方法及系统 | |
KR20190062801A (ko) | oneM2M 기반 데이터 관제 API 구성 방법 | |
CN116760913B (zh) | k8s集群协议转换平台配置下发方法及系统 | |
US20230014025A1 (en) | Method and device for processing service using request, and computer readable storage medium | |
US20240259473A1 (en) | Distributed serverless rule consequence evaluation for a containerized rules engine | |
US20240126778A1 (en) | Large object data replication | |
CN117707993A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |