本技术涉及云服务领域,尤其涉及一种pod网络隔离方法和系统、电子设备和存储介质。
背景技术:
::1、kubernetes(一个可以移植,可扩展的开源平台,使用声明式配置并依据配置信息自动地执行容器化应用程序的管理,在所有的容器编排工具中,kubernetes的生态系统更大,增长更快,有更多的支持,服务和工具可供用户选择)提供了networkpolicy,用于定义基于pod(kubernetes中一个抽象的概念,用于存放一组容器以及这些容器的一些共享资源,比如共享存储,共享网络,容器的基本信息等)的网络隔离策略,描述了一组pod是否可以与其他组pod,以及其他network endpoints进行通信。2、但是,由于networkpolicy只是kubernetes提供的一种资源,具体实现对不同的pod之间进行网络隔离,还是需要指定的插件去实现。3、相关技术中,都是采用controller+iptables的方案来实现,使用iptables的特性去控制节点上某个pod的流量的变化情况,但是,采用controller+iptables的方案对不同的pod之间进行网络隔离,会存在以下的缺点:4、在使用kubernetes的networkpolicy策略对pod进行网络控制时,存在着网络策略controller对kubernetes api server产生过大的负载情况,因为集群的每个节点都会启动一个controller用于监听kubernetes api server中networkpolicy资源的变化,在大集群下,这种方式会大大加大kubernetes api server的负载情况。5、因此,相关技术中存在当大集群下,kubernetes api server的负载高的技术问题。技术实现思路1、本技术提供了一种pod网络隔离方法和系统、电子设备和存储介质,以至少解决相关技术中存在当大集群下,kubernetes api server的负载高的问题。2、根据本技术实施例的一个方面,提供了一种pod网络隔离方法,包括:3、目标监听组件对网络策略资源进行监听,确定出被关联至目标pod的目标网络策略配置文件,其中,所述网络策略资源包括至少一个候选网络策略配置文件,网络策略配置文件用于对pod进行网络配置;4、所述目标监听组件将所述目标网络策略配置文件推送至所述目标pod所在节点的目标控制组件,其中,所述目标监听组件通信连接有多个控制组件,所述多个控制组件包括所述目标控制组件;5、所述目标控制组件按照所述目标网络策略配置文件中的安全隔离信息,对所述目标pod进行网络隔离。6、可选地,如前述的方法,所述目标监听组件对网络策略资源进行监听,确定出被关联至目标pod的目标网络策略配置文件,包括:7、目标监听组件对网络策略资源进行监听,得到所述网络策略资源的资源变化信息;8、所述目标监听组件在根据所述资源变化信息确定所述网络策略资源发生变化的情况下,在所有候选网络策略配置文件中确定出被关联至所述目标pod的所述目标网络策略配置文件,其中,所述网络策略资源包括所述所有候选网络策略配置文件。9、可选地,如前述的方法,所述目标监听组件将所述目标网络策略配置文件推送至所述目标pod所在节点的目标控制组件,包括:10、所述目标监听组件按照每个节点中包括的pod,在所有节点中确定出所述目标pod所在节点;11、所述目标监听组件通过grpc协议将所述目标网络策略配置文件推送至所述目标控制组件。12、可选地,如前述的方法,所述目标控制组件按照所述目标网络策略配置文件中的安全隔离信息,对所述目标pod进行网络隔离,包括:13、所述目标控制组件获取所述目标网络策略配置文件中的所述安全隔离信息;14、所述目标控制组件在根据所述安全隔离信息确定已存在与所述安全隔离信息所对应的目标安全组的情况下,按照所述安全隔离信息中指示的目标安全组,将所述目标pod放入至所述目标安全组中,其中,所述目标pod只允许与所述目标安全组中的其他pod相互访问。15、可选地,如前述的方法,所述目标控制组件按照所述目标网络策略配置文件中指示的安全隔离信息,对所述目标pod进行网络隔离,包括:16、所述目标控制组件获取所述目标网络策略配置文件中的所述安全隔离信息;17、所述目标控制组件在根据所述安全隔离信息确定不存在与所述安全隔离信息所对应的目标安全组的情况下,按照所述安全隔离信息构建得到目标安全组;18、所述目标控制组件将所述目标pod放入至所述目标安全组中,其中,所述目标pod只允许与所述目标安全组中的其他pod相互访问。19、可选地,如前述的方法,所述目标控制组件在根据所述安全隔离信息确定不存在与所述安全隔离信息所对应的目标安全组的情况下,按照所述安全隔离信息构建得到目标安全组,包括:20、所述目标控制组件在根据所述安全隔离信息确定不存在与所述安全隔离信息所对应的目标安全组的情况下,获取所述安全隔离信息中指示的端口信息;21、所述目标控制组件调用安全组资源,并按照所述端口信息构建得到所述目标安全组。22、可选地,如前述的方法,所述方法还包括:23、获取新增的新增节点;24、在所有监听组件中每个监听组件所关联的控制组件的数量大于或等于预设数量上限的情况下,设置新增监听组件,其中,所述所有监听组件包括所述目标监听组件;25、建立所述新增监听组件与所述网络策略资源的第一通信连接以及建立所述新增监听组件与所述新增节点中的新增控制组件的第二通信连接。26、根据本技术实施例的另一个方面,还提供了一种pod网络隔离系统,包括:27、目标监听组件,用于对网络策略资源进行监听,确定出被关联至目标pod的目标网络策略配置文件,其中,所述网络策略资源包括至少一个候选网络策略配置文件,网络策略配置文件用于对pod进行网络配置;28、所述目标监听组件,还用于将所述目标网络策略配置文件推送至所述目标pod所在节点的目标控制组件,其中,所述目标监听组件通信连接有多个控制组件,所述多个控制组件包括所述目标控制组件;29、所述目标控制组件,用于按照所述目标网络策略配置文件中的安全隔离信息,对所述目标pod进行网络隔离。30、根据本技术实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。31、根据本技术实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。32、在本技术实施例中,通过设置目标监听组件,并通过目标监听组件对网络策略资源进行监听,以确定出是否存在被关联至目标pod的目标网络策略配置文件,并且,目标监听组件通信连接有多个控制组件,从而可以减少网络策略资源被监听的数量,减低网络策略资源的负载情况,进而可以避免每个控制组件都对网络策略资源进行监听,造成大集群下,kubernetes api server的负载高的技术问题。当前第1页12当前第1页12
技术特征:1.一种pod网络隔离方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述目标监听组件对网络策略资源进行监听,确定出被关联至目标pod的目标网络策略配置文件,包括:
3.根据权利要求1所述的方法,其特征在于,所述目标监听组件将所述目标网络策略配置文件推送至所述目标pod所在节点的目标控制组件,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标控制组件按照所述目标网络策略配置文件中的安全隔离信息,对所述目标pod进行网络隔离,包括:
5.根据权利要求1所述的方法,其特征在于,所述目标控制组件按照所述目标网络策略配置文件中指示的安全隔离信息,对所述目标pod进行网络隔离,包括:
6.根据权利要求5所述的方法,其特征在于,所述目标控制组件在根据所述安全隔离信息确定不存在与所述安全隔离信息所对应的目标安全组的情况下,按照所述安全隔离信息构建得到目标安全组,包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
8.一种pod网络隔离系统,其特征在于,包括:
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法步骤。
技术总结本申请提供了一种Pod网络隔离方法和系统、电子设备和存储介质。其中,方法包括:目标监听组件对网络策略资源进行监听,确定出被关联至目标Pod的目标网络策略配置文件,其中,网络策略资源包括至少一个候选网络策略配置文件,网络策略配置文件用于对Pod进行网络配置;目标监听组件将目标网络策略配置文件推送至目标Pod所在节点的目标控制组件,其中,目标监听组件通信连接有多个控制组件,多个控制组件包括目标控制组件;目标控制组件按照目标网络策略配置文件中的安全隔离信息,对所述目标Pod进行网络隔离。通过本申请可以避免每个控制组件都对网络策略资源进行监听,造成大集群下,Kubernetes API Server的负载高的技术问题。
技术研发人员:曹迪
受保护的技术使用者:北京金山云网络技术有限公司
技术研发日:技术公布日:2024/6/26