一种镜像仓库的租户隔离方法、装置和介质与流程

文档序号:22429022发布日期:2020-10-02 10:07阅读:154来源:国知局
一种镜像仓库的租户隔离方法、装置和介质与流程

本发明涉及云平台技术领域,特别是涉及一种镜像仓库的租户隔离方法、装置和计算机可读存储介质。



背景技术:

在云计算时代,越来越多的公司和个人使用容器技术,不同架构的镜像变得越来越多,镜像的共享与隔离变得非常重要。目前,用的最多的镜像管理工具是harbor,harbor是一个开放源的镜像仓库,可通过基于角色的访问控制来保护镜像。

但是目前harbor无法做到架构级别和虚拟数据中心级别对镜像进行隔离,会存在虚拟数据中心的用户获取到的镜像服务与其所需的服务架构不匹配的问题,导致镜像服务的利用率较低。

可见,如何提升镜像服务的利用率,是本领域技术人员需要解决的问题。



技术实现要素:

本发明实施例的目的是提供一种镜像仓库的租户隔离方法、装置和计算机可读存储介质,可以提升镜像服务的利用率。

为解决上述技术问题,本发明实施例提供一种镜像仓库的租户隔离方法,包括:

根据获取的架构类型,构建每种架构类型相对应的镜像仓库;

按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在所述目标镜像仓库上创建用户信息以及私有应用服务;

将所述用户信息记录至所述虚拟数据中心绑定的命名空间;并将所述虚拟数据中心与私有应用服务的对应关系,以及所述用户信息保存至数据库。

可选地,所述将所述用户信息记录至所述虚拟数据中心绑定的命名空间包括:

当获取到用户创建指令时,在云平台上创建虚拟数据中心;

判断是否存在与所述虚拟数据中心绑定的命名空间;

当不存在与所述虚拟数据中心绑定的命名空间时,在云平台的k8s上创建所述虚拟数据中心相对应的命名空间;

当存在与所述虚拟数据中心绑定的命名空间或者完成在云平台的k8s上创建所述虚拟数据中心相对应的命名空间时,将所述用户信息存储至所述命名空间。

可选地,还包括:

当存在多个虚拟数据中心共用同一个目标架构类型下的应用服务时,在所述目标架构类型对应的镜像仓库上创建公有应用服务。

可选地,还包括:

当目标虚拟数据中心获取到服务查询指令时,在数据库中查找与所述目标虚拟数据中心相匹配的目标私有应用服务的标识信息;

依据所述目标虚拟数据中心对应的命名空间中存储的用户信息以及所述目标私有应用服务的标识信息,从所述目标虚拟数据中心对应的镜像仓库中调取相应的镜像信息。

可选地,还包括:

当目标虚拟数据中心获取到镜像上传指令时,在数据库中查找与所述目标虚拟数据中心相匹配的目标用户信息,并展示与所述目标用户信息相对应的命令选项,以便于用户在选定的目标命令选项中填写所需上传的镜像信息;

将用户上传的目标命令选项中携带的镜像信息记录至与所述目标虚拟数据中心相对应的私有应用服务中。

本发明实施例还提供了一种镜像仓库的租户隔离装置,包括构建单元、创建单元、记录单元和保存单元;

所述构建单元,用于根据获取的架构类型,构建每种架构类型相对应的镜像仓库;

所述创建单元,用于按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在所述目标镜像仓库上创建用户信息以及私有应用服务;

所述记录单元,用于将所述用户信息记录至所述虚拟数据中心绑定的命名空间;

所述保存单元,用于将所述虚拟数据中心与私有应用服务的对应关系,以及所述用户信息保存至数据库。

可选地,所述记录单元包括第一创建子单元、判断子单元、第二创建子单元和存储子单元;

所述第一创建子单元,用于当获取到用户创建指令时,在云平台上创建虚拟数据中心;

所述判断子单元,用于判断是否存在与所述虚拟数据中心绑定的命名空间;

所述第二创建子单元,用于当不存在与所述虚拟数据中心绑定的命名空间时,在云平台的k8s上创建所述虚拟数据中心相对应的命名空间;

所述存储子单元,用于当存在与所述虚拟数据中心绑定的命名空间或者完成在云平台的k8s上创建所述虚拟数据中心相对应的命名空间时,将所述用户信息存储至所述命名空间。

