容器镜像拉取、分享、推送方法及处理系统与流程

文档序号:37220867发布日期:2024-03-05 15:17阅读:13来源:国知局
容器镜像拉取、分享、推送方法及处理系统与流程

本公开涉及云计算领域,尤其涉及容器镜像,公开了一种容器镜像拉取、分享、推送方法,以及容器镜像处理系统。


背景技术:

1、容器镜像(container image)将应用程序及其依赖项打包到一个独立的镜像中,使得应用程序可以方便地在云环境和容器平台中进行部署和迁移。容器镜像提供了一种标准化的应用程序打包和交付方式,简化了应用程序的管理和部署过程,因此其已成为整个云计算领域中不可或缺的一环。

2、镜像仓库是用来存储、管理和分发容器镜像的服务。企业在使用镜像仓库时,往往会创建多个租户对镜像进行管理,并存在将其中某个租户的镜像分享给另一个租户的需求。在分享镜像时,为了保证镜像不会暴露于不相关的租户,提升安全性,需要能够指定分享给的租户,而非对企业或项目组内所有租户公开。

3、然而,当前开源的镜像仓库在镜像权限控制方面存在能力缺失。例如,开源的registry是一个无状态、高度可扩展的镜像仓库,registry本身不提供对镜像的权限控制功能。harbor是在registry的基础上进行了扩展和增强,其支持按项目对镜像进行管理,并可以设置项目的访问级别为公开或私有以管理其中镜像的可见性,但是无法精细到租户层级的权限管控。


技术实现思路

1、本公开至少提供了一种容器镜像拉取、分享、推送方法,以及容器镜像处理系统,以实现在租户层级上对容器镜像进行权限管控。

2、根据本公开的一方面,提供了一种容器镜像拉取方法,应用于控制端,包括:

3、获取代理端发送的拉取鉴权请求;其中,所述拉取鉴权请求包括第一租户的第一身份证明信息,以及所述第一租户所要拉取的第一目标容器镜像的信息;

4、解析所述拉取鉴权请求,并根据解析得到的所述第一身份证明信息和第一目标容器镜像的信息,确定所述第一租户对所述第一目标容器镜像的拉取权限信息;

5、在所述拉取权限信息指示所述第一租户具备对所述第一目标容器镜像的拉取权限的情况下,向所述代理端发送鉴权通过信息,以使所述代理端利用所述鉴权通过信息,从第一目标镜像仓库中拉取所述第一目标容器镜像。

6、根据本公开的一方面,提供了一种容器镜像拉取方法,应用于代理端,包括:

7、响应于第一租户的镜像拉取操作,获取到所述第一租户的第一身份证明信息,以及所述第一租户所要拉取的第一目标容器镜像的信息;

8、利用所述第一身份证明信息和所述第一目标容器镜像的信息,生成拉取鉴权请求;

9、将所述拉取鉴权请求发送给控制端,以使所述控制端利用所述拉取鉴权请求,确定所述第一租户对所述第一目标容器镜像的拉取权限信息,并在所述拉取权限信息指示所述第一租户具备对所述第一目标容器镜像的拉取权限的情况下,反馈鉴权通过信息;

10、利用接收到的所述鉴权通过信息,从第一目标镜像仓库中拉取所述第一目标容器镜像。

11、根据本公开的一方面,提供了一种容器镜像分享方法,应用于前端,包括:

12、响应于第三租户的镜像查看操作,生成镜像查看请求,并将所述镜像查看请求发送给控制端,以使所述控制端从数据库中获取并反馈所述第三租户推送的至少一个容器镜像的信息;

13、展示所述控制端反馈的至少一个容器镜像的信息;

14、响应于所述第三租户通过展示的所述容器镜像的信息的镜像分享操作,获取被分享的第二目标容器镜像的信息,以及被分享的第四租户的信息,并将第四租户被分享第二目标容器镜像的信息发送给所述控制端,以使所述控制端将所述第四租户被分享第二目标容器镜像的信息存入数据库中。

15、根据本公开的一方面,提供了一种容器镜像分享方法,应用于控制端,包括:

16、获取前端发送的第四租户被分享第二目标容器镜像的信息;

17、建立第四租户与第二目标容器镜像之间的被分享关系;

18、将所述被分享关系存入数据库中,以使控制端利用所述数据库中存储的被分享关系,确定租户对容器镜像的拉取权限信息。

19、根据本公开的一方面,提供了一种容器镜像推送方法,应用于代理端,包括:

20、响应于第五租户的镜像推送操作,获取所述第五租户的第二身份证明信息,以及所述第五租户要将容器镜像推送到的第二目标镜像仓库的信息;

