首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于Neutron和GBP的网络访问控制方法、存储介质、电子设备 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:杭州才云科技有限公司

摘要:基于Neutron和GBP的网络访问控制方法,包括步骤:容器云平台创建Partition,监听创建Partition事件,获取令牌,在Openstack创建与用户输入的L3Policy关联的L2Policy,通过L2Policy创建Network,通过Network创建Subnet,指定SubnetPool为L3Policy的SubnetPool,创建与L2Policy和Subnet对应的PolicyTargetGroup;将GBP的资源与Openstack的资源关联。本发明通过Openstack与GBP对接,实现Kubernetes集群租户网络隔离、租户的容器组之间网络通断控制、租户内容器组和虚拟机组之间网络通断控制、租户内容器的带宽控制。

主权项:1.基于Neutron和GBP的网络访问控制方法,所述GBP是基于组的策略,其特征在于,包括以下步骤:创建关联资源,容器云平台创建Partition,Kuryr-controller监听创建Partition事件,获取远程令牌或本地缓存令牌,在Openstack创建与用户输入的L3Policy关联的创建L2Policy,通过L2Policy创建Network,通过所述Network创建Subnet,指定SubnetPool为L3Policy的SubnetPool,创建与L2Policy和Subnet对应的PolicyTargetGroup;建立资源关联,通过Neutron的resource_mapping插件,分别建立GBP的PolicyTarget、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port、Subnet、Network、Router、SecurityGroup、QOSPolicy资源的关联,其中,在同一个L3Policy的不同PolicyGroup使用访问控制进行网络访问,不同L3Policy下的网络资源不属于相同的路由域。

