一种基于Kubernetes实现云平台租户级网络策略配置的方法及其系统技术方案

技术编号:33041132 阅读:45 留言:0更新日期:2022-04-15 09:22
本发明专利技术涉及一种基于Kubernetes实现云平台租户级网络策略配置的方法,其包括以下步骤:S1、设置租户网络规则,所述网络规则包括所有人不可访问、同项目可访问、所有人可访问,并默认同租户的应用可访问的NetworkPolicy,Node节点修改网络规则;S2、Node节点内创建租户并配置该租户下应用允许使用网络规则的NetworkPolicy;S3、租户下创建应用,获取允许使用网络规则的NetworkPolicy,选择其中一种NetworkPolicy,创建Namespace并在对应的Namespace下创建允许访问应用端口的NetworkPolicy,创建Pod,采用以上技术方案提高租户网络策略配置的自由度,根据用户业务需求对租户下应用网络策略进行个性化配置。求对租户下应用网络策略进行个性化配置。求对租户下应用网络策略进行个性化配置。

【技术实现步骤摘要】
一种基于Kubernetes实现云平台租户级网络策略配置的方法及其系统


[0001]本专利技术涉及云计算领域,具体涉及了一种基于Kubernetes实现云平台租户级网络策略配置的方法及其系统。

技术介绍

[0002]Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的。(引自官方Kubernetes中文文档)Namespace常用实现多租户资源隔离,但无法实现网络隔离。目前相关技术通过NetworkPolicy实现基于策略的网络控制,在多租户的生产环境下,可以控制Namespace间的网络隔离,可以管理多租户下Kubernetes集群网络。基于安全性考虑,云平台提供基于NetworkPolicy的网络隔离策略,支持按租户级网络隔离,即不同租户的应用不相通,租户内的应用网络互通。无手段或方法根据业务需要自定义租户内应用的网络规则,如所有人可访问应用或所有人都不可访问应用。

技术实现思路

[0003]针对现有技术的不足,本专利技术提供一种提高租户网络策略配置的自由度,根据用户业务需求对租户下应用网络策略进行个性化配置的基于Kubernetes实现云平台租户级网络策略配置的方法。
[0004]本专利技术的一种基于Kubernetes实现云平台租户级网络策略配置的方法,采用以下技术方案:其包括以下步骤:S1、设置租户网络规则,所述网络规则包括所有人不可访问、同项目可访问、所有人可访问,并默认同租户的应用可访问的NetworkPolicy,Node节点修改网络规则;S2、Node节点内创建租户并配置该租户下应用允许使用网络规则的NetworkPolicy;S3、租户下创建应用,获取允许使用网络规则的NetworkPolicy,选择其中一种NetworkPolicy,创建 Namespace并在对应的Namespace下创建允许访问应用端口的NetworkPolicy,创建Pod。
[0005]进一步,步骤S1中包括:S1

1、通过Kubect发起创建NetworkPolicy的请求至Kubernetes Master,Kubernetes Master接收到请求后将NetworkPolicy的信息写入到Kubernetes的etcd中,创建NetworkPolicy资源;S1

2、Calico的Policy

Controller监听NetworkPolicy资源,将监听到的NetworkPolicy资源写入Calico的etcd中;S1

3、分布在Node节点上的Calico