可选地,所述创建单元还用于当存在多个虚拟数据中心共用同一个目标架构类型下的应用服务时,在所述目标架构类型对应的镜像仓库上创建公有应用服务。

可选地,还包括查找单元和调取单元;

所述查找单元,用于当目标虚拟数据中心获取到服务查询指令时,在数据库中查找与所述目标虚拟数据中心相匹配的目标私有应用服务的标识信息;

所述调取单元,用于依据所述目标虚拟数据中心对应的命名空间中存储的用户信息以及所述目标私有应用服务的标识信息,从所述目标虚拟数据中心对应的镜像仓库中调取相应的镜像信息。

可选地,还包括查找单元、展示单元和上传单元;

所述查找单元,用于当目标虚拟数据中心获取到镜像上传指令时,在数据库中查找与所述目标虚拟数据中心相匹配的目标用户信息;

所述展示单元,用于展示与所述目标用户信息相对应的命令选项,以便于用户在选定的目标命令选项中填写所需上传的镜像信息;

所述上传单元,用于将用户上传的目标命令选项中携带的镜像信息记录至与所述目标虚拟数据中心相对应的私有应用服务中。

本发明实施例还提供了一种镜像仓库的租户隔离装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如上述任意一项所述镜像仓库的租户隔离方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述镜像仓库的租户隔离方法的步骤。

由上述技术方案可以看出,根据获取的架构类型,构建每种架构类型相对应的镜像仓库,实现了从架构级别上对容器镜像的隔离。按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在目标镜像仓库上创建用户信息以及私有应用服务。私有应用服务属于每个虚拟数据中心独有的服务项目,为了使得云平台可以识别虚拟数据中心对私有应服务的访问权限,需要将用户信息记录至虚拟数据中心绑定的命名空间中。为了实现对私有应用服务的调取使用,需要将虚拟数据中心与私有应用服务的对应关系,以及用户信息保存至数据库。不同架构下的应用服务有所差异,通过在虚拟数据中心所属的架构类型相同的镜像仓库上设置私有服务,实现了虚拟数据中心与架构类型的对应,满足了虚拟数据中心上用户对应用服务的架构要求,保证了获取的应用服务的可用性,有效的提升了镜像服务的利用率。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种镜像仓库的租户隔离方法的流程图;

图2为本发明实施例提供的一种基于多架构云平台的镜像仓库的架构示意图;

图3为本发明实施例提供的一种镜像仓库的租户隔离装置的结构示意图;

图4为本发明实施例提供的一种镜像仓库的租户隔离装置的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种镜像仓库的租户隔离方法。图1为本发明实施例提供的一种镜像仓库的租户隔离方法的流程图,该方法包括:

s101:根据获取的架构类型,构建每种架构类型相对应的镜像仓库。

对于同一个应用服务而言,其在不同架构下的形式有所差异。为了满足用户对应用服务的架构要求,在本发明实施例中,针对于每种架构构建其对应的镜像仓库。

云平台上常见的架构类型包括arm架构和amd架构。如图2所示的一种基于多架构云平台的镜像仓库的架构示意图,是以arm架构和amd架构为例,每个架构有其对应的一个镜像仓库(harbor)。

s102:按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在目标镜像仓库上创建用户信息以及私有应用服务。

在实际应用中,可以在一个镜像仓库上创建多个应用服务。每个应用服务有其对应的用户,在本发明实施例中,可以针对于使用相同应用服务的用户构建一个虚拟数据中心,以便于这些用户可以通过虚拟数据中心实现对其所需的应用服务的调用。

在本发明实施例中,可以将每个虚拟数据中心独有的应用服务称作私有应用服务,将多个虚拟数据中心共享的应用服务称作公有应用服务。

不同虚拟数据中心的用户对应用服务的架构要求有所不同,在具体实现中,可以按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在目标镜像仓库上创建用户信息以及私有应用服务。

其中,用户信息可以包括用户名以及账户密码等信息。

s103:将用户信息记录至虚拟数据中心绑定的命名空间;并将虚拟数据中心与私有应用服务的对应关系,以及用户信息保存至数据库。