21、利用第二身份证明信息和所述第二目标镜像仓库的信息,生成并向控制端发送租户校验请求,以使所述控制端根据数据库中存储的租户的标准身份信息以及租户对应的镜像仓库的信息,验证所述第五租户是否为合法租户,以及所述第五租户是否有权限向第二目标镜像仓库推送容器镜像,并在所述第五租户为合法租户,并且第五租户有权限向第二目标镜像仓库推送容器镜像的情况下,反馈校验通过信息;

22、响应于所述校验通过信息,将所述第五租户推送的容器镜像推送到所述第二目标镜像仓库;

23、将所述第五租户向第二目标镜像仓库推送容器镜像完成的信息同步给所述控制端,以使所述控制端将所述第五租户向第二目标镜像仓库推送容器镜像的信息存入数据库中。

24、根据本公开的一方面,提供了一种容器镜像推送方法,应用于控制端,包括:

25、接收代理端发送的租户校验请求;其中,所述租户校验请求包括第五租户的第二身份证明信息,以及所述第五租户要将容器镜像推送到的第二目标镜像仓库的信息;

26、根据数据库中存储的租户的标准身份信息和所述第二身份证明信息,验证所述第五租户是否为合法租户;

27、在所述第五租户为合法租户的情况下,根据所述数据库中存储的租户对应的镜像仓库的信息以及所述第二目标镜像仓库的信息,验证所述第五租户是否有权限向第二目标镜像仓库推送容器镜像;

28、在所述第五租户有权限向第二目标镜像仓库推送容器镜像的情况下,生成并向所述代理端发送校验通过信息,以使所述代理端将所述第五租户推送的容器镜像推送到所述第二目标镜像仓库;

29、响应于代理端发送的所述第五租户向第二目标镜像仓库推送容器镜像完成的信息,将所述第五租户向所述第二目标镜像仓库推送容器镜像的信息存入数据库中。

30、根据本公开的一方面,提供了一种容器镜像处理系统,包括控制端、前端、代理端、数据库以及至少一个镜像仓库;

31、所述镜像仓库,用于存储和管理容器镜像;

32、所述控制端,用于执行上述任一项在控制端执行的方法;

33、所述代理端,用于执行任一项在代理端执行的方法;

34、所述前端,用于执行任一项在前端执行的方法;

35、所述数据库,用于存储租户的信息、镜像仓库的信息、租户的标准身份信息、租户与镜像仓库之间被分享关系的信息、租户与容器镜像之间推送关系的信息。

36、根据本公开的另一方面,提供了一种电子设备,包括:

37、至少一个处理器;以及

38、与该至少一个处理器通信连接的存储器;其中,

39、该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。

40、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。

41、根据本公开的技术,租户能够通过前端和控制端将容器镜像分享给特定的组户,并且控制端将相关的分享关系的信息存入数据库中;后续有拉取需求的租户可以在代理端进行镜像拉取操作,代理端响应于该镜像拉取操作向控制端发送的拉取鉴权请求;其中,拉取鉴权请求包括该租户的身份证明信息,以及该租户所要拉取的容器镜像的信息;控制端解析该拉取鉴权请求,并根据解析得到的身份证明信息和容器镜像的信息,确定该租户对容器镜像的拉取权限信息,并在拉取权限信息指示该租户具备对容器镜像的拉取权限的情况下,向代理端发送鉴权通过信息;代理端利用接收到的鉴权通过信息,从镜像仓库中拉取容器镜像,并返回给该租户。利用本公开的技术,租户可以将容器镜像分享给特定的租户,后续只有具备拉取权限的租户才能拉取到容器镜像,实现了对容器镜像在租户层级上的权限管控,提升了容器镜像的安全性,以及容器镜像管理的有效性。

42、进一步地,本公开中,在拉取容器镜像的租户并非向镜像仓库推送容器镜像的租户的情况下,控制端会向代理端反馈推送容器镜像的租户的标准身份信息,代理端利用接收的该标准身份信息即可从镜像仓库中拉取到容器镜像,避免了在租户有拉取需求时,需要推送容器镜像的租户分享自身的标准身份信息给有拉取需求的租户,整个镜像拉取过程,有拉取需求的租户只需要使用自身的身份证明信息,有效提升了容器镜像的拉取效率,以及租户的使用体验。

43、进一步地,本公开中是利用推送容器镜像的租户的标准身份信息来拉取镜像,不对镜像仓库拉取容器镜像的方式进行更改,因此可以方便地对接不同的开源镜像仓库,提升了使用场景的多样性。

44、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

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