用于多租户容器资源管理的方法和系统技术方案

技术编号:15791738 阅读:168 留言:0更新日期:2017-07-09 21:53
本发明专利技术公开了一种用于多租户容器资源管理的方法和系统,涉及云计算领域。其中方法包括:资源接口代理模块接收租户发送的资源访问请求;资源接口代理模块从资源访问请求中提取租户标识和容器资源标识;资源接口代理模块根据租户标识和容器资源标识进行鉴权,将鉴权结果和资源访问请求发送至资源接口模块;资源接口模块根据资源访问请求对租户的容器资源进行相应的操作。本发明专利技术通过增加资源接口代理模块,对租户的操作请求进行鉴权,提高了系统的安全性;向租户开放资源接口模块,租户可以在授权和配额范围内更加灵活的配置镜像、数据卷、端口和子网等资源;同时将IPC机制的资源归于同一命名空间,提升了容器的通信效率。

【技术实现步骤摘要】
用于多租户容器资源管理的方法和系统
本专利技术涉及云计算领域,尤其涉及一种用于多租户容器资源管理的方法和系统。
技术介绍
在云计算领域,Docker、LXC等容器技术是今年兴起的一种共享Linux内核的轻量级虚拟化技术,多个容器共享宿主机上的计算、存储、网络等资源,通过Linux内核的命名空间(Namespace)等机制以容器为粒度进行资源隔离,与传统虚拟机管理相比,容器资源的管理粒度更细,管理难度也更大。然而在多租户环境下,无论是容器引擎本身还是现有的多租户虚拟资源管理方案均存在以下不足:诸如Docker、Rocket、LXC等主流的容器引擎本身均不支持多租户,缺乏租户级的安全管控机制。现有的多租户资源管理方案中,通常将容器作为一种计算资源,例如OpenStack云计算管理平台,利用虚拟机的多租户模型把容器当作一种虚拟机租赁资源,这种方案对租户屏蔽了容器引擎的API(ApplicationProgrammingInterface,应用程序编程接口),让租户无法动态配置容器的镜像、存储、端口和服务资源,容器资源管理的灵活性差。容器引擎通常为宿主机上的每个容器分配独立的命名空间,每个命名空间拥有独立的资源视图(进程、IPC、用户等),每个命名空间的资源对于其他命名空间而言都是透明的,因此容器之间无法直接使用IPC(Inter-ProcessCommunication,进程间通信)机制(进程间通信,如共享内存、信号量、管道等)进行高效通信。现有技术中的容器资源管理的系统架构如图1所示,包括虚拟机资源管理器101,虚拟机租户管理器102和容器主机100,其中容器主机100包括容器引擎103,容器引擎103包括容器资源API服务和容器资源配置器105,容器配置1051、存储配置1052和网络配置1053分别对容器资源进行相关配置,即使同一个租户的容器在同一个宿主机上,例如当容器1和容器2同属于同一租户时,它们之间也无法使用高效的IPC机制通信,只能使用相对低效的RPC(RemoteProcedureCall,远程过程调用)机制(远程通信,文件、Socket套接字)通信,相同租户的容器间通信效率较低,缺少多租户下的有效管理机制。
技术实现思路
本专利技术的专利技术人发现了上述现有技术中存在问题,并因此针对上述问题中的至少一个问题提出了一种新的技术方案。根据本专利技术的一个方面,公开了一种用于多租户容器资源管理的方法,包括:资源接口代理模块接收租户发送的资源访问请求;资源接口代理模块从资源访问请求中提取租户标识和容器资源标识;资源接口代理模块根据租户标识和容器资源标识进行鉴权,将鉴权结果和资源访问请求发送至资源接口模块;资源接口模块根据资源访问请求对租户的容器资源进行相应的操作。在一个实施例中,资源接口模块根据资源访问请求对租户的容器资源进行相应的操作的步骤包括:资源接口模块对租户主命名空间下的资源采用进程间的通信IPC机制通信,对不同租户之间的资源采用远程进程调用RPC机制通信。在一个实施例中,资源接口代理模块根据租户标识和容器资源标识进行鉴权的步骤包括:资源接口代理模块判断是否缓存有租户标识和容器资源标识的绑定关系;若缓存有绑定关系,则资源接口代理模块根据绑定关系进行鉴权。在一个实施例中,还包括:若没有缓存绑定关系,则资源接口代理模块将租户标识和容器资源标识发送给资源管理器进行鉴权;资源管理器将鉴权结果发送给资源接口代理模块;资源代理模块将鉴权结果进行缓存。在一个实施例中,还包括:资源接口代理模块接收租户发送的容器创建请求;资源接口代理模块从容器创建请求中提取租户标识并生成容器资源标识;资源接口代理模块将租户标识和容器资源标识进行绑定,并将绑定关系保存至资源管理器;资源接口代理模块将容器创建请求、租户标识和容器资源标识经资源接口模块发送给资源调度器;资源调度器指示资源配置器对容器资源进行配置。在一个实施例中,资源调度器指示资源配置器对容器资源进行配置包括容器配置、存储配置、网络配置和IPC配置。在一个实施例中,IPC配置的步骤包括:资源配置器判断是否存在租户的主命名空间;当不存在主命名空间时,则资源配置器创建主命名空间,将IPC资源挂载到主命名空间中;创建子命名空间,将非IPC资源挂载到子命名空间中。在一个实施例中,还包括:当存在主命名空间时,则资源配置器将IPC资源挂载到主命名空间中;创建子命名空间,将非IPC资源挂载到子命名空间中。根据本专利技术的另一方面,提供了一种用于多租户容器资源管理的系统,包括:资源接口代理模块,用于接收租户发送的资源访问请求;从资源访问请求中提取租户标识和容器资源标识;根据租户标识和容器资源标识进行鉴权,将鉴权结果和资源访问请求发送至资源接口模块;资源接口模块,用于根据资源访问请求对租户的容器资源进行相应的操作。在一个实施例中,资源接口模块,具体用于对租户主命名空间下的资源采用进程间的通信IPC机制通信,对不同租户之间的资源采用远程进程调用RPC机制通信。在一个实施例中,资源接口代理模块,具体用于判断是否缓存有租户标识和容器资源标识的绑定关系;若缓存有绑定关系,则根据绑定关系进行鉴权。在一个实施例中,还包括资源管理器,资源接口代理模块,还用于若没有缓存绑定关系,则将租户标识和容器资源标识发送给资源管理器进行鉴权;将接收的鉴权结果进行缓存;资源管理器,用于根据租户标识和容器资源标识进行鉴权;将鉴权结果发送给资源接口代理模块。在一个实施例中,还包括资源调度器和资源配置器,其中,资源接口代理模块,还用于接收租户发送的容器创建请求;从容器创建请求中提取租户标识并生成容器资源标识;将租户标识和容器资源标识进行绑定,并将绑定关系保存至资源管理器;将容器创建请求、租户标识和容器资源标识经资源接口模块发送给资源调度器;资源管理器,还用于保存租户标识和容器资源标识的绑定关系;资源调度器,用于指示资源配置器对容器资源进行配置;资源配置器,用于根据资源调度器的指示对容器资源进行配置。在一个实施例中,资源配置器包括:容器配置模块,用于容器资源的容器配置;存储配置模块,用于容器资源的存储配置;网络配置模块,用于容器资源的网络配置;IPC配置模块,用于容器资源的IPC配置。在一个实施例中,IPC配置模块,具体用于判断是否存在租户的主命名空间;当不存在主命名空间时,则创建主命名空间,将IPC资源挂载到主命名空间中;创建子命名空间,将非IPC资源挂载到子命名空间中。在一个实施例中,IPC配置模块,还用于当存在主命名空间时,则将IPC资源挂载到主命名空间中;创建子命名空间,将非IPC资源挂载到子命名空间中。本专利技术的用于多租户容器资源管理的方法和系统,通过增加资源接口代理模块,对租户的操作请求进行鉴权,提高了系统的安全性;向租户开放资源接口模块,租户可以在授权和配额范围内更加灵活的配置镜像、数据卷、端口和子网等资源;同时将IPC机制的资源归于同一命名空间,提升了容器的通信效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些本文档来自技高网
...
用于多租户容器资源管理的方法和系统