用户信息和私有应用服务具有对应关系。私有应用服务具有私密性,用户通过虚拟数据中心调用私有应用服务时,云平台需要识别虚拟数据中心对哪些私有应用服务具有访问权限,因此,在目标镜像仓库上创建用户信息以及私有应用服务之后,需要将用户信息记录至虚拟数据中心绑定的命名空间,将虚拟数据中心与私有应用服务的对应关系保存至数据库。

由于用户信息是由云平台的后台系统创建的,对于用户而言并不知道其对应的用户信息的具体形式。因此,在本发明实施例中,需要将用户信息记录至虚拟数据中心绑定的命名空间。

在本发明实施例中,可以针对于每个虚拟数据中心设置其对应的一个命名空间(namespace)。

在具体实现中,当获取到用户创建指令时,可以在云平台上创建虚拟数据中心。完成虚拟数据中心的创建之后,可以进一步判断是否存在与虚拟数据中心绑定的命名空间。

当不存在与虚拟数据中心绑定的命名空间时,此时可以在云平台的kubenetes即k8s上创建虚拟数据中心相对应的命名空间,从而将用户信息存储至命名空间。当存在与虚拟数据中心绑定的命名空间时,可以直接将用户信息存储至与该虚拟数据中心对应的命名空间。

由上述技术方案可以看出,根据获取的架构类型,构建每种架构类型相对应的镜像仓库,实现了从架构级别上对容器镜像的隔离。按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在目标镜像仓库上创建用户信息以及私有应用服务。私有应用服务属于每个虚拟数据中心独有的服务项目,为了使得云平台可以识别虚拟数据中心对私有应服务的访问权限,需要将用户信息记录至虚拟数据中心绑定的命名空间中。为了实现对私有应用服务的调取使用,需要将虚拟数据中心与私有应用服务的对应关系,以及用户信息保存至数据库。不同架构下的应用服务有所差异,通过在虚拟数据中心所属的架构类型相同的镜像仓库上设置私有服务,实现了虚拟数据中心与架构类型的对应,满足了虚拟数据中心上用户对应用服务的架构要求,保证了获取的应用服务的可用性,有效的提升了镜像服务的利用率。

考虑到实际应用中会存在多个虚拟数据中心使用相同的应用服务的情况,如果针对于每个虚拟数据中心均建立包含该应用服务的私有应用服务时,则需要同时创建多个私有应用服务,造成harbor上资源的浪费,因此,在本发明实施例中,当存在多个虚拟数据中心共用同一个目标架构类型下的应用服务时,可以在目标架构类型对应的镜像仓库上创建公有应用服务。

通过创建公有应用服务,可以实现多个虚拟数据中心对应用服务的共享。镜像仓库上私有应用服务和公有应用服务的共存,可以满足虚拟数据中心对应用服务的不同需求。

在本发明实施例中,可以采用标识信息的方式区分不同的虚拟数据中心。即每个虚拟数据中心有其唯一对应的标识信息。同理,也可以采用标识信息的方式区分不同的私有应用服务。将虚拟数据中心与私有应用服务的对应关系保存至数据库,实际上可以将虚拟数据中心的标识信息与私有应用服务的标识信息按照对应关系的方式保存至数据库。

当完成私有应用服务的创建之后,用户可以根据需求通过虚拟数据中心调用所需的私有应用服务,本发明实施例中是在镜像仓库上创建的私有应用服务,相应的,从镜像仓库拉取的是私有应用服务的镜像信息。

用户需要查看或调用私有应用服务时,可以在其对应的虚拟数据中心上输入服务查询指令。在本发明实施例中,为了便于和其它虚拟数据中心进行区分,可以将用户当前操作的虚拟数据中心称作目标虚拟数据中心。

当目标虚拟数据中心获取到服务查询指令时,可以在数据库中查找与目标虚拟数据中心相匹配的目标私有应用服务的标识信息。目标私有应用服务的标识信息用于指向具体的目标私有服务。用户信息用于表征目标虚拟数据中心具有对目标私有应用服务的访问权限。因此,依据目标虚拟数据中心对应的命名空间中存储的用户信息以及目标私有应用服务的标识信息,可以从目标虚拟数据中心对应的镜像仓库中调取相应的镜像信息。

通过依赖于用户信息以及私有应用服务的标识信息,可以便于具有权限的虚拟数据中心调取到相应的私有应用服务,既实现了私有应用服务的快速调用,又可以有效的避免不具有权限的虚拟数据中心非法调用私有应用服务,保证了私有应用服务调用的安全性。

