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

技术编号:19828980 阅读:22 留言:0更新日期:2018-12-19 17:03
基于Neutron和GBP的网络访问控制方法,包括步骤:容器云平台创建Partition,监听创建Partition事件,获取令牌,在Openstack创建与用户输入的L3Policy关联的L2Policy,通过L2Policy创建Network,通过Network创建Subnet,指定Subnet Pool为L3Policy的Subnet Pool,创建与L2Policy和Subnet对应的Policy Target Group;将GBP的资源与Openstack的资源关联。本发明专利技术通过Openstack与GBP对接,实现Kubernetes集群租户网络隔离、租户的容器组之间网络通断控制、租户内容器组和虚拟机组之间网络通断控制、租户内容器的带宽控制。

【技术实现步骤摘要】
基于Neutron和GBP的网络访问控制方法、存储介质、电子设备
本专利技术涉及云计算的
,尤其涉及基于Neutron和GBP的网络访问控制方法、存储介质、电子设备。
技术介绍
Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能包括使用Docker对应用程序包装、实例化、运行;以集群的方式运行、管理跨机器的容器;解决Docker跨机器容器之间的通讯问题;Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。原生Kubernetes能够实现Namespace和Namespace之间的网络通断,但是现有技术中将Namespace当成租户,就无法实现Namespace内部由多个容器组成的容器组之间的网络通断。此外,原生Kubernetes无法对容器网络带宽进行控制,导致某些容器占用了大量的网络带宽,从而影响到其他用户或租户的容器服务。
技术实现思路
为了克服现有技术的不足,本专利技术的目的在于提供一种实现Kubernetes租户网络的隔离,控制租户内容器带宽的基于Neutron和GBP的网络访问控制方法。本专利技术提供基于Neutron和GBP的网络访问控制方法,包括以下步骤:创建关联资源,容器云平台创建Partition,Kuryr-controller监听创建Partition事件,获取远程令牌或本地缓存令牌,在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、QOSPolicy资源的关联。进一步地,创建关联资源中,当所述容器云平台创建Partition时,获取用户输入PodCIDR和ServiceCIDR,根据所述PodCIDR和ServiceCIDR,在Openstack创建分别与Kubernetes集群Pod和Service对应L2Policy、Subnet、PolicyTargetGroup。进一步地,所述用户输入的L3Policy、PodCIDR和ServiceCIDR具有注解标识,所述注解标识包括Kubernetes集群ID、OpenstackdomainID、L3PolicyID、Partition状态、PodCIDR、租户ID、ServiceCIDR。进一步地,创建关联资源中,所述L2Policy、Network、Subnet、PolicyTargetGroup与Kubernetes集群租户对应的Namespace关联。进一步地,还包括步骤网络安全控制:Kuryr-controller创建CRDNamespace范围内的NetworkPolicy,当Kuryr-controller检测到创建Namespace对应的NetworkPolicy事件时,容器云平台创建Partition对应的NetworkPolicy,当Kuryr-controller检测到创建Partition对应的NetworkPolicy事件时,在Openstack创建PolicyClassifier、PolicyAction、PolicyRule、RuleSet。进一步地,还包括步骤网络带宽控制:将NetworkServicePolicy与PolicyGroup绑定,通过设置NeurtronQoS的maxrate和burstrate进行QoS带宽控制,maxrate为网口最大的上行带宽速率,burstrate为使用最大上行带宽速率时网口发送的报文大小。进一步地,网络带宽控制中,容器云平台创建调度,Kubernetes集群创建同步集,并创建Pod,当Kuryr-controller检测到创建Pod事件时,在Openstack创建对应的Port,并通过Port创建GroupTarget。进一步地,建立资源关联中,通过Neutron的resource_mapping插件建立GBP的PolicyTarget、PolicyTargetGroup、L2Policy、L3Policy、PolicyRuleSet、NetworkServicePolicy资源与Openstack的Port、Subnet、Network、Router、SecurityGroup、QOSPolicy资源的关联。一种电子设备,包括:处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行基于Neutron和GBP的网络访问控制方法。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行基于Neutron和GBP的网络访问控制方法。相比现有技术,本专利技术的有益效果在于:本专利技术提供基于Neutron和GBP的网络访问控制方法,通过Openstack与GBP对接,实现Kubernetes集群租户网络隔离,实现租户的容器组之间网络通断控制,同时还能够实现租户内容器组和虚拟机组之间网络通断控制。实现控制租户内容器的带宽,解决了某些容器占用大量的网络带宽而影响其他用户或租户的容器服务问题。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,并可依照说明书的内容予以实施,以下以本专利技术的较佳实施例并配合附图详细说明如后。本专利技术的具体实施方式由以下实施例及其附图详细给出。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术的基于Neutron和GBP的网络访问控制方法流程图;图2为本专利技术的基于Neutron和GBP的网络访问控制方法网络安全控制步骤流程图;图3为本专利技术的基于Neutron和GBP的网络访问控制方法网络带宽控制步骤流程图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。由于Openstack云管理平台使用GBP管理网络资源,为了保证管理Kubernetes集群的容器云平台与云管理平台对接时兼容,容器云平台与云管理平台对接时引入GBP对象管理网络资源,GBP(group-basedpolicy)为基于组的策略,提供了声明式的、从使用者意图出发的一种架构。在这个模式下,用户面对的是应用架构本身,而不是Neutron中的各种网络元素。基于Neutron和GBP的网络访问控制方法,如图1所示,包括以下步骤:创建关联资源,容器云平台创建Partition,Kuryr-contro本文档来自技高网...

【技术保护点】
1.基于Neutron和GBP的网络访问控制方法,其特征在于,包括以下步骤:创建关联资源,容器云平台创建Partition,Kuryr‑controller监听创建Partition事件,获取远程令牌或本地缓存令牌,在Openstack创建与用户输入的L3 Policy关联的创建L2 Policy,通过L2 Policy创建Network,通过所述Network创建Subnet,指定Subnet Pool为L3 Policy的Subnet Pool,创建与L2 Policy和Subnet对应的Policy Target Group;建立资源关联,分别建立GBP的Policy Target、Policy Target Group、L2 Policy、L3 Policy、Policy Rule Set、Network Service Policy资源与Openstack的Port、Subnet、Network、Router、Security Group、QOS Policy资源的关联。

【技术特征摘要】
1.基于Neutron和GBP的网络访问控制方法,其特征在于,包括以下步骤:创建关联资源,容器云平台创建Partition,Kuryr-controller监听创建Partition事件,获取远程令牌或本地缓存令牌,在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、QOSPolicy资源的关联。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的网络访问控制方法,其特征在于,还包括步骤网络...

【专利技术属性】
技术研发人员:唐继元邓德源张鑫
申请(专利权)人:杭州才云科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1