CN113934550A - 用于边缘计算网络的联合运维器 - Google Patents
用于边缘计算网络的联合运维器 Download PDFInfo
- Publication number
- CN113934550A CN113934550A CN202011607890.4A CN202011607890A CN113934550A CN 113934550 A CN113934550 A CN 113934550A CN 202011607890 A CN202011607890 A CN 202011607890A CN 113934550 A CN113934550 A CN 113934550A
- Authority
- CN
- China
- Prior art keywords
- computing
- cluster
- resource
- maintenance component
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
总体上描述了使用联合运维器组件进行计算服务的集群间部署的系统和方法。在一些示例中,联合运维器组件可以接收部署计算服务的第一请求。在各种示例中,联合运维器组件可以向第一计算节点集群发送为计算服务提供第一计算资源的第二请求。在各种示例中,第一计算节点集群可以与计算网络的第一层级相关联。在一些示例中,联合运维器组件可以向第二计算节点集群发送为计算服务提供第二计算资源的第三请求。第二计算节点集群可以与计算网络中不同于第一层级的第二层级相关联。
Description
技术领域
本公开总体上涉及跨多个容器编排集群(cluster)来部署和维护计算服务的系统和方法。
背景技术
本公开总体上涉及共享计算环境,例如多租户云环境。具体而言,无论是在组织内公共地还是私有地实现的共享计算环境,通常都会采用对于在联网计算机系统中执行计算任务的隔离的客户机(guest)的部署的编排(orchestration)。在计算机系统中,通过使用可被用来创建用于运行应用程序的托管(hosting)环境的隔离的客户机(例如虚拟机和容器)来缩放(scale)应用部署可以是有利的。通常,可以启动诸如容器和虚拟机之类的隔离的客户机,以提供隔离的客户机旨在提供的类型的额外计算能力。隔离的客户机使程序员能够根据请求应用的业务流量来快速缩放应用的部署,并且可以被部署在各种硬件环境中。多个客户机也可以集中在一起,以执行比各个容器能够单独执行的功能更复杂的功能。许多应用需要持久性存储来存储当前的执行状态,并且因此可以将持久性存储提供并分配给在计算环境中执行的客户机。
发明内容
本公开提供了用于跨多个容器编排集群(cluster)来部署和维护计算服务的新颖且有创新性的系统、方法和装置。在一个示例中,存储器被配置为与至少一个处理器通信。该至少一个处理器可以被配置为执行联合(federated)运维器组件。进而联合运维器组件可以起作用,以接收指定计算服务、该计算服务的第一计算资源需求和该计算服务的第二计算资源需求的应用编程接口(API)声明。联合运维器组件可以根据第一计算资源需求,向在第一计算节点集群的第一容器编排框架上执行的第一运维器组件发送提供第一计算资源的第一请求。在一些示例中,第一计算节点集群可以与计算网络的第一层级相关联。联合运维器组件还可以被配置为根据第二计算资源需求,向在第二计算节点集群的第二容器编排框架上执行的第二运维器组件发送提供第二计算资源的第二请求。在一些示例中,第二计算节点集群可以与计算网络中的不同于第一层级的第二层级相关联。
在另一个示例中,存储器被配置为与至少一个处理器通信。第一运维器组件与第一计算节点集群的第一容器编排框架相关联。第一集群资源委托(delegate)与第一计算节点集群相关联。第一集群资源委托可以被配置为从联合运维器组件接收第一指令,其中联合运维器组件被配置为与多个运维器组件进行通信。第一指令包括为第一计算服务提供第一计算资源的请求。在一些示例中,多个运维器组件中的每个运维器组件可以与相应的计算节点集群相关联。在各种其他示例中,第一计算服务可以使用由第二计算节点集群提供的第二计算资源。在一些示例中,第一集群资源委托可以被配置为通过修改第一指令来生成修改后的指令,以对应特定于第一运维器组件的应用程序接口(API)。在一些示例中,第一运维器组件可以被配置为在该API处接收修改后的指令。在一些其他示例中,第一运维器组件可以基于修改后的指令,向第一容器编排框架的主节点发送实例化一个或多个容器的第二指令,这些容器被配置为向第一计算服务提供第一计算资源。
在又一示例中,提供计算服务的方法可以包括在联合运维器组件的第一应用程序接口(API)处接收部署计算服务的第一请求。联合运维器组件可以向与第一计算节点集群相关联的第一运维器组件发送在第一计算节点集群之中为计算服务提供第一计算资源的第二请求。在一些示例中,第一计算节点集群可以与计算网络的第一层级相关联。在各种其他示例中,联合运维器组件可以向与第二计算节点集群相关联的第二运维器组件发送在第二计算节点集群之中为计算服务提供第二计算资源的第三请求。在一些示例中,第二计算节点集群可以与计算网络中的不同于第一层级的第二层级相关联。
所公开的方法和装置的附加特征和优点在以下具体实施方式和附图中描述,并且从以下具体实施方式和附图中变得更为清楚。
附图说明
图1为根据本公开的示例的联合运维器计算服务系统的框图。
图2示出了根据本公开的示例的边缘计算网络中联合运维器组件和不同集群之间通信的框图。
图3示出了根据本公开的示例的用于跨不同计算节点集群部署计算服务的示例性过程的流程图。
图4示出了根据本公开的示例的由集群资源委托提供计算资源的示例的流程图。
图5A和图5B示出了根据本公开各个方面的跨不同计算集群提供计算服务的不同计算资源的示例的流程图。
图6A和图6B示出了根据本公开各个方面的由联合运维器组件重新平衡计算资源的示例的流程图。
图7是根据本公开的示例的边缘计算网络中的联合运维器组件的框图。
图8是根据本公开的示例的经由联合运维器组件来部署计算服务的系统的框图。
具体实施方式
在计算机系统中,可以实现虚拟化以允许计算资源的灵活缩放,例如,在多租户云环境中。在一个示例中,虚拟机(“VM”)可以是实际物理计算机系统的鲁棒仿真,其利用管理程序(hypervisor)向虚拟机分配物理资源。在一些示例中,基于容器的虚拟化系统(例如,由执行诸如的容器化运行时(runtime)环境的容器管理器(例如Red)所管理的虚拟化系统)可以是有益处的,因为基于容器的虚拟化系统相比于使用带有管理程序的虚拟机的系统是更轻量的。在容器的情况下,容器通常被托管在已经执行了操作系统的物理主机或虚拟机上,并且容器可以被托管在物理主机或VM的操作系统上。在大规模实现中,容器调度器,例如包含在容器编排器(orchestrator)中的容器调度器(例如,RedDocker),通常以低延迟来响应频繁的容器启动和清理。容器可以为了特定任务实现广泛的、并行的计算能力部署。在一个典型的示例中,容器可以被实例化来处理特定的任务,并在任务完成后被收回(reap)。
计算服务,例如内容交付网络(CDN)、视频分析即服务、零售即服务和其他计算服务,通常是跨多个计算节点而被部署的。每个服务可能有不同的计算资源需求,如计算容量、网络延迟、高速缓存(cache)和存储(storage)需求等。传统上,计算服务的计算资源部署在单个计算节点集群内。如这里所使用的,计算节点集群指的是其上已经部署了编排框架(例如,Docker等)的计算节点。出于安全原因,计算资源通常部署在单个集群上,因为集群通常不彼此进行认证。在应用和服务全部被部署在集中式位置处的云计算模式中,跨不同集群部署计算服务通常没有益处。然而,在边缘计算中,计算资源是在不同的层和不同的地理上分布的节点上提供的,在边缘网络的不同层级处部署不同的计算资源是有益处的,以便优化计算占用空间(footprint)和/或性能。在边缘网络中跨多个集群部署计算服务相对于在单个集中式集群内的部署可以允许更有效地使用计算资源,并且可以提供更好的服务和/或更低的延迟。然而,由于集群之间通常缺乏受信的通信,并且缺乏集群间(inter-cluster)资源管理,这种集群间计算架构还没有以高度可缩放和高效的方式进行部署。
例如,在边缘计算中,在不同的层和/或地理上分布的节点处部署不同的计算资源是益处的。例如,从延迟(latency)的角度来看,在地理上靠近数据消费者的群集中为内容传递网络提供高速缓存是有益处的。相比之下,将持久性存储部署在更高层是有益处的,以便在其上部署了高速缓存的集群出现故障的情况下,可以从持久性存储中检索数据。但是,如前所述,由于安全和信任问题,通常不会跨多个集群来部署计算服务。因此,本公开描述了联合运维器组件,其被配置为与在边缘计算网络的不同层级处(例如,在不同地理位置处和/或在组织的不同级别处)的不同集群上执行的运维器组件进行通信。联合运维器组件被配置为通过跨不同集群提供计算资源来部署计算服务,每个集群与编排框架和运维器组件相关联。此外,联合运维器组件将集群间访问凭证和/或认证数据(例如,用户名、密码、签名的安全证书等)部署到不同的集群,以便实现不同集群之间的安全通信,从而使单个计算服务的、被部署在不同集群上的计算资源能够进行通信。此外,联合运维器组件能够根据计算服务/网络的当前状态并根据与计算服务相关联的服务级别协议(SLA),来平衡/重新平衡计算资源部署。在重新平衡期间(更一般地,为了实现集群间通信),联合运维器组件可以定义服务间和/或集群间服务网格(mesh)网络。服务网格网络是一种通过维护和更新路由表来允许不同集群的节点彼此进行通信的连接映射(connectivity map),其中路由表在不同集群之中的计算资源的虚拟地址和物理地址之间进行转换。联合运维器组件可以执行访问控制、断路、服务质量(QoS)等。联合运维器组件也可以维持会话保持(affinity)。在各种示例中,联合运维器组件可以被部署在一层级处,该层级比联合运维器在其上提供由跨集群分布式计算服务使用的计算资源的集群要至少高一级,以便维持对包括该计算服务在内的各种计算资源的通信和/或控制。
此外,联合运维器组件可以根据当前的SLA,跨边缘计算集群的所有层以执行资源缩放。在一些示例中,联合运维器组件可以跨边缘计算集群的所有层,全局地提供系统/组件升级和/或维护的策略。例如,联合运维器组件可以实现CDN升级策略,该策略仅在成功更新存储服务集群之后才触发边缘集群A和B上的高速缓存服务的更新。升级和/或维护策略的联邦控制有助于确保维护期间的服务可用性。此外,联合运维器组件可以提供全局级域名服务(DNS)解析和服务发现。当编排计算服务时,联合运维器组件可以跟踪该服务的DNS记录和服务位置。例如,可以在API声明的状态字段中跟踪DNS记录和服务位置。
运维器组件(有时称为“运维器”)是在计算节点集群上执行的软件,其管理编排环境并使用该环境的当前状态来实时做出有关计算资源部署/平衡/维护的决策。例如,运维器组件升级系统、对故障做出反应、部署应用和/或应用服务等。运维器与编排框架的主节点进行通信,以在集群内采取行动。计算资源定义可以作为应用程序接口(API)声明而被指定给运维器组件。运维器组件可以将计算资源定义提供给协调器(reconciler)组件,该协调器组件与主节点通信以在集群的节点上提供所声明的计算资源。
图1是根据本公开的示例的联合运维器计算服务系统的框图。系统100可以包括一个或多个物理主机,包括物理主机110A。物理主机110A可以继而包括一个或多个物理处理器(例如,CPU 112A),其通信地耦合到一个或多个存储器设备(例如,MD 114A-B)和一个或多个输入/输出设备(例如,I/O 116A)。如此处所使用的,一个或多个物理处理器112A是指能够执行编码算术、逻辑和/或I/O操作的指令的设备。在一个说明性示例中,处理器可以遵循冯诺依曼架构模型,并且可以包括算术逻辑单元(ALU)、控制单元和多个寄存器。在一个示例中,处理器可以是通常能够一次执行一个指令(或者处理单个指令流水线)的单核处理器,或者是可以同时执行多个指令和/或线程的多核处理器。在另一个示例中,处理器可以被实现为单个集成电路、两个或更多个集成电路,或者可以是多芯片模块的组件(例如,其中各个微处理器管芯被包括在单个集成电路封装中并且因此共享单个插槽)。处理器也可以被称为中央处理单元(“CPU”)。
如上所述,存储器设备114A-B指易失性或非易失性存储器设备,例如RAM、ROM、EEPROM或能够存储数据的任何其他设备。在一个示例中,存储器设备114A可以是持久性存储设备,例如硬盘驱动器(“HDD”)、固态驱动器(“SSD”)和/或持久性存储器(例如,非易失性双列直插式存储器模块(“NVDIMM”)。存储器设备114A-B可以另外包括数据的复制,以防止由于任何一个设备中的故障而导致的数据丢失。这种复制可以通过例如独立磁盘冗余阵列(“RAID”)设置来实现。RAID阵列可以被设计为提高性能、提供实时数据备份或两者兼而有之。如上所述,I/O设备116A是指能够在一个或多个处理器引脚和外部设备之间提供接口的设备,其操作是基于处理器输入和/或输出二进制数据的。可以使用各种技术使(一个或多个)CPU 112A互连,各种技术范围为从点对点处理器互连到系统区域网络(例如基于以太网的网络)。物理主机110A内的本地连接,包括处理器112A和存储器设备114A-B之间以及处理器112A和I/O设备116A之间的连接,可以由例如外围组件互连(PCI)之类的适当架构的一个或多个本地总线而提供。
在一个示例中,物理主机110A可以运行一个或多个隔离的客户机,例如VM 122,这些客户机继而可以托管附加的虚拟环境(例如,虚拟机和/或容器)。在一个示例中,容器(例如,存储容器160、服务容器150A-B)可以是使用任何形式的操作系统级虚拟化的隔离的客户机,例如,Red containers、chroot、Jails、Containers(SRP)、VMware等。存储容器160和/或服务容器150A-B可以直接在主机操作系统(例如,主机OS 118)上运行,或者在另一个虚拟化层中运行,例如在虚拟机(例如,VM 122)中运行。在一个示例中,可以将执行统一功能的容器在容器集群中分组在一起,该容器集群可以被一起部署(例如,在容器集(pod)中)。在一个示例中,给定的服务可以需要在多个物理位置中部署多个VM、容器和/或容器集。在一个示例中,VM 122可以是在物理主机110A上执行的VM。
系统100可以通过在硬件之上和VM 122之下执行软件层(例如管理程序120)来运行一个或多个VM(例如VM 122),如图1示意性所示。在一个示例中,管理程序120可以是在物理主机110A上执行的相应主机操作系统118的组件,例如,其被实现为主机操作系统118的基于内核的虚拟机功能。在另一个示例中,管理程序120可以由运行在主机操作系统118A上的应用程序提供。在一个示例中,管理程序120可以直接在物理主机110A上运行,而不需要管理程序120下面的操作系统。管理程序120可以对包括处理器、存储器和I/O设备在内的物理层进行虚拟化,并将该虚拟化呈现给VM 122作为设备,包括虚拟中央处理单元(“VCPU”)190A、虚拟存储器设备(“VMD”)192A、虚拟输入/输出(“VI/O”)设备194A和/或客户机存储器195A。在一个示例中,另一个虚拟客户机(例如,VM或容器)可以直接在主机OS 118上执行而无需中间虚拟化层。
在一个示例中,VM 122可以是虚拟机,并且可以运行客户机操作系统196A,该客户机操作系统196A可以利用底层VCPU 190A、VMD 192A和VI/O 194A的。处理器虚拟化可以由管理程序120在物理CPU 112A上调度时间片(time slot)来实现,从而从客户机操作系统的角度来看,这些时间片被调度在虚拟处理器190A上。VM 122可以运行在底层硬件和主机操作系统118上的任何类型的依赖性、独立性、兼容的和/或不兼容的应用程序上。管理程序120可以管理主机操作系统118的存储器以及分配给VM 122和客户机操作系统196A的存储器,例如提供给客户机OS 196A的客户机存储器195A。
在一个示例中,存储容器160和/或服务容器150A、150B被类似地实现。在一个示例中,编排器140可以在一个或多个客户机(例如,类似于服务容器150A-B的服务容器)上被托管,并且编排器140可以是管理系统100的虚拟计算资源的虚拟化编排器(例如,Red)。在一些示例中,编排器140表示计算节点集群102a的主节点,容器(或其他受信任的执行环境)框架被部署在该计算节点集群102a上。在一些示例中,编排器140包括用于容器和/或VM的客户机调度器144、网络存储管理(例如,存储控制器142)、API管理等。在一个示例中,编排器140是经由容器集群102a而不是在单个容器中实现。在一个示例中,存储控制器142是管理分布式存储解决方案(例如,Red Swift,等)的部署的存储集群编排器(例如,),Red),该解决方案可以额外采用分布式文件系统(例如,Red)。在一个示例中,存储控制器142和/或客户机调度器144可以是编排器140的组成部分。在另一示例中,存储控制器142和/或客户机调度器144可以是例如通过应用程序接口(“API”)与编排器140通信的外部组件。在一个示例中,可以采用用于实现计算设备之间的通信的任何形式的适当网络(例如,公共网络(例如,因特网)、专用网络(例如,局域网(LAN)或广域网(WAN)),或其组合),来使系统的组成部分(例如,编排器140、存储容器160、服务容器150A-B等)彼此连接。在一个示例中,编排器140、存储控制器142和/或客户机调度器144可以通过任何适当形式的计算模块(例如,应用程序、可执行程序、脚本、硬件模块等)来实现。虽然在图1中未示出,但是其他计算节点集群102b,…,102n可以类似地部署相应的编排器140,以在相应集群102b,…,102n的不同节点上部署虚拟化和/或分布式计算服务。如以下进一步详细描述的,联合运维器组件101可以与集群102a、102b、…、102n通信,并且可以跨多个集群部署和管理计算服务。此外,联合运维器组件101可以定义用于路由集群间通信的网格网络,以使得作为同一计算服务的一部分但部署在不同集群上的计算资源能够彼此通信。另外,为了确保受信和/或安全的通信,联合运维器组件101可以获得访问凭证和/或签名的安全证书,并且可以向不同的集群提供这样的凭证以实现集群间通信。
在一个示例中,除了由存储容器160提供的分布式存储之外,存储控制器142还可以管理专用存储节点(例如,NAS、SAN等)中的存储。在一个示例中,存储控制器142可以在具有预先配置的性能特征的大型逻辑单元(例如,存储节点170A)中部署存储。在一个示例中,可以在帐户和/或租户级别上,来控制对于给定存储节点(例如,存储节点170A)的访问。在一个示例中,服务容器(例如,服务容器150A-B)可能需要用于应用程序数据的持久性存储,并且可以向编排器140请求具有持久性存储声明的持久性存储。在该示例中,存储控制器142可以通过存储节点(例如,存储节点170A)以持久性存储卷的形式,将存储分配给服务容器150A-B。在一个示例中,可以将给定存储节点(例如,存储节点170A)的存储容量和吞吐量的一部分分配给服务容器150A-B的持久性存储卷。在各种示例中,存储容器160和/或服务容器150A-B可以部署计算资源(例如,存储、高速缓存等),该计算资源是跨集群102a、102b、…、102n分布的计算服务的一部分。在各种示例中,联合运维器组件101可以向在相应的集群102a、102b、…、102n上执行的运维器(例如,运维器组件104等)发送请求,以请求提供特定的计算资源,该特定的计算资源是跨不同集群分布的计算服务的一部分。
如下面进一步详细描述的,集群102a、102b、…、102n可以被组织成不同的层级和/或可以被部署在各种不同的地理位置上。例如,在边缘计算网络中,各个计算节点集群可以被部署在远边缘(例如,在机构的站点和/或靠近数据/服务消费者的站点),各种其他集群可以被区域性地部署(例如,在相对于远边缘集群处于较高层级的特定地理区域处)和/或被更集中地部署(例如,在相对于远边缘集群和区域集群两者都处于较高层级处)。
运维器组件(包括在集群102a上执行的运维器组件104)可以是在集群102a、102b、…、102n中的每一个上执行的软件。运维器组件可以管理它们各自集群的底层编排框架,并基于编排环境的当前状态数据做出关于计算资源部署/平衡/维护的决策。在一个示例中,运维器组件104可以接收API声明,该API声明指定将要由集群102a部署作为计算服务的一部分的一个或多个计算资源。该API声明可以指定计算资源的参数和/或计算资源的SLA。运维器组件104可以与底层编排器140(例如,集群的主节点)通信,以便部署由联合运维器组件101指定的计算资源。尽管跨多个集群部署的计算服务的各种组件在此被称为“计算资源”,但是应当理解,每个计算资源可以另被称为“计算服务”(例如,高速缓存服务、网络服务等),其是更大的分布式计算服务(例如,CDN)的子服务。
在一个示例中,运维器组件104可以在服务API 106处指定特定资源和相关资源需求。服务协调器108可以进而确定应该如何在集群102a上部署和/或提供指定的资源。服务协调器108可以与编排器140(例如,与集群102a的主节点)通信,以经由在集群102a的一个或多个计算节点上提供的一个或多个容器来部署计算资源。服务协调器108可以包括逻辑,该逻辑可以基于从服务API 106接收的指定所需计算资源和/或参数(例如,0.5GB高速缓存部署)的API声明,来确定要提供给编排器140的适当指令,以便部署提供所请求的计算资源的容器(例如,服务容器150A-B)。
图2示出了根据本公开的示例的边缘计算网络中联合运维器组件和不同集群之间的通信的框图。在图2中的示例中,联合运维器组件101跨位于不同层级处的不同集群来部署计算服务。例如,联合运维器组件101可以在远边缘集群240上提供计算资源,例如CPU206a(例如,计算资源)、服务208a(例如,网络服务)和持久性存储210a。类似地,联合运维器组件101可以在区域/中央集群250上提供计算资源CPU 206b、服务208b和/或持久性存储210b。在各种示例中,联合运维器组件101可以跨不同集群,来部署计算服务的不同计算资源。
在图2所示的示例中,联合运维器组件101可以在远边缘集群240上部署高速缓存资源,并且对区域/中央集群250部署持久性存储资源。在一些示例中,联合运维器组件101可以发送提供高速缓存资源的请求,该请求可以是在远边缘集群240上执行的运维器组件280a的高速缓存服务API 202可解释的。在各种示例中,这可以包括由联合运维器组件101生成该请求,该请求是针对运维器组件280a的高速缓存服务API 202的定义格式。
类似地,联合运维器组件101可以发送提供持久性存储资源的请求,该请求可以是存储服务API 210可解释的。在各种示例中,这可以包括由联合运维器组件101生成该请求,该请求是针对运维器组件280b的存储服务API 210的定义格式。运维器组件280a和280b可以来自不同的供应商,因此对于其面向外部的API(例如,高速缓存服务API 202和存储服务API 210)可以具有不同的规格。因此,联合运维器组件101可以生成可由运维器特定的API(例如,缓存服务API 202和存储服务API 210)解释的特定指令。
在另一个示例中,联合运维器组件101可以为每个集群部署集群资源委托,而不是为每个运维器组件API生成供应商特定的指令。例如,联合运维器组件101可以为远边缘集群240部署集群资源委托220a,为区域/中央集群250部署集群资源委托220b。在各种示例中,集群资源委托220a-220b可以从联合运维器组件101接收通用格式的指令(例如,部署计算资源、重新平衡计算资源、升级指令等的指令)。然而,集群资源委托220a-220b中的每一个可以被配置为将指令修改成适于输入到特定运维器组件的API中的形式。相应地,集群资源委托220a可以接收在远边缘集群240上部署指定量的高速缓存的指令。集群资源委托220a可以修改该指令,以生成格式为适合输入到高速缓存服务API 202中的修改后的指令。类似地,集群资源委托220b可以接收在区域/中央集群250上部署指定量的持久性存储的指令。集群资源委托220b可以修改该指令,以生成格式为适合于输入到存储服务API 210中的修改后的指令。相应地,集群资源委托220a-220b可以是被配置为将从联合运维器组件101接收的指令转换为运维器特定的指令(例如,适于输入到其上正在执行集群资源委托的运维器组件的API中的指令)的软件。
在图2的示例中,联合运维器组件101可以部署包括一定量的高速缓存和一定量的持久性存储的计算服务(例如,内容交付服务)。联合运维器组件101可以向集群资源委托220a或直接向高速缓存服务API 202(取决于实现方式)发送部署所请求量的高速缓存的请求。类似地,联合运维器组件101可以向集群资源委托220b或直接向存储服务API 210(取决于实现方式)发送部署所请求量的持久性存储的请求。高速缓存服务API 202可以将表示对于高速缓存的请求的数据传递给高速缓存服务协调器204。高速缓存服务协调器204可以与远边缘集群240的主节点通信,以在由远边缘集群240的一个或多个节点启动的一个或多个容器之中提供所请求的第一量的高速缓存。类似地,存储服务API 210可以将表示对于持久性存储的请求的数据传递到存储服务协调器212。存储服务协调器212可以与区域/中央集群250的主节点通信,以在由区域/中央集群250的一个或多个节点启动的一个或多个容器之中提供所请求量的持久性存储(例如,持久性存储210b)。在各种示例中,在更靠近远边缘的集群中提供高速缓存和在更集中的位置提供持久性存储(例如,对于延迟和/或数据安全)可以是有益处的。
如下面进一步详细描述的,联合运维器组件101可以生成安全证书(和/或其他访问凭证),并且可以使安全证书被认证机构签名。可以在每个集群上(例如,在远边缘集群240和区域/中心集群250上)提供签名的安全证书,以实现集群之间的和/或跨不同集群分布的计算服务的各种组件之间的通信。例如,签名的安全证书可以用作访问凭证,以允许部署在远边缘集群240上的高速缓存服务与部署在区域/中央集群250上的持久性存储服务(例如,持久性存储210b)进行通信。在各种示例中,签名的安全证书可以用于加密/解密在远边缘集群240和区域/中央集群250之间发送的数据。
在一些其他示例中,联合运维器组件101可以生成连接映射,该连接映射定义了网格网络以实现跨不同集群部署的各种计算服务之间的通信。例如,联合运维器组件101可以维护路由表,该路由表在部署在远边缘集群240上的高速缓存服务和部署在区域/中央集群250上的持久性存储服务的虚拟和物理地址之间进行转换。由于高速缓存服务和持久性存储服务都可以是同一计算服务(例如,内容交付网络)的一部分,所以联合运维器组件101可以维护和更新路由表,以确保跨不同集群部署的不同计算资源之间的可靠通信。另外,由联合运维器组件101生成的连接映射可以实现访问控制、断路(circuit breaking)、服务质量等。当提供计算服务(例如,CDN)时,联合运维器组件101可以自动生成服务网格(例如,连接映射)。此外,当集群上的各个计算资源/服务被改变、重新平衡和/或从一个节点或集群转移到另一个节点或集群时,联合运维器组件101可以维护会话保持和路由表更新。
在一些其他示例中,联合运维器组件101可以维护与跨不同集群部署的计算资源/服务相关的SLA。例如,当联合运维器组件101在边缘计算网络中的多租户集群上提供CDN服务时,联合运维器组件101可以根据CDN的SLA来维护指定的高速缓存容量和/或存储容量。例如,联合运维器组件101最初可以在远边缘集群A(图2中未示出)上提供1GB的高速缓存,并在远边缘集群B(图2中未示出)上提供1GB的高速缓存。在CDN服务期间,远边缘集群A可能会过载,并且可能只能提供0.5GB的高速缓存。相应地,联合运维器组件101可以通过请求在远边缘集群B上提供额外的0.5GB高速缓存,来重新平衡用于CDN的高速缓存服务。此外,相关高速缓存的路由表可以由联合运维器组件101进行更新。
在各种其他示例中,联合运维器组件101可以根据计算服务(例如,CDN)的SLA,跨不同集群的不同层级缩放计算资源(向上和向下)。例如,当联合运维器组件101在边缘计算网络上(例如,在多层和/或多租户集群上)提供CDN服务时,联合运维器组件101可以通过调整计算资源参数直到满足SLA来维护SLA。例如,由联合运维器组件101部署的CDN可以部署2GB的高速缓存,其中1GB由远边缘集群A提供且1GB由远边缘集群B提供,以及部署由区域边缘集群C提供的10GB的存储。另外,CDN可以具有指定了高速缓存上的90%的命中率的SLA。在生产过程中,有效命中率可能会降至90%以下。作为响应,联合运维器组件101可以从远边缘A和/或远边缘B请求额外的高速缓存,直到满足SLA所指定的命中率。相反,当有效命中率高于SLA时,可以从远边缘集群A和/或远边缘集群B释放资源,直到达到90%的命中率。
在一些其他示例中,联合运维器组件101可以跨边缘计算网络集群的不同层级的多个集群来提供升级/维护策略。例如,管理员可以创建CDN升级策略,该策略仅当存储服务(例如,持久性存储210b)成功升级和/或重新配置时,才会触发远边缘集群A和B上的高速缓存服务进行重新配置或升级,以确保维护期间的服务可用性。可以使用由联合运维器组件101部署的升级策略来指定升级序列。
在一些其他示例中,联合运维器组件101可以为跨多个边缘集群(例如,远边缘集群240和/或区域/中心集群250,以及其他可能的集群)部署的特定计算服务提供全局级域名系统(DNS)解析和服务/资源发现。在各种示例中,API对象/声明的“状态”字段中可以包括域名系统信息。
图3示出了根据本公开的示例的用于在不同计算节点集群之间部署计算服务的过程300。尽管过程300的示例是参照图3所示的流程图描述的,但是应当理解,可以使用许多其他方法执行与过程300相关联的动作。例如,一些框的顺序可以改变,某些框可以与其他框组合,框可以重复,并且所描述的一些框是可选的。过程300可以由包括硬件(电路、专用逻辑等)、软件,或者两者组合的处理逻辑来执行。在一些示例中,过程300的框中描述的动作可以表示一系列指令,这些指令包括可由一个或多个计算设备的一个或多个处理单元执行的计算机可读机器代码。在各种示例中,计算机可读机器代码包括从一个或多个计算设备的本地指令集和/或操作系统(或多个操作系统)中选择的指令。
示例性过程300包括接收API声明,其中该API声明指定计算服务、计算服务的第一计算资源需求和计算服务的第二计算资源需求(框305)。例如,计算服务可以是内容交付网络、零售即服务等。计算服务的第一计算资源需求可以是例如CDN的指定量的高速缓存。计算服务的第二计算资源需求可以是例如CDN的指定量的持久性存储。在一个示例中,该API声明可以由联合运维器组件101通过面向外部的API(例如,如在此所描述的,可由管理员和/或开发者访问的API,其可用于部署集群间计算服务)来接收。
在一个示例中,过程300可以包括根据第一资源需求,向在第一计算节点集群上执行的第一运维器发送提供第一计算资源的第一请求,并且第一计算节点集群与计算网络的第一层级相关联(框315)。例如,联合运维器组件101可以向在远边缘集群240上执行的运维器组件280a(图2)发送提供满足第一资源需求的第一计算资源的请求。在一些示例中,第一集群可以与计算节点的远边缘集群、聚集边缘集群(例如,相对于远边缘集群的更高层级)、区域集群(例如,如果远边缘集群是一组物理组件位于佛罗里达州奥兰多市的计算节点,则该区域集群可以是美国东南部区域的一组计算节点)、集中式集群(例如,与一组区域集群通信并管理该组区域集群的计算节点集群)等相关联。在该示例中,框315的请求可以是提供高速缓存资源、存储资源和/或计算服务所使用的一些其他资源的请求。
在一个示例中,过程300可以包括根据第二资源需求,向在第二计算节点集群上执行的第二运维器发送提供第二计算资源的第二请求,并且第二计算节点集群与计算网络的第二层级相关联(框325)。例如,联合运维器组件101可以向在区域/中央集群250上执行的运维器组件280b(图2)发送提供满足第二资源需求的第二计算资源的请求。另外,在一些示例中,如果第一集群与计算节点的远边缘集群相关联,则第二集群可以与聚集边缘集群、区域边缘集群和/或集中式边缘集群相关联。
下面描述了由联合运维器组件接收的API声明的伪代码的示例,该伪代码继而可以被用于以编程方式生成在不同集群之间提供第一计算服务(例如,CDN)的请求。API声明包括命中率SLA为90%的高速缓存服务要求,其中高速缓存分布在两个边缘集群之间。该API声明还包括由区域集群(例如,在边缘计算网络中相对于部署了高速缓存资源的两个集群而言处于更高层级的集群)提供的10Gi的存储容量要求。
图4示出了根据本公开的示例的由集群资源委托提供计算资源的过程400的流程图。尽管过程400是参照图4所示的流程图描述的,但是应当理解,可以使用许多其他方法以执行与过程400相关联的动作。例如,一些框的顺序可以改变,某些框可以与其他框组合,框可以重复,并且所描述的一些框是可选的。过程400可以由包括硬件(电路、专用逻辑等)、软件或者两者结合的处理逻辑来执行。在一些示例中,过程400的框中描述的动作可以表示一系列指令,这些指令包括可由一个或多个计算设备的一个或多个处理单元执行的计算机可读机器代码。在各种示例中,计算机可读机器代码可以包括从一个或多个计算设备的本地指令集和/或操作系统(或多个系统)中选择的指令。
示例性过程400包括由与第一计算节点集群相关联的第一集群资源委托接收第一指令,该第一指令包括为第一计算服务提供第一计算资源的请求(框405)。在各种示例中,第一集群资源委托(例如,集群资源委托220a)可以在第一计算节点集群(例如,远边缘集群240)上执行。第一集群资源委托可以从联合运维器组件(例如,从联合运维器组件101)接收指令。第一指令包括为第一计算服务提供第一计算资源的请求。例如,第一指令可以是在第一集群上为CDN提供指定量的高速缓存的请求。
示例性过程400可以包括由第一集群资源委托通过修改第一指令来生成修改后的指令,以对应与第一计算节点集群相关联的第一运维器组件的API(框415)。例如,由集群资源委托220a接收的指令可以是由联合运维器组件101生成的通用指令。集群资源委托220a可以解析指令并生成修改后的指令,该修改后的指令的格式特定于在特定集群(例如,远边缘集群240)上执行的特定运维器组件(例如,运维器组件280a)。
示例性过程400可以包括将修改后的指令发送到第一运维器组件的API,其中修改后的指令被配置为向第一计算服务提供第一计算资源(框425)。例如,在生成运维器特定的修改后的指令之后,集群资源委托(例如,集群资源委托220a)可以将修改后的指令发送给运维器组件(例如,运维器组件280a)。在一些其他示例中,运维器组件280a可以生成对特定计算资源的请求,并且可以将该请求发送到协调器(例如,高速缓存服务协调器204)。高速缓存服务协调器进而可以与在集群(例如,远边缘集群240)上执行的编排框架的主节点通信,以确定在集群的哪些节点上部署计算资源。在至少一些示例中,主节点可以启动被指定的计算资源的容器(和/或其他受信任的执行环境)。
图5A和5B示出了根据本公开各个方面的跨不同计算集群提供计算服务的不同计算资源的流程图500。虽然下面的示例是参考图5A和5B中所示的流程图来描述的,但是应当理解,可以使用许多其他方法以执行与图5A和5B相关联的动作。例如,一些框的顺序可以改变,某些框可以与其他框组合,并且所描述的一些框是可选的。这些方法可以由包括硬件(电路、专用逻辑等)、软件或者两者结合的处理逻辑来执行。在图示的示例500中,联合运维器组件501协调第一集群(例如,运维器组件502正在其上执行的集群)上的高速缓存资源的供应和第二集群(例如,运维器组件504正在其上执行的集群)上的存储资源的供应。
在各种示例中,在向不同集群发送对于提供由计算服务(例如,CDN)使用的不同计算资源的请求之前,联合运维器组件可以生成安全凭证以实现跨集群通信和/或在集群之间发送的数据的加密/解密。相应地,联合运维器组件501可以生成安全证书数据,该安全证书数据可以被发送到在其上提供分布式计算服务的各种计算资源的不同集群。在图5A所示的示例中,联合运维器组件501可以生成安全证书,并且可以将该安全证书发送给受信任的证书机构进行签名。相应地,联合运维器组件501可以获得签名的安全证书(框510)。联合运维器组件501可以将签名的安全证书发送到不同的集群,这些集群将被用于提供要由联合运维器组件部署的计算服务的各种计算资源。
在图5A所示的示例中,联合运维器组件501可以将签名的安全证书发送给第一集群的运维器组件502和第二集群的运维器组件504(框512)。第一集群的运维器组件502可以存储签名的安全证书(框514)。例如,运维器组件502可以将签名的安全证书存储在与第一集群相关联的密钥库中。类似地,第二集群的运维器组件504可以存储签名的安全证书(框516)。例如,运维器组件504可以将签名的安全证书存储在与第二集群相关联的密钥库中。在各种示例中,签名的安全证书可以实现安全通信(例如,可以包括访问凭证),其允许了由第一集群的运维器组件502提供的计算资源和由第二集群的运维器组件504提供的计算资源之间的通信。在各种示例中,签名的安全证书可以与加密密钥一起发送,该加密密钥可以用于对在由每个集群提供的资源之间发送的数据进行加密和/或解密。因此,即使当计算资源在基于边缘的计算网络的不同集群上执行时,签名的安全证书(和/或其他访问凭证)也可以实现相同服务的计算资源之间的安全、受信任的通信。
联合运维器组件501可以接收定义计算服务和一个或多个计算资源需求的API声明(框518)。例如,API声明可以指定计算服务的类型(例如CDN),并且可以指定SLA、计算资源需求(例如,存储、高速缓存)和/或计算服务的其他参数。在图5A和5B所示的示例中,计算资源需求可以包括高速缓存需求和存储需求。
联合运维器组件501可以向第一集群发送提供高速缓存资源的请求(框520)。在该示例中,第一集群的运维器组件502可以在运维器组件502的API处接收高速缓存资源提供请求(框522)。在各种示例中,尽管未在图5A和5B中示出,但是联合运维器组件501可以改为向在第一集群的运维器组件502上执行的集群资源委托(未示出)发送高速缓存资源提供请求。集群资源委托可以修改该请求,以生成可由运维器组件502的API解释的修改后的指令。运维器组件502可以向运维器组件502的协调器发送包括高速缓存资源需求的规格的API声明(框524)。协调器可以与第一集群的主节点通信,以在第一集群的节点上提供一个或多个容器(或其他受信任的执行环境),从而提供所请求的高速缓存资源(框526)。
如图5B所示,联合运维器组件501可以向第二集群的运维器组件504发送提供存储资源的请求(框528)。在各种示例中,第二集群可以相对于第一集群处于基于边缘的计算网络的不同层级处。例如,在更高的层级(例如,更一般的级别)提供持久性存储是有益处的,其可以使得在与提供高速缓存资源的一个或多个远边缘集群的通信被中断的情况下,跨集群计算服务的数据仍然是可访问的。第二集群的运维器组件504可以在运维器组件504的API处接收存储资源提供请求(框530)。在各种示例中,尽管未在图5A和5B中示出,但是联合运维器组件501可以改为向在第二集群的运维器组件504上执行的集群资源委托(未示出)发送高速缓存资源提供请求。集群资源委托可以修改该请求,以生成可由运维器组件504的API解释的修改后的指令。
运维器组件504可以向运维器组件504的协调器发送包括高速缓存资源需求的规格的API声明(框532)。协调器可以与第二集群的主节点通信,以在第二集群的节点(有时称为主机)上提供一个或多个容器(或其他受信任的执行环境),从而提供所请求的存储资源(框534)。
之后,在计算服务(例如,CDN)的操作期间,联合运维器组件501可以接收对来自高速缓存的第一数据的请求(框536)。在各种示例中,对第一数据的请求可以是从数据消费者处接收的。联合运维器组件501可以查询将所提供的计算资源的虚拟地址映射到相应的物理地址的连接映射。联合运维器组件501可以确定高速缓存的虚拟地址(框538)。联合运维器组件可以向第一集群的运维器组件502发送请求540以从高速缓存中检索第一数据。运维器组件502和/或在第一集群上提供的高速缓存服务可以接收对第一数据的请求,并且可以确定第一数据没有存储在所提供的高速缓存中(框542)。换句话说,可以发生高速缓存未命中。高速缓存服务和/或运维器组件502可以将高速缓存未命中中继给联合运维器组件501。联合运维器组件501进而可以将高速缓存未命中中继给请求第一数据的设备(例如,使用计算服务的消费者设备)。此后,在确定高速缓存未命中之后,联合运维器组件501可以接收从持久性存储中检索第一数据的请求(框544)(例如,在框530、532和534中为计算服务提供的持久性存储)。相应地,联合运维器组件546可以根据为计算服务维护的连接映射,来确定该存储的虚拟地址。此后,联合运维器组件501可以向运维器组件504(和/或直接向先前在第二集群上提供的存储服务)发送对第一数据的请求548。运维器组件504(和/或存储服务)可以接收对第一数据的请求548(框550)。运维器组件504和/或存储服务可以从为计算服务(例如,CDN)提供的持久性存储中检索第一数据,并且可以将第一数据返回给请求设备(例如,经由联合运维器组件501和/或经由某个其他网关)。此外,运维器组件504可以使用签名的安全证书,将第一数据发送到在第一集群上提供的高速缓存服务(框552),并且运维器组件502可以将第一数据存储在高速缓存中(框554)。在各种示例中,为了使在第二集群上提供的存储服务与在第一集群上提供的高速缓存服务通信,两个集群可以交换访问凭证(例如,在框512中由联合运维器组件提供的并在框514和516中由相应集群存储的签名的安全证书)。
图6A和6B示出了根据本公开各个方面的由联合运维器组件重新平衡计算资源的流程图600。尽管下面的示例是参考图6A和图6B所示的流程图来描述的,但是应当理解,可以使用许多其他方法以执行与图6A和图6B相关联的动作。例如,一些框的顺序可以改变,某些框可以与其他框组合,并且所描述的一些框是可选的。这些方法可以由包括硬件(电路、专用逻辑等)软件,或者两者组合的处理逻辑来执行。在图示的示例600中,联合运维器组件601协调第一集群(例如,正在其上执行运维器组件602的集群)上的高速缓存资源的供应和第二集群(例如,正在其上执行运维器组件604的集群)上的另一高速缓存资源的供应。另外,当与第一集群的通信被中断时,联合运维器组件601重新平衡高速缓存资源。
联合运维器组件601可以接收定义了计算服务、一个或多个计算资源需求和SLA的API声明(框606)。例如,API声明可以指定计算服务的类型(例如CDN),并且可以指定SLA、计算资源需求(例如,高速缓存)和/或计算服务的其他参数。在图6A和图6B所示的示例中,计算资源需求可以包括多个集群之间的分布式高速缓存需求。
联合运维器组件601可以向第一集群发送提供第一量的高速缓存资源请求(框608)。在该示例中,第一集群的运维器组件602可以在运维器组件602的API处接收高速缓存资源提供请求(框610)。在各种示例中,尽管未在图6A和图6B中示出,但是联合运维器组件601可以改为将高速缓存资源提供请求发送到在第一集群的运维器组件602上执行的集群资源委托(未示出)。集群资源委托可以修改该请求,以生成可由运维器组件602的API解释的修改后的指令。运维器组件602可以向运维器组件602的协调器发送包括高速缓存资源需求的规格的API声明(框612)。协调器可以与第一集群的主节点通信,以在第一集群的节点上提供一个或多个容器(或其他受信任的执行环境),从而提供所请求的第一量的高速缓存资源(框614)。
联合运维器组件601可以根据在框606接收到的API声明,向第二集群发送提供第二量的高速缓存资源的请求(框616)。在该示例中,第二集群的运维器组件604可以在运维器组件604的API处接收高速缓存资源提供请求(框618)。在各种示例中,尽管未在图6A和图6B中示出,但是联合运维器组件601可以改为将高速缓存资源提供请求发送到在第二集群的运维器组件604上执行的集群资源委托(未示出)。集群资源委托可以修改该请求,以生成可由运维器组件604的API解释的修改后的指令。运维器组件604可以向运维器组件604的协调器发送包括高速缓存资源需求的规格的API声明(框620)。协调器可以与第二集群的主节点通信,以在第二集群的节点上提供一个或多个容器(或其他受信任的执行环境),从而提供所请求的第二量的高速缓存资源(框622)。
如图6B所示,联合运维器组件601可以向第一集群上所提供的高速缓存资源发送请求(框624)。在接收到超时和/或指示与高速缓存资源和/或第一集群的通信已被中断的其他数据时(框625),联合运维器组件601可以向第二集群发送提供在框606接收的API声明所指定的第一和第二量的高速缓存的请求(框626)。尽管在图6B所示的示例中,在框626发送的请求被发送到第二集群,但是在各种其他示例中,提供第一量的高速缓存的请求可以被发送到一些其他集群(未示出),而第二集群可以继续提供在框622处提供的第二量的高速缓存。
第二集群的运维器组件604可以在运维器组件604的API处接收请求(框630)。在各种其他示例中并且如前所述,联合运维器组件601可以改为向在运维器组件604上执行的集群资源委托发送请求,该集群资源委托进而可以生成可由运维器组件604的API解释的修改后的指令。运维器组件604可以向运维器组件604的协调器发送包括高速缓存资源需求的规格的API声明(框632)。协调器可以与第二集群的主节点通信,以在第二集群的节点上提供一个或多个容器(或其他受信任的执行环境),从而除了先前提供的第二量的高速缓存资源之外还提供所请求的第一量的高速缓存资源(框634)。另外,联合运维器组件601可以更新路由表和/或其他连接映射,以将第二集群上新提供的第一量的高速缓存的虚拟地址关联到对应的物理地址(框628)。相应地,联合运维器组件601可以根据需要,动态地重新平衡跨集群分布式计算服务的计算资源。在各种其他示例中,代替于通信中断,一个集群和/或计算资源可能变得过载和/或不能满足计算服务的特定SLA。作为响应,联合运维器组件601可以通过将计算资源的全部或一部分卸载到另一集群或同一集群内的另一节点,来重新平衡计算资源。
图7是根据本公开的示例的边缘计算网络700中的联合运维器组件701的框图。计算网络700可以包括被配置为与第一计算节点集群724a和第二计算节点集群724b通信的联合运维器组件701。在各种示例中,联合运维器组件701可以包括至少一个处理器704和与至少一个处理器704通信的存储器706(例如,非暂时性计算机可读存储器)。第一计算节点集群724a可以包括在容器编排框架726上执行的运维器组件720。类似地,第二计算节点集群724b可以包括在容器编排框架736上执行的运维器组件730。
第一计算节点集群724a可以布置在第一层级740a上。例如,第一计算节点集群724a可以被置于在地理上靠近由第一计算节点集群724a(例如,远边缘集群)提供资源的消费者。类似地,第二计算节点集群724b可以布置在第二层级740b。例如,第二计算节点集群724b可以相对于计算节点的一个或多个远边缘和/或区域集群而言是集中式的。
在图7所示的系统中,联合运维器组件701可以接收包括计算服务712、第一计算资源需求714a和第二计算资源需求714b的标识的API声明710。计算服务可以是将要跨多个集群(例如,跨第一计算节点集群724a和第二计算节点集群724b)部署的任何类型的计算服务。第一计算资源需求714a和第二计算资源需求714b可以是计算服务712的指定的供应需求。在计算服务712是CDN的示例中,第一计算资源需求714a可以是计算服务712的指定量的高速缓存。另外,第一计算资源需求714a可以是指定计算服务712的命中率和/或延迟要求的SLA。在一个示例中,第二计算资源需求714b可以指定计算服务712的所需量的持久性存储和/或任何其他计算资源需求。
在接收到API声明710后,联合运维器组件701可以向第一计算节点集群724a发送第一请求716。在一个示例中,第一请求716可以是在第一计算节点集群724a上提供与第一计算资源需求714a相关联的第一计算资源728的请求。运维器组件720可以接收第一请求716,并且在第一计算节点集群724a的一个或多个节点上提供第一计算资源728。例如,运维器组件720的协调器可以与容器编排框架726的主节点通信,以启动可以提供第一计算资源728的一个或多个容器。
类似地,联合运维器组件701可以向第二计算节点集群724b发送第二请求718。在一个示例中,第二请求718可以是在第二计算节点集群724b上提供与第二计算资源需求714b相关联的第二计算资源738的请求。运维器组件730可以接收第二请求718,并且在第二计算节点集群724b的一个或多个节点上提供第二计算资源738。例如,运维器组件730的协调器可以与容器编排框架736的主节点通信,以启动可以提供第二计算资源738的一个或多个容器。
图8是根据本公开的示例的用于经由联合运维器组件801来部署计算服务的系统800的框图。联合运维器组件801可以被配置为与多个计算节点集群通信。例如,联合运维器组件801可以被配置为与第一计算节点集群824a和计算节点集群880(例如,多个集群)进行通信。多个计算节点集群880中的每个计算节点集群可以包括各自的运维器组件830,其可以在各自的容器编排框架836之上执行。在各种示例中,联合运维器组件801可以在计算节点集群880中的各个集群上部署与一个或多个跨集群分布式计算服务相关的计算资源。如图8所示,在计算节点集群880中的至少一个计算节点集群上提供用于第一计算服务828的第二计算资源890b。
联合运维器组件801可以向在第一计算节点集群824a的运维器组件820上执行的集群资源委托850发送第一指令816。第一指令816可以表示为第一计算服务828指定第一计算资源890a的请求860。集群资源委托850可以被配置为修改第一指令816,以生成可由运维器组件820的API 886解释的修改后的指令888。相应地,在每个集群上(例如,在计算节点集群880之中)使用集群资源委托850避免了联合运维器组件801产生针对不同运维器组件(可能来自不同供应商)而定制的指令的需要。
运维器组件820可以在API 886处接收修改后的指令888,并且可以将第二指令889(例如,经由协调器,图8中未示出)发送到部署在第一计算节点集群824a上的容器编排框架826的主节点872。主节点872可以提供(一个或多个)容器884,容器884可以为第一计算服务828部署所请求的第一计算资源890a。第一计算节点集群824a包括至少一个处理器804和至少一个存储器806,其可以用于执行在此描述的关于第一计算节点集群824a的各种操作。
应当理解,这里描述的所有公开的方法和过程可以使用一个或多个计算机程序或组件来实现。这些组件可以作为任何常规计算机可读介质或机器可读介质上的一系列计算机指令来提供,包括易失性或非易失性存储器,例如RAM、ROM、闪存、磁盘或光盘、光学存储器或其他存储介质。指令可以作为软件或固件来提供,和/或可以全部或部分地在例如ASIC、FPGA、DSP或任何其他类似的设备之类的硬件组件中实现。这些指令可以由一个或多个处理器执行,这些处理器在执行一系列计算机指令时,执行或促进所公开的方法和过程的全部或部分的执行。
本公开所描述的主题的各方面可以单独使用或者与一个或多个其他方面结合使用。根据本公开的第一方面,一种系统包括存储器和与存储器通信的至少一个处理器。在一个示例中,该至少一个处理器被配置为执行联合运维器组件。联合运维器组件被配置为接收指定计算服务、该计算服务的第一计算资源需求和该计算服务的第二计算资源需求的应用程序接口(API)声明。联合运维器组件还被配置为根据所述第一计算资源需求,向在第一计算节点集群的第一容器编排框架上执行的第一运维器组件发送提供第一计算资源的第一请求。第一计算节点集群与计算网络的第一层级相关联。联合运维器组件还被配置为根据所述第二计算资源需求,向在第二计算节点集群的第二容器编排框架上执行的第二运维器组件发送提供第二计算资源的第二请求,其中第二计算节点集群与该计算网络中不同于第一层级的第二层级相关联。
根据本公开的第二方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中联合运维器向第一计算节点集群和计算节点第二集群发送签名的安全证书,其中签名的安全证书使得第一计算节点集群和第二计算节点集群之间能够进行加密通信。
根据本公开的第三方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中计算服务包括内容交付网络,并且提供第一计算资源的第一请求包括内容交付网络的高速缓存规格,并且其中提供第二计算资源的第二请求包括内容交付网络的存储规格。
根据本公开的第四方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中第一计算资源包括高速缓存资源,第一计算节点集群包括边缘计算节点,第二计算资源包括存储资源,计算节点第二集群包括集中式或区域计算节点。
根据本公开的第五方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中提供第一计算资源的第一请求被发送到第一运维器组件的第一集群资源委托,其中第一集群资源委托被配置为将第一请求转换成第一指令,该第一指令被配置为使第一容器协调框架在第一计算节点集群上提供第一计算资源。
根据本公开的第六方面,其可以与在此所述的任何一个或多个其他方面(例如,第一方面)结合使用,其中联合运维器组件生成定义网格网络的连接映射,该网格网络包括由第一计算节点集群和第二计算节点集群提供的计算服务的路由目的地。
根据本公开的第七方面,其可以与在此所述的任何一个或多个其他方面(例如,第一方面)结合使用,其中确定第一计算节点集群无法提供第一计算资源;以及向第二运维器组件发送提供第一计算资源的第三请求,其中,第三请求被配置为使得第二运维器组件在第二计算节点集群中的一个或多个计算节点上提供第一计算资源。
根据本公开的第八方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中第一请求包括为计算服务供应第一计算资源的第一服务级别需求,并且其中与第一运维器组件相关联的协调器组件作用为在第一计算节点集群中的能够满足第一服务级别需求的计算节点上提供第一计算资源。
根据本公开的第九方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中对第一计算资源的第一请求包括提供第一量的高速缓存的请求,并且对第二计算资源的第二请求包括提供第二量的高速缓存的请求,联合运维器还被配置为:确定第一计算节点集群差第一不足量而不足以提供第一量的高速缓存;以及向在第三计算节点集群的第三容器编排框架上执行的第三运维器组件发送提供该第一不足量的第三请求。
根据本公开的第十方面,其可以与在此所述的任何一个或多个其他方面(例如,第一方面)结合使用,其中联合运维器还被配置为:确定第一计算节点集群不足以提供第一计算资源;向在第三计算节点集群的第三容器编排框架上执行的第三运维器组件发送提供第一计算资源的第三请求;并且更新路由表以将对第三计算资源的请求路由到第三计算节点集群的适当地址。
根据本公开的第十一方面,其可以与在此所述的任何一个或多个其他方面(例如,第一方面)结合使用,其中联合运维器将第一请求发送到第一集群资源委托,该第一集群资源委托被配置为将第一请求转换成第一系列可执行指令,该第一系列可执行指令可由第一运维器组件执行并且作用为使第一运维器组件在第一计算节点集群上提供第一计算资源;并且联合运维器将第二请求发送到第二集群资源委托,该第二集群资源委托被配置为将第二请求转换成第二系列可执行指令,该第二系列可执行指令可由第二运维器组件执行并且作用为使第二运维器组件在第二计算节点集群上提供第二计算资源。
根据本公开的第十二方面,其可以与在此描述的任何一个或多个其他方面(例如,第一方面)结合使用,其中联合运维器还被配置为:为第一计算节点集群调度第一系统升级,其中由第一计算节点集群提供的第一计算资源包括持久性存储资源;以及为第二计算节点集群调度第二系统升级,其中由第二计算节点集群提供的第二计算资源包括高速缓存资源,并且其中第二系统升级被调度为在第一系统升级完成之后开始。
在此所描述的主题的各方面可以单独使用或者与一个或多个其他方面结合使用。根据本公开的第十三方面,一种系统包括存储器;与存储器通信的至少一个处理器;与第一计算节点集群的第一容器编排框架相关联的第一运维器组件;以及与第一计算节点集群相关联的第一集群资源委托。该第一集群资源委托被配置为:从被配置为与多个运维器组件通信的联合运维器组件接收第一指令,该第一指令包括为第一计算服务提供第一计算资源的请求,其中该多个运维器组件中的每个运维器组件与相应的计算节点集群相关联,并且其中该第一计算服务使用由第二计算节点集群提供的第二计算资源;以及通过修改第一指令来生成修改后的指令以对应特定于第一运维器组件的应用程序接口(API)。第一运维器组件作用为:在API处接收修改后的指令;以及基于修改后的指令向第一容器编排框架的主节点发送第二指令,来实例化被配置为向第一计算服务提供第一计算资源的一个或多个容器。
根据本公开的第十四方面,其可以与在此所述的任何一个或多个其他方面(例如,第十三方面)结合使用,其中第一集群资源委托还被配置为向联合运维器组件发送数据,该数据指示与第一计算资源相关联的网络地址和/或网络端口。
在本公开的第十五方面中,其可以与在此所述的任何一个或多个其他方面(例如,第十三方面)结合使用,其中第一集群资源委托从联合运维器组件接收签名的证书,其中第一集群资源委托被进一步配置为将签名的证书发送到第一运维器组件,以存储在与第一计算节点集群相关联的密钥存储库中。
在本公开的第十六方面中,其可以与在此所述的任何一个或多个其他方面(例如,第十三方面)结合使用,该系统可以进一步包括与第二计算节点集群的第二容器编排框架相关联的第二运维器组件;以及与第二计算节点集群相关联的第二集群资源委托。第二集群资源委托被配置为从联合运维器组件接收第二指令,其中第二指令包括由第二计算节点集群为第一计算服务提供第二计算资源的请求。
在本公开的第十七方面中,其可以与在此所述的任何一个或多个其他方面(例如,第十三方面)结合使用,其中第二集群资源委托还被配置为通过修改第二指令来生成修改后的第二指令以对应特定于第二运维器组件的应用程序接口(API)。
在本公开的第十八方面中,其可以与在此所述的任何一个或多个其他方面(例如,第十三方面)结合使用,其中第二集群资源委托进一步被配置为:从联合运维器组件接收第二指令,第二指令包括修改由第一计算节点集群为第一计算服务提供的第一计算资源的请求,其中修改第一计算资源的请求由联合运维器组件至少部分地基于联合运维器组件对第一计算服务的重新平衡来生成;以及通过修改第二指令来生成第二修改指令以对应特定于第一运维器组件的应用程序接口。
根据本公开的第十九方面,其可以与在此所述的任何一个或多个其他方面(例如,第十八方面)结合使用,其中第一运维器组件作用为:在API处接收修改后的第二指令;并且基于修改后的指令向第一容器编排框架的主节点发送重新平衡一个或多个容器的指令。
在此所描述的主题的各方面可以单独使用或者与一个或多个其他方面结合使用。在本公开的第二十方面示例中,提供了一种提供计算服务的方法,包括:在联合运维器组件的第一应用程序接口(API)处接收部署计算服务的第一请求;由联合运维器组件向与第一计算节点集群相关联的第一运维器组件发送在第一计算节点集群之中为计算服务提供第一计算资源的第二请求,其中第一计算节点集群与计算网络的第一层级相关联;以及由联合运维器组件向与第二计算节点集群相关联的第二运维器组件发送在第二计算节点集群之中为计算服务提供第二计算资源的第三请求,其中第二计算节点集群与计算网络的不同于第一层级的第二层级相关联。
根据本公开的第二十一方面,其可以与在此所述的任何一个或多个其他方面(例如,第二十方面)结合使用,还包括:由联合运维器组件确定与第一计算节点集群的通信已经中断;以及由联合运维器组件向与第三计算节点集群相关联的第三运维器组件发送在第三计算节点集群之中为计算服务提供第一计算资源的第二请求。
根据本公开的第二十二方面,其可以与在此所述的任何一个或多个其他方面(例如,第二十方面)结合使用,还包括生成定义网格网络的连接映射,其中网格网络包括将数据发送到由不同计算节点集群提供的计算服务的计算资源的路由指令。
根据本公开的第二十三方面,其可以与在此描述的任何一个或多个其他方面(例如,第二十方面)结合使用,还包括:由联合运维器组件生成证书数据;由联合运维器组件将证书数据发送给证书机构;由联合运维器组件从证书机构接收签名的证书数据;以及由联合运维器组件将签名的证书数据发送到第一计算节点集群和第二计算节点集群,以使得第一计算节点集群和第二计算节点集群之间能够进行加密通信。
根据本公开的第二十四方面,其可以与这里描述的任何一个或多个其他方面(例如,第二十方面)结合使用,还包括:在联合运维器组件的API处接收计算服务的高速缓存容量的规格;以及向与各个计算节点集群相关联的运维器组件发送跨多个计算节点集群提供高速缓存容量的请求。
根据本公开的第二十五方面,其可以与这里描述的任何一个或多个其他方面(例如,第二十方面)结合使用,其中第一计算资源是计算服务的存储资源,且第二计算资源是高速缓存资源。该方法还包括:生成用于访问第一计算节点集群上的存储资源的访问凭证;以及向第二运维器组件发送访问凭证,以允许在第二计算节点集群上提供的高速缓存资源访问在第一计算节点集群上提供的存储资源。
根据本公开的第二十六方面,其可以与在此所述的任何一个或多个其他方面(例如,第二十方面)结合使用,还包括:将第二请求发送到在第一运维器组件上执行的第一集群资源委托,其中第一集群资源委托被配置为修改第二请求以对应第二API,该第二API特定于与第一计算节点集群相关联的第一运维器组件;以及将第二请求发送到在第二运维器组件上执行的第二集群资源委托,其中该第二集群资源委托被配置为修改第三请求以对应第三API,该第三API特定于与第二计算节点集群相关联的第二运维器组件。
根据本公开的第二十七方面,其可以与在此所述的任何一个或多个其他方面(例如,第二十方面)结合使用,还包括:由联合运维器组件发送在与区域或集中式数据中心相关联的计算节点集群处为计算服务提供持久性存储的第四请求;以及由联合运维器组件发送在位于计算服务的用户附近的边缘数据中心处为计算服务提供高速缓存的第五请求。
在此所描述的主题的各方面可以单独使用或者与一个或多个其他方面结合使用。在本公开的第二十八方面中,一种系统包括:用于接收计算服务的应用程序接口(API)声明的部件,该API声明至少包括计算服务的第一计算资源和计算服务的第二计算资源的规格;用于接收在第一计算节点集群的第一容器编排框架上提供第一计算资源的请求的部件;用于提供一个或多个容器以在第一计算节点集群上提供第一计算资源的部件;用于接收在第二计算节点集群的第二容器编排框架上提供第二计算资源的请求的部件;以及用于提供一个或多个容器以在第二计算节点集群上提供第二计算资源的部件。
根据本公开的第二十九方面,其可以与这里描述的任何一个或多个其他方面(例如,第二十八方面)结合使用,该系统包括用于生成访问凭证以使第一计算节点集群能够与第二计算节点集群通信的部件。
根据本公开的第三十方面的示例,其可以与这里描述的任何一个或多个其他方面(例如,第二十八方面)结合使用,该系统包括用于提供定义网格网络的连接映射的部件,该网格网络包括由第一计算节点集群和第二计算节点集群提供的计算服务的路由目的地。
这里描述的主题的各方面可以单独使用或者与一个或多个其他方面结合使用。在本公开的第三十一方面中,一种非暂时性计算机可读存储介质存储可执行指令,该可执行指令在被计算机系统执行时使该计算机系统:从被配置为与多个运维器组件通信的联合运维器组件接收第一指令,该第一指令包括为第一计算服务提供第一计算资源的请求,其中该多个运维器组件中的每个运维器组件与相应的计算节点集群相关联,并且其中第一计算服务使用由第二计算节点集群提供的第二计算资源;以及通过修改第一指令来生成修改后的指令,以对应特定于第一运维器组件的应用程序接口(API)。
根据本公开的第三十二方面,其可以与在此所述的任何一个或多个其他方面(例如,第三十一方面)结合使用,该非暂时性计算机可读存储介质还存储其他指令,该其他指令在被计算机系统执行时使该计算机系统:将从联合运维器组件接收的签名的证书发送到第一运维器组件,以存储在与第一运维器组件的第一计算节点集群相关联的密钥存储库中。
这里描述的主题的各方面可以单独使用或者与一个或多个其他方面结合使用。在本公开的第三十三方面中,一种方法包括:从被配置为与多个运维器组件通信的联合运维器组件接收第一指令,第一指令包括为第一计算服务提供第一计算资源的请求,其中多个运维器组件的每个运维器组件与相应的计算节点集群相关联,并且其中第一计算服务使用由第二计算节点集群提供的第二计算资源;通过修改该第一指令来生成修改后的指令,以对应第一运维器组件的应用程序接口(API);以及将修改后的指令发送到第一运维器组件的API,其中修改后的指令被配置为使得第一容器编排框架的主节点实例化一个或多个容器,该一个或多个容器被配置为向第一计算服务提供第一计算资源。
若这些方面中的任何一个是互斥的,应该理解,这种互斥不应该以任何方式限制该方面与任何其他方面的组合,无论该方面是否被明确陈述。这些方面中的任何一个都可以作为系统、方法、装置、设备、介质等来要求保护,但不限于此。
应当理解,对于本领域技术人员来说,对这里描述的示例性示例的各种改变和修改将是显而易见的。在不脱离本主题的精神和范围并且不减少其预期优点的情况下,可以进行这种改变和修改。因此,所附权利要求旨在涵盖这些变化和修改。
Claims (20)
1.一种系统,包括:
存储器;以及
与所述存储器通信的至少一个处理器,所述至少一个处理器被配置为执行联合运维器组件,所述联合运维器组件被配置为:
接收指定计算服务、所述计算服务的第一计算资源需求和所述计算服务的第二计算资源需求的应用程序接口(API)声明;
根据所述第一计算资源需求,向在第一计算节点集群的第一容器编排框架上执行的第一运维器组件发送提供第一计算资源的第一请求,其中,所述第一计算节点集群与计算网络的第一层级相关联;以及
根据所述第二计算资源需求,向在第二计算节点集群的第二容器编排框架上执行的第二运维器组件发送提供第二计算资源的第二请求,其中,所述第二计算节点集群与所述计算网络中不同于所述第一层级的第二层级相关联。
2.根据权利要求1所述的系统,其中,所述联合运维器组件向所述第一计算节点集群和所述第二计算节点集群发送签名的安全证书,其中,所述签名的安全证书使得所述第一计算节点集群和所述第二计算节点集群之间能够进行加密通信。
3.根据权利要求1所述的系统,其中,所述计算服务包括内容交付网络,并且所述提供第一计算资源的第一请求包括所述内容交付网络的高速缓存规格,并且其中,所述提供第二计算资源的第二请求包括所述内容交付网络的存储规格。
4.根据权利要求1所述的系统,其中,所述第一计算资源包括高速缓存资源,所述第一计算节点集群包括边缘计算节点,所述第二计算资源包括存储资源,并且所述第二计算节点集群包括集中式或区域计算节点。
5.根据权利要求1所述的系统,其中,所述提供第一计算资源的第一请求被发送到所述第一运维器组件的第一集群资源委托,其中,所述第一集群资源委托被配置为将所述第一请求转换成第一指令,所述第一指令被配置为使所述第一容器编排框架在所述第一计算节点集群上提供所述第一计算资源。
6.根据权利要求1所述的系统,其中,所述联合运维器组件生成定义网格网络的连接映射,所述网格网络包括由所述第一计算节点集群和所述第二计算节点集群提供的计算服务的路由目的地。
7.根据权利要求1所述的系统,其中,所述联合运维器组件还作用为:
确定所述第一计算节点集群无法提供所述第一计算资源;以及
向所述第二运维器组件发送提供所述第一计算资源的第三请求,其中,所述第三请求被配置为使所述第二运维器组件在所述第二计算节点集群的一个或多个计算节点上提供所述第一计算资源。
8.根据权利要求1所述的系统,其中,所述第一请求包括为所述计算服务提供所述第一计算资源的第一服务级别需求,并且其中,与所述第一运维器组件相关联的协调器组件作用为在所述第一计算节点集群中的能够满足所述第一服务级别需求的计算节点上提供所述第一计算资源。
9.根据权利要求1所述的系统,其中,对于第一计算资源的所述第一请求包括提供第一量的高速缓存的请求,并且对于第二计算资源的所述第二请求包括提供第二量的高速缓存的请求,所述联合运维器组件还被配置为:
确定所述第一计算节点集群差第一不足量而不足以提供所述第一量的高速缓存;以及
向在第三计算节点集群的第三容器编排框架上执行的第三运维器组件发送提供所述第一不足量的第三请求。
10.根据权利要求1所述的系统,其中,所述联合运维器组件还被配置为:
确定所述第一计算节点集群不足以提供所述第一计算资源;
向在第三计算节点集群的第三容器编排框架上执行的第三运维器组件发送提供所述第一计算资源的第三请求;以及
更新路由表以将对第三计算资源的请求路由到所述第三计算节点集群的适当地址。
11.根据权利要求1所述的系统,其中:
所述联合运维器组件将所述第一请求发送到第一集群资源委托,所述第一集群资源委托被配置为将所述第一请求转换成第一系列可执行指令,所述第一系列可执行指令能够由所述第一运维器组件执行并且作用为使所述第一运维器组件在所述第一计算节点集群上提供所述第一计算资源;以及
所述联合运维器组件将所述第二请求发送到第二集群资源委托,所述第二集群资源委托被配置为将所述第二请求转换成第二系列可执行指令,所述第二系列可执行指令能够由所述第二运维器组件执行并且作用为使所述第二运维器组件在所述第二计算节点集群上提供所述第二计算资源。
12.根据权利要求1所述的系统,其中,所述联合运维器组件还被配置为:
为所述第一计算节点集群调度第一系统升级,其中,所述第一计算节点集群提供的第一计算资源包括持久性存储资源;以及
为所述第二计算节点集群调度第二系统升级,其中,所述第二计算节点集群提供的第二计算资源包括高速缓存资源,并且其中,所述第二系统升级被调度为在所述第一系统升级完成之后开始。
13.一种系统,包括:
存储器;
与所述存储器通信的至少一个处理器;
与第一计算节点集群的第一容器编排框架相关联的第一运维器组件;以及
与所述第一计算节点集群相关联的第一集群资源委托,其中,所述第一集群资源委托被配置为:
从被配置为与多个运维器组件通信的联合运维器组件接收第一指令,所述第一指令包括为第一计算服务提供第一计算资源的请求,其中,所述多个运维器组件中的每个运维器组件与相应的计算节点集群相关联,并且其中,所述第一计算服务使用由第二计算节点集群提供的第二计算资源;以及
通过修改所述第一指令来生成修改后的指令,以对应特定于所述第一运维器组件的应用程序接口(API);
所述第一运维器组件作用为:
在所述API处接收所述修改后的指令;以及
基于所述修改后的指令,向所述第一容器编排框架的主节点发送第二指令以实例化一个或多个容器,所述一个或多个容器被配置为向所述第一计算服务提供所述第一计算资源。
14.根据权利要求13所述的系统,其中,所述第一集群资源委托还被配置为向所述联合运维器组件发送数据,所述数据指示与所述第一计算资源相关联的网络地址和/或网络端口。
15.根据权利要求13所述的系统,其中,所述第一集群资源委托从所述联合运维器组件接收签名的证书,其中,所述第一集群资源委托还被配置为:
将所述签名的证书发送到所述第一运维器组件,以存储在与所述第一计算节点集群相关联的密钥存储库中。
16.根据权利要求13所述的系统,还包括:
与第二计算节点集群的第二容器编排框架相关联的第二运维器组件;以及
与所述第二计算节点集群相关联的第二集群资源委托,其中,所述第二集群资源委托被配置为:
从所述联合运维器组件接收第二指令,所述第二指令包括由所述第二计算节点集群为所述第一计算服务提供第二计算资源的请求。
17.根据权利要求16所述的系统,其中,所述第二集群资源委托还被配置为通过修改所述第二指令来生成修改后的第二指令,以对应特定于所述第二运维器组件的应用程序接口(API)。
18.根据权利要求16所述的系统,其中,所述第二集群资源委托还被配置为:
从所述联合运维器组件接收第二指令,所述第二指令包括修改所述第一计算节点集群为所述第一计算服务提供的第一计算资源的请求,其中,所述修改第一计算资源的请求是由所述联合运维器组件至少部分地基于所述联合运维器组件对所述第一计算服务的重新平衡而生成的;以及
通过修改所述第二指令来生成修改后的第二指令,以对应特定于所述第一运维器组件的API。
19.根据权利要求18所述的系统,其中,所述第一运维器组件作用为:
在所述API处接收所述修改后的第二指令;以及
基于所述修改后的指令,向所述第一容器编排框架的所述主节点发送重新平衡所述一个或多个容器的指令。
20.一种提供计算服务的方法,包括:
在联合运维器组件的第一应用程序接口(API)处,接收部署计算服务的第一请求;
由所述联合运维器组件向与第一计算节点集群相关联的第一运维器组件发送在所述第一计算节点集群之中为所述计算服务提供第一计算资源的第二请求,其中,所述第一计算节点集群与计算网络的第一层级相关联;以及
由所述联合运维器组件向与第二计算节点集群相关联的第二运维器组件发送在所述第二计算节点集群之中为所述计算服务提供第二计算资源的第三请求,其中,所述第二计算节点集群与所述计算网络中不同于所述第一层级的第二层级相关联。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/913,101 US11650856B2 (en) | 2020-06-26 | 2020-06-26 | Federated operator for edge computing network |
US16/913,101 | 2020-06-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113934550A true CN113934550A (zh) | 2022-01-14 |
Family
ID=74095676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011607890.4A Pending CN113934550A (zh) | 2020-06-26 | 2020-12-30 | 用于边缘计算网络的联合运维器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11650856B2 (zh) |
EP (1) | EP3929741A1 (zh) |
CN (1) | CN113934550A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666131A (zh) * | 2022-03-22 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 证书管理系统、证书管理方法及证书管理系统的构建方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11650856B2 (en) * | 2020-06-26 | 2023-05-16 | Red Hat Inc. | Federated operator for edge computing network |
US20220206831A1 (en) * | 2020-12-28 | 2022-06-30 | Ati Technologies Ulc | Method and system for managing applications on a virtual machine |
US11765650B2 (en) * | 2021-05-05 | 2023-09-19 | Salesforce.Com, Inc. | Temporary network of edge computing devices |
US11914992B2 (en) * | 2021-07-30 | 2024-02-27 | Morgan Stanley Services Group Inc. | Workflow management with form-based, dynamic workflow builder and application-level blue-green topology |
US11595495B2 (en) * | 2021-07-30 | 2023-02-28 | Morgan Stanley Services Group Inc. | Process isolation via application-level blue-green topology |
US20230315543A1 (en) * | 2022-03-30 | 2023-10-05 | Amazon Technologies, Inc. | Tightly coupled parallel applications on a serverless computing system |
US20240061732A1 (en) * | 2022-08-18 | 2024-02-22 | Red Hat, Inc. | Industry opinionated api managed service |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10705945B1 (en) * | 2014-09-23 | 2020-07-07 | Amazon Technologies, Inc. | Computing system testing service |
US10374888B2 (en) * | 2016-12-14 | 2019-08-06 | At&T Intellectual Property I, L.P. | Scheduler for upgrading access point devices efficiently |
US10951604B1 (en) * | 2017-09-25 | 2021-03-16 | Cloudera, Inc. | Secure service deployment and access layer spanning multi-cluster environments |
US11093293B2 (en) * | 2018-01-09 | 2021-08-17 | George P. MATUS | Configuring nodes for distributed compute tasks |
US11099910B2 (en) * | 2018-11-13 | 2021-08-24 | Microsoft Technology Licensing, Llc | Deploying cloud-native services across control planes |
US11609777B2 (en) * | 2020-02-19 | 2023-03-21 | Nutanix, Inc. | System and method for multi-cluster storage |
US11595871B2 (en) * | 2020-05-13 | 2023-02-28 | Verizon Patent And Licensing Inc. | Systems and methods for securely sharing context between MEC clusters |
CN111625224B (zh) * | 2020-05-28 | 2023-11-24 | 北京百度网讯科技有限公司 | 代码生成方法、装置、设备及存储介质 |
US11650856B2 (en) * | 2020-06-26 | 2023-05-16 | Red Hat Inc. | Federated operator for edge computing network |
-
2020
- 2020-06-26 US US16/913,101 patent/US11650856B2/en active Active
- 2020-12-22 EP EP20216439.8A patent/EP3929741A1/en active Pending
- 2020-12-30 CN CN202011607890.4A patent/CN113934550A/zh active Pending
-
2023
- 2023-04-10 US US18/132,532 patent/US20230244544A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666131A (zh) * | 2022-03-22 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 证书管理系统、证书管理方法及证书管理系统的构建方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3929741A1 (en) | 2021-12-29 |
US20210406088A1 (en) | 2021-12-30 |
US11650856B2 (en) | 2023-05-16 |
US20230244544A1 (en) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113934550A (zh) | 用于边缘计算网络的联合运维器 | |
US10516623B2 (en) | Pluggable allocation in a cloud computing system | |
US10778798B2 (en) | Remote service access in a container management system | |
US10812366B1 (en) | System and method for deploying, scaling and managing network endpoint groups in cloud computing environments | |
US9471384B2 (en) | Method and system for utilizing spare cloud resources | |
US11169856B2 (en) | Container management | |
US10713071B2 (en) | Method and apparatus for network function virtualization | |
US9485099B2 (en) | Apparatus, systems and methods for agile enablement of secure communications for cloud based applications | |
EP2849064B1 (en) | Method and apparatus for network virtualization | |
US9563480B2 (en) | Multi-level cloud computing system | |
US10057179B2 (en) | Policy based scaling of network resources | |
US11593172B2 (en) | Namespaces as units of management in a clustered and virtualized computer system | |
KR20150132774A (ko) | 애플리케이션에 따라 네트워크 자원을 할당하는 방법 및 장치 | |
KR101544487B1 (ko) | 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스 시스템 | |
US11805102B2 (en) | Remote management of software on private networks | |
AU2013266420B2 (en) | Pluggable allocation in a cloud computing system | |
US20230138867A1 (en) | Methods for application deployment across multiple computing domains and devices thereof | |
Udayakumar | Plan and Prepare AVS | |
CN115774599A (zh) | 用于使用容器编排服务管理的集群的分布式数据网格路由 | |
Missbach et al. | How Private and Public Clouds Work |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |