计算平台上的多租户控制平面管理制造技术

技术编号:38532414 阅读:27 留言:0更新日期:2023-08-19 17:05
用于管理多租户云计算平台的方法、系统、设备和计算机可读存储介质。在一个或多个节点上实现的云提供者控制平面可以以按需方式管理集群控制平面的创建、分配、执行和销毁,而不是为每个租户分离地维护集群控制平面。计算资源可以被更有效地使用,至少因为资源没有被充分利用。添加附加的租户可以以每租户的零或小边际成本来完成,因为用于为租户的请求服务的集群控制平面是响应于请求而执行的,但在平面的租户空闲时被销毁。可以在每租户的基础上生成和修改实现平台API以在平台的设备和计算资源的集群之间通信的API服务器的多个实例。源的集群之间通信的API服务器的多个实例。源的集群之间通信的API服务器的多个实例。

【技术实现步骤摘要】
【国外来华专利技术】计算平台上的多租户控制平面管理
[0001]相关申请的交叉引用
[0002]本申请是2020年12月15日提交的美国专利申请No.17/122,177的继续申请,其公开内容通过引用并入本文。

技术介绍

[0003]云计算平台是由提供者维护的计算机系统,用于向一个或多个用户提供计算资源和服务。该平台可以为用户分配不同数量的计算资源,用户又可以使用分配的资源来执行任务,诸如在分配的资源上托管他们自己的服务和软件应用。云计算平台可以提供用户购买和直接维护可能非常昂贵的计算资源。平台可以提供平台硬件和平台用户之间的一系列抽象。对平台用户的抽象可以以诸如基础设施即服务(IaaS)、平台即服务(PaaS)或软件即服务(SaaS)范例的不同的形式出现。
[0004]平台的不同用户,诸如与平台交互的个人、组织或程序,可以共同被表示为租户(tenant)。租户可以包括一个或多个平台用户、与租户相关联的计算资源、以及一个或多个标识计算资源应该如何被一个或多个平台用户访问的策略。计算资源可以包括分配给租户的一个或多个工作者节点,以及为租户执行集群控制平面而保留的一个或多个计算设备。集群控制平面可以被配置以促进响应租户的平台用户针对租户读取或写入数据的请求。
[0005]平台可以分配计算资源以在平台的相同共享计算资源上备置每个租户。然而,在这种多租户方法中管理平台可能产生问题,特别是当不同租户的计算资源在表示计算资源的同一节点集群上共享时。计算资源的分配也可能难以在其分配的计算资源与其他租户的计算资源共址的租户之间有效地隔离。
>[0006]另一方面,为每个集群控制平面指定分离的节点可能是低效且昂贵的。一个原因是因为计算平台上的节点通常根据固定的最小大小进行离散分区,诸如单个虚拟机的可用计算资源的最小设置、或者以处理器周期或存储器大小测量的计算资源的最小分配。另一原因可能是集群控制平面可以各自有固定的开销成本来实现,所述固定的开销成本不随着一次执行的集群控制平面的数量而减少。集群上只有几个节点的租户的集群控制平面可能通常无法充分利用,即使是可用于执行对应控制平面的最小可用节点。

技术实现思路

[0007]本公开提供在计算平台上管理多个租户,每个租户具有专用控制平面。云提供者控制平面可以将相应租户的每个控制平面管理为执行多个线程的进程的一个或多个线程。云提供者控制平面可以接收来自租户的请求以修改与租户的计算资源对应的集群的状态。云提供者控制平面可以确定当前集群控制平面对于请求租户是否是激活的。如果不是,则云提供者控制平面可以引发一个或多个线程,这些线程执行集群控制平面以管理与请求租户相对应的节点。作为执行集群控制平面的一部分,云提供者控制平面可以生成在计算平台上实现并被配置为处理根据平台API形成的传入请求的修改的应用编程接口(API)服务器的一个或多个实例。云提供者控制平面可以为API服务器的不同实例管理二进制文件或
其他可执行软件,这些实例可以以不同的方式被修改。如本文所述,响应于API请求,集群控制平面引擎可以引发线程以执行API服务器实例,API服务器实例根据在多租户进程中运行的需要进行修改并提供有特定租户的配置数据。
[0008]本公开的方面可以被实现为多租户计算平台,或者被实现为单租户计算平台的修改以允许多租户功能。平台可以是容器化环境,其中平台被配置为编排在平台上执行的不同容器的创建、分配和销毁。在一些实施方式中,平台可以针对对象存储服务(OSS)进行配置,以允许代表不同平台用户存储数据。在那些实施方式中,平台可以实现本公开的各方面来以多租户方式提供OSS。
[0009]当前未配置用于多租户的计算平台可以如本文所述被修改以实现多租户操作。计算平台可以包括服务于对计算平台的请求的单个API服务器,其可以根据本公开的方面被修改以提供服务于具有与计算平台交互的不同要求的不同租户的API请求。修改现有平台可能有利于利用现有基础设施和集成,而不是从头开始实施新平台。
[0010]以这种方式,云提供者控制平面可以在计算资源上实现,该计算资源随着对云提供者控制平面的需求在聚合中扩缩,因为存在与备置单独租户相关联的零或很小边际成本。与执行单独集群控制平面相关的固定成本可以被分摊到大量租户,每个租户对应于相应的集群控制平面。换句话说,云提供者控制平面可以有效地处置多个租户的多个集群控制平面,同时保持租户之间的隔离,如根据以下公开的各方面所描述的。
[0011]通常,本说明书中描述的主题的一个创新方面提供了一种系统,包括:一个或多个处理器;以及与一个或多个处理器通信的一个或多个存储设备,一个或多个存储设备存储指令,指令当由一个或多个处理器执行时,使一个或多个处理器执行操作,包括:维护多个集群控制平面,每个集群控制平面包括应用编程接口(API)服务器的软件的一个或多个相应实例,其中每个集群控制平面被配置为接收API请求并使用API服务器的软件的一个或多个相应实例来处理API请求;接收API请求以修改或读取计算平台的计算资源的集群的状态;以及响应接收API请求:标识与API请求对应的多个集群控制平面中的集群控制平面,以及使所标识的集群控制平面根据API请求来修改或读取集群的状态。
[0012]根据本公开的方面配置的平台可以在同一硬件上管理多个集群控制平面,并且在没有附加的计算资源分配的情况下管理附加的租户,而不是在专门分配的硬件上维护分离的控制平面。
[0013]使所标识的集群控制平面修改或读取集群的状态可包括使所标识的集群控制平面修改与集群控制平面相关联的一个或多个工作者节点的执行。
[0014]API请求可以是第一API请求,并且操作还可以包括:接收第二API请求以修改或读取集群的状态,其中第二API请求指定不同于第一API请求的计算资源的计算资源;确定多个集群控制平面不包括对应于在第二API请求中标识的租户的集群控制平面,并且响应于该确定,引发一个或多个线程以执行被配置为根据第二API请求修改集群的状态的API服务器实例。
[0015]执行一个或多个相应实例的所引发的一个或多个线程可以被配置为跨一个或多个通道传送数据,其中每个线程被配置为使用一个或多个通道在其他线程中通信,其中每个通道是被配置为存储线程之间传送的数据的数据结构。
[0016]不是通过租户的数量来扩缩集群控制平面,而是可以根据传入API请求的数量来
放大或缩小用于执行API功能的API服务器软件的实例。扩缩可以通过线程的引发或销毁来完成,而不是作为每个集群控制平面的专用节点。附加租户的零边际成本或少量边际成本至少可以归因于将多个集群控制平面作为一个或多个相应线程进行管理。可以添加新线程,而无需分配附加的计算资源来维护多个集群控制平面。
[0017]操作还可包括在执行第二集群控制平面以修改或读取集群的状态之后的预定时间段之后销毁一个或多个所引发的线程中的至少一个线程。空闲租户的集群控制平面可以在预定时间段后被销毁,并且可以分配新线程来在此期间服务其他API请求。以这种方式,可以释放和重新分配计本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:一个或多个处理器;以及一个或多个存储设备,所述一个或多个存储设备与所述一个或多个处理器通信,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:维护多个集群控制平面,每个集群控制平面包括应用编程接口(API)服务器的软件的一个或多个相应实例,其中,每个集群控制平面被配置为接收API请求并使用所述API服务器的软件的所述一个或多个相应实例来处理所述API请求;接收用以修改或读取计算平台的计算资源的集群的状态的API请求;以及响应于接收所述API请求:标识所述多个集群控制平面中的与所述API请求对应的集群控制平面,以及使所标识的集群控制平面根据所述API请求来修改或读取所述集群的所述状态。2.根据权利要求1所述的系统,其中,使所标识的集群控制平面修改或读取所述集群的所述状态包括使所标识的集群控制平面修改与所述集群控制平面相关联的一个或多个工作者节点的执行。3.根据权利要求1或权利要求2中的一项所述的系统,其中,所述API请求是第一API请求,并且其中,所述操作进一步包括:接收用以修改或读取所述集群的状态的第二API请求,其中,所述第二API请求指定与所述第一API请求的所述计算资源不同的计算资源;确定所述多个集群控制平面不包括对应于在所述第二API请求中标识的租户的集群控制平面;以及响应于所述确定,引发一个或多个线程以执行被配置为根据所述第二API请求修改所述集群的所述状态的API服务器实例。4.根据权利要求3所述的系统,其中,执行所述一个或多个相应实例的所引发的一个或多个线程被配置为跨一个或多个通道传送数据,其中,每个线程被配置为使用所述一个或多个通道在其他线程中进行通信,其中,每个通道是被配置为存储在线程之间传送的数据的数据结构。5.根据权利要求3所述的系统,其中,所述操作进一步包括:在使所标识的集群控制平面修改或读取所述集群的所述状态之后的预定时间段之后,销毁所引发的一个或多个线程中的至少一个线程。6.根据权利要求1至5中的一项所述的系统,其中,使所标识的集群控制平面修改或读取所述集群的所述状态包括:维护控制器池,每个控制器包括一个或多个线程,所述一个或多个线程被配置为修改或读取一个或多个集群的状态;配置来自所述控制器池的第一控制器来修改或读取所述集群的所述状态;从所述控制器池中移除所述第一控制器;使所标识的集群控制平面使用所述第一控制器修改或读取所述集群的所述状态;以及在使用所述第一控制器后销毁所述第一控制器。7.根据权利要求1至6中的一项所述的系统,其中,所述集群包括计算资源的多个离散
部分,其中,所述集群的所述多个离散部分中的每个离散部分包括资源标识符,所述资源标识符独特地标识所述集群的计算资源的该离散部分;其中,所述API请求包括包含资源标识符的元数据;以及其中,标识所述集群控制平面包括标识对应于资源的集群控制平面,所述资源的标识符与所述API请求的所述元数据中的所述资源标识符相匹配。8.根据权利要求7所述的系统,其中,计算资源的所述多个离散部分包括应用、服务、负载平衡器、节点、舱或容器中的至少一个。9.根据权利要求1至8中的一项所述的系统,其中,维持所述多个集群控制平面进一步包括:将在所述多个集群控制平面中共享的数据存储在所述多个集群控制平面能够访问的存储器的共享缓存中,其中,所述数据被不可变地存储。10.根据权利要求1至9所述的系统,其中,所述多个集群控制平面中的每个对应于所述计算平台的租户,并且其中,所述操作进一步包括:生成包括所述API服务器的实例的集群控制平面,其中,所述生成包括执行修改的API服务器的实例,所述修改的API服务器的实例使用由对应于所述集群控制平面的所述租户指定的配置来初始化。11.根据权利要求1至10中的一项所述的系统,其中,维持所述多个集群控制平面进一步包括:在存储器的分离缓存中存储对于所述多个集群控制平面中的每个独有的相应数据,其中,存储在...

【专利技术属性】
技术研发人员:丹尼尔
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1