全文数据:基于Neutron和GBP的网络访问控制方法、存储介质、电子设备技术领域[0001]本发明涉及云计算的技术领域,尤其涉及基于Neutron和GBP的网络访问控制方法、存储介质、电子设备。背景技术[0002]Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能包括使用Docker对应用程序包装、实例化、运行;以集群的方式运行、管理跨机器的容器;解决Docker跨机器容器之间的通讯问题;Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。原生Kubernetes能够实现Namespace和Namespace之间的网络通断,但是现有技术中将Namespace当成租户,就无法实现Namespace内部由多个容器组成的容器组之间的网络通断。此外,原生Kubernetes无法对容器网络带宽进行控制,导致某些容器占用了大量的网络带宽,从而影响到其他用户或租户的容器服务。发明内容[0003]为了克服现有技术的不足,本发明的目的在于提供一种实现Kubernetes租户网络的隔离,控制租户内容器带宽的基于Neutron和GBP的网络访问控制方法。[0004]本发明提供基于Neutron和GBP的网络访问控制方法,包括以下步骤:[0005]创建关联资源,容器云平台创建Partition,Kuryr-controller监听创建Partition事件,获取远程令牌或本地缓存令牌,在Openstack创建与用户输入的L3Policy关联的创建L2Po1icy,通过L2Policy创建Network,通过所述Network创建Subnet,指定SubnetPool为L3Policy的SubnetPool,创建与L2Policy和Subnet对应的PolicyTargetGroup;[0006]建立资源关联,分别建立GBP的PolicyTarget、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port、Subnet、Network、Router、SecurityGroup、Q0SPolicy资源的关联。[0007]进一步地,创建关联资源中,当所述容器云平台创建Partition时,获取用户输入PodCIDR和ServiceCIDR,根据所述PodCIDR和ServiceCIDR,在Openstack创建分别与Kubernetes集群Pod和Service对应L2Policy、Subnet、PolicyTargetGroup。[0008]进一步地,所述用户输入的L3Policy、PodCIDR和ServiceCIDR具有注解标识,所述注解标识包括Kubernetes集群ID、0penstackdomainID、L3PolicyID、Partition状态、PodCIDR、租户ID、ServiceCIDR。[0009]进一步地,创建关联资源中,所述L2Policy、Network、Subnet、PolicyTargetGroup与Kubernetes集群租户对应的Namespace关联。[0010]进一步地,还包括步骤网络安全控制:Kuryr-controller创建CRDNamespace范围内的NetworkPolicy,当Kuryr-controller检测到创建Namespace对应的NetworkPolicy事件时,容器云平台创建Partition对应的NetworkPolicy,当Kuryr-controller检测到创建Partition对应的NetworkPolicy事件时,在Openstack创建PolicyClassifier、PolicyAction、PolicyRule、RuleSet。[0011]进一步地,还包括步骤网络带宽控制:将NetworkServicePolicy与PolicyGroup绑定,通过设置NeurtronQoS的maxrate和burstrate进行QoS带宽控制,maxrate为网口最大的上行带宽速率,burstrate为使用最大上行带宽速率时网口发送的报文大小。[0012]进一步地,网络带宽控制中,容器云平台创建调度,Kubernetes集群创建同步集,并创建?〇1,当11^71-:0111:;1:〇1161'检测到创建?01事件时,在^6118七8^:创建对应的?〇:1:1:,并通过Port创建GroupTarget。[0013]进一步地,建立资源关联中,通过Neutron的resource_mapping插件建立GBP的PolicyTarget、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port'Subnet'Network、Router、SecurityGroup、QOSPolicy资源的关联。[0014]一种电子设备,包括:处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行基于Neutron和GBP的网络访问控制方法。[0015]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行基于Neutron和GBP的网络访问控制方法。[0016]相比现有技术,本发明的有益效果在于:[0017]本发明提供基于Neutron和GBP的网络访问控制方法,通过Openstack与GBP对接,实现Kubernetes集群租户网络隔离,实现租户的容器组之间网络通断控制,同时还能够实现租户内容器组和虚拟机组之间网络通断控制。实现控制租户内容器的带宽,解决了某些容器占用大量的网络带宽而影响其他用户或租户的容器服务问题。[0018]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。附图说明[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:[0020]图1为本发明的基于Neutron和GBP的网络访问控制方法流程图;[0021]图2为本发明的基于Neutron和GBP的网络访问控制方法网络安全控制步骤流程图;[0022]图3为本发明的基于Neutron和GBP的网络访问控制方法网络带宽控制步骤流程图。具体实施方式[0023]下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。[0024]由于Openstack云管理平台使用GBP管理网络资源,为了保证管理Kubernetes集群的容器云平台与云管理平台对接时兼容,容器云平台与云管理平台对接时引入GBP对象管理网络资源,GBPgroup-basedpolicy为基于组的策略,提供了声明式的、从使用者意图出发的一种架构。在这个模式下,用户面对的是应用架构本身,而不是Neutron中的各种网络元素。基于Neutron和GBP的网络访问控制方法,如图1所示,包括以下步骤:[0025]创建关联资源,容器云平台创建Partition,Kuryr-controller监听创建Partition事件,获取远程令牌或本地缓存令牌,在Openstack创建与用户输入的L3Policy关联的创建L2Policy,通过L2Policy创建Network,通过Network创建Subnet,指定SubnetPool为L3Policy的SubnetPool,创建与L2Policy和Subnet对应的PolicyTargetGroup;[0026]建立资源关联,通过Neutron提供的resource_mapping插件将GBP的对象映射为Neutron的资源。GBP的ApplicationPolicy进彳丁策略访问控制,ApplicationPolicy包括PolicyRuleSet策略规则集)、PolicyRule策略规则)、P〇licyClassifier分类器)、PolicyAction动作)。在同一个L3Policy的不同PolicyGroup可以使用访问控制进行网络访问,不同L3Policy下的网络资源不属于相同的路由域,所以不能进行相互访问。分别建立GBP的PolicyTarget策略目标)、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port、Subnet、Network、Router、SecurityGroup、Q0SPolicy资源的关联,通过PolicyRuleSet与Neutron的SecurityGroup资源映射实现容器云平台的网络访问D[0027]如图1所示,优选的,创建关联资源中,当容器云平台创建Partition时,Partition与Kubernetes集群的Namespace—一对应,获取用户输入P〇dCIDR和ServiceCIDR,根据PodCIDR和ServiceCIDR,在Openstack创建分别与Kubernetes集群Pod和Service对应L2Policy、Subnet、PolicyTargetGroup。[0028]创建具体的Kubernetes网络资源之前,需要规划相应的地址范围及二层广播域进行不同Kubernetes集群内租户的网络资源隔离。Openstack的二层广播域和CIDR地址池的划分由Network和Subnet决定,而Kubernetes的网络资源基于Namespace,通过Kubernetes的Namespace与Openstack的Network、Subnet的映射实现不同Kubernetes集群内租户的网络资源隔_。优选的,创建关联资源中,L2Policy、Network、Subnet、PolicyTargetGroup与Kubernetes集群租户对应的Namespace关联。[0029]在一实施例中,优选的,创建Partition时用户输入的L3Policy、PodCIDR和ServiceCIDR具有注解标识,注解标识包括Kubernetes集群ID、0penstackdomainID、L3PolicyID、Partition状态、PodCIDR、租户ID、ServiceCIDR〇[0030]如图2所不,优选的,还包括步骤网络安全控制:Kuryr-controller创建CRDNamespace范围内的NetworkPolicy,当Kuryr-controller检测到创建Namespace对应的NetworkPolicy事件时,容器7X平台创建Partition对应的NetworkPolicy,当Kuryr-controller检测到创建Partition对应的NetworkPolicy事件时,在Openstack创建PolicyClassifier、PolicyAction、PolicyRule、RuleSet,通过PolicyClassifier、PolicyAction对PolicyRule进行更新,更新Partition的RuleSet。[0031]在一实施例中,优选的,还包括步骤网络带宽控制:将NetworkServicePolicy与PolicyGroup绑定,通过设置NeurtronQoS的maxrate和burstrate进行QoS带宽控制,maxrate为网口最大的上行带宽速率,单位为kbs,burstrate为使用最大上行带宽速率时网口发送的报文大小,单位为kb,将NetworkServicePolicy定义的带宽限速功能作用到PolicyTarget上。[0032]在创建应用模板时指定QoS带宽策略,本实施例中QoS带宽策略中QoS带宽包括管理0.5Gbps、低(lGbps、中(2Gbps、高4Gbps,由此模板创建的容器则使用此模板指定QoS带宽策略。如图3所示,优选的,网络带宽控制中,容器云平台创建调度,Kubernetes集群创建同步集,并创建P〇d,当111巧;1:-3〇]11:]:〇1161'检测到创建?01事件时,在^^113七3^^创建对应的Port,并通过Port创建GroupTarget。[OO33]应当理解,一种电子设备,包括:处理器;存储器;以及程序,其中程序被存储在存储器中,并且被配置成由处理器执行,程序包括用于执行基于Neutron和GBP的网络访问控制方法也属于本发明保护;一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行基于Neutron和GBP的网络访问控制方法也属于本发明保护。[0034]以上,仅为本发明的较佳实施例而己,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