【技术保护点】
一种用于多租户容器资源管理的方法,其特征在于,包括:资源接口代理模块接收租户发送的资源访问请求;所述资源接口代理模块从所述资源访问请求中提取租户标识和容器资源标识;所述资源接口代理模块根据所述租户标识和所述容器资源标识进行鉴权,将鉴权结果和所述资源访问请求发送至资源接口模块;所述资源接口模块根据所述资源访问请求对所述租户的容器资源进行相应的操作。

【技术特征摘要】
1.一种用于多租户容器资源管理的方法,其特征在于,包括:资源接口代理模块接收租户发送的资源访问请求;所述资源接口代理模块从所述资源访问请求中提取租户标识和容器资源标识;所述资源接口代理模块根据所述租户标识和所述容器资源标识进行鉴权,将鉴权结果和所述资源访问请求发送至资源接口模块;所述资源接口模块根据所述资源访问请求对所述租户的容器资源进行相应的操作。2.根据权利要求1所述的方法,其特征在于,所述资源接口模块根据所述资源访问请求对所述租户的容器资源进行相应的操作的步骤包括:所述资源接口模块对所述租户主命名空间下的资源采用进程间的通信IPC机制通信,对不同租户之间的资源采用远程进程调用RPC机制通信。3.根据权利要求1所述的方法,其特征在于,所述资源接口代理模块根据所述租户标识和所述容器资源标识进行鉴权的步骤包括:所述资源接口代理模块判断是否缓存有所述租户标识和所述容器资源标识的绑定关系;若缓存有所述绑定关系,则所述资源接口代理模块根据所述绑定关系进行鉴权。4.根据权利要求3所示的方法,其特征在于,还包括:若没有缓存所述绑定关系,则所述资源接口代理模块将所述租户标识和所述容器资源标识发送给资源管理器进行鉴权;所述资源管理器将鉴权结果发送给所述资源接口代理模块;所述资源代理模块将所述鉴权结果进行缓存。5.根据权利要求1所述的方法,其特征在于,还包括:所述资源接口代理模块接收租户发送的容器创建请求;所述资源接口代理模块从所述容器创建请求中提取租户标识并生成容器资源标识;所述资源接口代理模块将所述租户标识和所述容器资源标识进行绑定,并将所述绑定关系保存至所述资源管理器;所述资源接口代理模块将所述容器创建请求、所述租户标识和所述容器资源标识经所述资源接口模块发送给资源调度器;所述资源调度器指示资源配置器对所述容器资源进行配置。6.根据权利要求5所述的方法,其特征在于,所述资源调度器指示资源配置器对所述容器资源进行配置包括容器配置、存储配置、网络配置和IPC配置。7.根据权利要求6所述的方法,其特征在于,所述IPC配置的步骤包括:所述资源配置器判断是否存在所述租户的主命名空间;当不存在所述主命名空间时,则所述资源配置器创建主命名空间,将IPC资源挂载到所述主命名空间中;创建子命名空间,将非IPC资源挂载到所述子命名空间中。8.根据权利要求6所述的方法,其特征在于,还包括:当存在所述主命名空间时,则所述资源配置器将所述IPC资源挂载到所述主命名空间中;创建子命名空间,将所述非IPC资源挂载到所述子命名空间中。9.一种用于多租户容器资源管理的系统,其特征...

【专利技术属性】
技术研发人员:何震苇杨新章陆钢
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

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

1