在实际应用中,可以根据业务需求的变更,对镜像仓库上的私有应用服务进行更新。当目标虚拟数据中心获取到镜像上传指令时,在数据库中查找与目标虚拟数据中心相匹配的目标用户信息,并展示与目标用户信息相对应的命令选项,以便于用户在选定的目标命令选项中填写所需上传的镜像信息;将用户上传的目标命令选项中携带的镜像信息记录至与目标虚拟数据中心相对应的私有应用服务中。

通过设置应用服务的更新机制,可以使得镜像仓库上存储的私有应用服务可以适用于当前的业务需求,保证了镜像仓库上存储的私有应用服务的可用性。

图3为本发明实施例提供的一种镜像仓库的租户隔离装置的结构示意图,包括构建单元31、创建单元32、记录单元33和保存单元34;

构建单元31,用于根据获取的架构类型,构建每种架构类型相对应的镜像仓库;

创建单元32,用于按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在目标镜像仓库上创建用户信息以及私有应用服务;

记录单元33,用于将用户信息记录至虚拟数据中心绑定的命名空间;

保存单元34,用于将虚拟数据中心与私有应用服务的对应关系,以及用户信息保存至数据库。

可选地,记录单元包括第一创建子单元、判断子单元、第二创建子单元和存储子单元;

第一创建子单元,用于当获取到用户创建指令时,在云平台上创建虚拟数据中心;

判断子单元,用于判断是否存在与虚拟数据中心绑定的命名空间;

第二创建子单元,用于当不存在与虚拟数据中心绑定的命名空间时,在云平台的k8s上创建虚拟数据中心相对应的命名空间;

存储子单元,用于当存在与虚拟数据中心绑定的命名空间或者完成在云平台的k8s上创建虚拟数据中心相对应的命名空间时,将用户信息存储至命名空间。

可选地,创建单元还用于当存在多个虚拟数据中心共用同一个目标架构类型下的应用服务时,在目标架构类型对应的镜像仓库上创建公有应用服务。

可选地,还包括查找单元和调取单元;

查找单元,用于当目标虚拟数据中心获取到服务查询指令时,在数据库中查找与目标虚拟数据中心相匹配的目标私有应用服务的标识信息;

调取单元,用于依据目标虚拟数据中心对应的命名空间中存储的用户信息以及目标私有应用服务的标识信息,从目标虚拟数据中心对应的镜像仓库中调取相应的镜像信息。

可选地,还包括查找单元、展示单元和上传单元;

查找单元,用于当目标虚拟数据中心获取到镜像上传指令时,在数据库中查找与目标虚拟数据中心相匹配的目标用户信息;

展示单元,用于展示与目标用户信息相对应的命令选项,以便于用户在选定的目标命令选项中填写所需上传的镜像信息;

上传单元,用于将用户上传的目标命令选项中携带的镜像信息记录至与目标虚拟数据中心相对应的私有应用服务中。

图3所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,根据获取的架构类型,构建每种架构类型相对应的镜像仓库,实现了从架构级别上对容器镜像的隔离。按照虚拟数据中心所属的架构类型选取目标镜像仓库,并在目标镜像仓库上创建用户信息以及私有应用服务。私有应用服务属于每个虚拟数据中心独有的服务项目,为了使得云平台可以识别虚拟数据中心对私有应服务的访问权限,需要将用户信息记录至虚拟数据中心绑定的命名空间中。为了实现对私有应用服务的调取使用,需要将虚拟数据中心与私有应用服务的对应关系,以及用户信息保存至数据库。不同架构下的应用服务有所差异,通过在虚拟数据中心所属的架构类型相同的镜像仓库上设置私有服务,实现了虚拟数据中心与架构类型的对应,满足了虚拟数据中心上用户对应用服务的架构要求,保证了获取的应用服务的可用性,有效的提升了镜像服务的利用率。

图4为本发明实施例提供的一种镜像仓库的租户隔离装置40的硬件结构示意图,包括:

存储器41,用于存储计算机程序;

处理器42,用于执行计算机程序以实现如上述任意实施例所述的镜像仓库的租户隔离方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的镜像仓库的租户隔离方法的步骤。

以上对本发明实施例所提供的一种镜像仓库的租户隔离方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1