权利要求:1.基于Neutron和GBP的网络访问控制方法,其特征在于,包括以下步骤:创建关联资源,容器云平台创建?1^;[丨;[〇11,111巧1'-〇〇11丨1'〇110]^监听创建?31^;[丨;[〇11事件,获取远程令牌或本地缓存令牌,在Openstack创建与用户输入的L3Policy关联的创建L2Policy,通过L2Policy创建Network,通过所述Network创建Subnet,指定SubnetPool为L3Policy的SubnetPool,创建与L2Policy和Subnet对应的PolicyTargetGroup;建立资源关联,分别建立GBP的PolicyTarget、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port、Subnet、Network、Router、SecurityGroup、Q0SPolicy资源的关联。2.如权利要求1所述的基于Neutron和GBP的网络访问控制方法,其特征在于:创建关联资源中,当所述容器云平台创建Partition时,获取用户输入PodCIDR和ServiceCIDR,根据所述PodCIDR和ServiceCIDR,在Openstack创建分别与Kubernetes集群Pod和Service对应L2Policy、Subnet、PolicyTargetGroup〇3.如权利要求2所述的基于Neutron和GBP的网络访问控制方法,其特征在于:所述用户输入的L3Policy、PodCIDR和ServiceCIDR具有注解标识,所述注解标识包括Kubernetes集群ID、OpenstackdomainID、L3PolicyID、Partition状态、PodCIDR、租户ID、ServiceCIDR〇4.如权利要求1所述的基于Neutron和GBP的网络访问控制方法,其特征在于:创建关联资源中,所述L2Policy、Network、Subnet、PolicyTargetGroup与Kubernetes集群租户对应的Namespace关耳关。5.如权利要求1所述的基于Neutron和GBP的网络访问控制方法,其特征在于,还包括步骤网络安全控制:Kuryr-controller创建CRDNamespace范围内的NetworkPolicy,当Kuryr-controller检测到创建Namespace对应的NetworkPolicy事件时,容器云平台创建Partition对应的NetworkPolicy,当Kuryr-controller检测到创建Partition对应的NetworkPolicy事件时,在Openstack创建PolicyClassifier、PolicyAction、PolicyRule、RuleSet。6.如权利要求1所述的基于Neutron和GBP的网络访问控制方法,其特征在于,还包括步骤网络带宽控制:将NetworkServicePolicy与PolicyGroup绑定,通过设置NeurtronQoS的maxrate和burstrate进行QoS带宽控制,maxrate为网口最大的上行带宽速率,burstrate为使用最大上行带宽速率时网口发送的报文大小。7.如权利要求6所述的基于Neutron和GBP的网络访问控制方法,其特征在于:网络带宽控制中,容器云平台创建调度,Kubernetes集群创建同步集,并创建Pod,当Kuryr-controller检测到创建Pod事件时,在Openstack创建对应的Port,并通过Port创建GroupTarget〇8.如权利要求1所述的基于Neutron和GBP的网络访问控制方法,其特征在于:建立资源关联中,通过Neutron的resource_mapping插件建立GBP的PolicyTarget、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port、Subnet、Network、Router、SecurityGro叩、QOSPolicy资源的关联。9.一种电子设备,其特征在于包括:处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行权利要求1-8所述的方法。10.—种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行如权利要求1-8所述的方法。

百度查询: 杭州才云科技有限公司 基于Neutron和GBP的网络访问控制方法、存储介质、电子设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。