felix则监听Calico的etcd中NetworkPolicy
资源,根据NetworkPolicy资源调用iptables修改NetworkPolicy。
[0006]一种基于Kubernetes实现云平台租户级网络策略配置的系统,其包括:前台界面模块,用于提供创建租户和应用接口,用户选择网络规则的NetworkPolicy并通知租户管理模块创建租户,用户选择租户允许使用网络规则的NetworkPolicy中一种NetworkPolicy通知项目管理创建应用;租户管理模块,根据前台界面模块选择的网络规则的NetworkPolicy创建租户,创建成功后返回租户创建成功消息至前台界面;项目管理模块,根据前台界面模块选择的租户允许使用网络规则的NetworkPolicy中的一种NetworkPolicy创建Namespace和NetworkPolicy,通知应用管理模块创建pod;接收应用管理模块返回应用创建成功消息,并将应用创建成功消息返回给前台界面;应用管理模块,创建Pod,创建成功后返回应用创建成功消息至项目管理模块。
[0007]与现有技术相比,本专利技术的有益效果:引入Kubernetes NetworkPolicy,目前Kubernetes的资源管控可限制不同Namespace以及Pod的CPU、内存资源;为实现不同租户间所需要的网络策略不同,对于网络的控制默认所有的pod之间都可以相互访问,通过NetworkPolicy实现同租户访问,不同租户之间隔离以及允许所有人访问和不可访问等多种网络策略;网络策略由平台统一管理下发到不同租户之间,创建应用时统一下发到Kubernetes集群中根据不同策略生成相应的NetworkPolicy资源,自动生成路由规则进行网络隔离; 不同租户之间实现网络隔离时,针对需要对外开放访问的应用,自动根据所需开放的端口生成相应的网络规则允许任何人访问对外开放的端口。
附图说明
[0008]此处所说明的附图用来提供对本申请的进一步理解,在附图中:图1为本专利技术流程图;图2位本专利技术步骤S1的流程图。
具体实施方式
[0009]参见图1所示,实施例一种基于Kubernetes实现云平台租户级网络策略配置的方法,采用以下技术方案:其包括以下步骤:S1、设置租户网络规则:所述网络规则包括所有人不可访问、同项目可访问、所有人可访问,并默认同租户的应用可访问的NetworkPolicy,Node节点修改网络规则;S2、Node节点内创建租户并配置该租户下应用允许使用网络规则的NetworkPolicy;S3、租户下创建应用,获取允许使用网络规则的NetworkPolicy,选择其中一种NetworkPolicy,创建 Namespace并在对应的Namespace下创建允许访问应用端口的NetworkPolicy,创建Pod。
[0010]当选择所有人不能访问,在应用对应的Namespace下创建默认拒绝所有流量的NetworkPolicy;当选择同租户可访问,在应用对应的Namespace下创建默认拒绝所有流量以及仅
允许带有相同租户标识pod的可访问的NetworkPolicy;当选择所有人可访问,在应用对应的Namespace下创建允许任意流量的NetworkPolicy;当选择同项目可访问,在应用对应的Namespace下创建仅允许带有相同Namespace名称的pod可访问的NetworkPolicy。
[0011]参见图2所示,进一步,步骤S1中包括:S1

1、通过Kubect发起创建NetworkPolicy的请求至Kubernetes Master,Kubernetes Master接收到请求后将NetworkPolicy的信息写入到Kubernetes的etcd中,创建NetworkPolicy资源;S1

2、Calico的Policy

Controller监听NetworkPolicy资源,将监听到的NetworkPolicy资源写入Calico的etcd中;S1

3、分布在Nod本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes实现云平台租户级网络策略配置的方法,其特征在于:其包括以下步骤:S1、设置租户网络规则,所述网络规则包括所有人不可访问、同项目可访问、所有人可访问,并默认同租户的应用可访问的NetworkPolicy,Node节点修改网络规则;S2、Node节点内创建租户并配置该租户下应用允许使用网络规则的NetworkPolicy;S3、租户下创建应用,获取允许使用网络规则的NetworkPolicy,选择其中一种NetworkPolicy,创建 Namespace并在对应的Namespace下创建允许访问应用端口的NetworkPolicy,创建Pod。2.根据权利要求1所述的一种实现云平台租户级网络策略配置的方法,其特征在于:步骤S1中包括:S1

1、通过Kubect发起创建NetworkPolicy的请求至Kubernetes Master,Kubernetes Master接收到请求后将NetworkPolicy的信息写入到Kubernetes的etcd中,创建NetworkPolicy资源;S1

2、Calico的Policy

Controller监听NetworkPolicy资源,将监听到的NetworkPolicy资...

【专利技术属性】
技术研发人员:胡海碧黄雷卓佐铃
申请(专利权)人:中电福富信息科技有限公司
类型:发明
国别省市:

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

1