一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

部署容器化应用服务的计算集群的节点管理方法及系统与流程

2022-06-25 10:06:52 来源:中国专利 TAG:


1.本技术涉及云计算和云原生应用技术领域,尤其涉及隐私计算和联邦学习技术领域中的云原生应用,具体涉及部署容器化应用服务的计算集群的节点管理方法及系统。


背景技术:

2.随着云计算技术的发展,为了更好地利用云计算基础设施和发挥云计算潜力,提出了云原生(cloud native)应用的概念,也叫作原生云。云原生应用指的是为云平台或者云计算平台而构建并在其上运行的应用程序及架构的有关设计、技术及方法等。其中云原生应用和原生云架构的关键技术一般都包括容器(container)服务,或者说容器编排技术、容器化应用服务等。容器一般理解为对软件应用过程的模拟以及在应用层上的抽象化,容器服务可以实现应用程序在不同的计算环境中的正常运行并且在重部署后不需要安装完整的操作系统和依赖环境。在隐私计算和联邦学习技术领域的有关产品和服务中,通过在线服务特别是云服务来实现如深度学习模型的训练推理等任务取得了广泛应用。但是,隐私计算和联邦学习对数据安全和隐私信息保护提出了更高的要求,例如在涉及到多个计算机网络节点之间的协作时对节点的安全性和可靠性都提出了更高的要求,而现有的云原生技术难以满足这些要求。
3.为此,需要一种部署容器化应用服务的计算集群的节点管理方法及系统,能够克服上述各种不足。


技术实现要素:

4.第一方面,本技术实施例提供了一种计算集群的节点管理方法。在所述计算集群上部署容器化应用服务并且所述计算集群包括至少一个主节点和至少一个工作节点,所述节点管理方法包括:指定所述至少一个主节点中的一个主节点为管理节点并在该管理节点上部署与第一节点管理应用对应的第一容器,其中该第一容器配置为:当该第一容器被手动地或者自动地运行时,该第一容器接入不在该管理节点上的授权配置文件;在所述至少一个工作节点中的每一个工作节点上部署与第二节点管理应用对应的第二容器,其中部署在所述至少一个工作节点中的每一个工作节点上的第二容器配置为:当部署在该工作节点上的该第二容器被手动地或者自动地运行时,该第二容器收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点;响应于授权验证需求,运行部署在与该授权验证需求相关联的工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而确定所收集的与该授权验证需求相关联的工作节点的软硬件信息是否与该授权配置文件一致,如果是则授权验证通过,如果否则授权验证不通过。
5.第一方面所描述的技术方案,针对在其上部署容器化应用服务的计算集群,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工
作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
6.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理方法还包括:响应于新节点的加入,运行部署在该管理节点上的该第一容器并且在该授权配置文件中增加对该新节点的授权,以及在该新节点上部署第二容器;响应于现存节点的退出,运行部署在该管理节点上的该第一容器并且在该授权配置文件中删除对该现存节点的授权,以及删除部署在该现存节点上的第二容器。
7.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述计算集群是云原生应用平台、云原生应用架构支撑系统、云原生paas管理平台、云原生隐私计算平台、或者云原生联邦学习平台的一部分。
8.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,部署在所述计算集群上的容器化应用服务包括以下至少之一:kubernetes容器编排引擎、kubernetes 容器编排和管理服务、kubernetes容器管理平台、azure kubernetes服务、ibm kubernetes服务、kubesphere容器云平台、rancher容器管理平台、k3s容器管理服务、microk8s容器管理工具、vmware tanzu容器调度框架、redhat openshift容器调度框架、swam容器管理平台以及mesos容器管理平台。
9.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,该授权验证需求包括以下至少之一:定期维护需求、软件调度需求以及异常行为检测,其中,该定期维护需求指示对所述计算集群的所述至少一个工作节点中的部分或者全部工作节点进行授权验证并对未授权的工作节点执行中止运行或者限制权限,该软件调度需求指示对所述计算集群的所述至少一个工作节点中的一个或者多个工作节点的调度需求,该异常行为检测指示检测到所述计算集群的所述至少一个工作节点中的一个或者多个工作节点的异常数据请求行为、异常数据处理行为或者授权时限超时行为。
10.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理方法还包括:当接收到更新后的授权配置文件时,运行部署在该管理节点上的该第一容器从而对该更新后的授权配置文件进行格式校验,如果格式校验通过则用该更新后的授权配置文件替换该授权配置文件。
11.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,该授权配置文件位于所述计算集群的共有存储空间,该共有存储空间不在所述计算集群所包括的所述至少一个主节点中的任何主节点上并且不在所述计算集群所包括的所述至少一个工作节点中的任何工作节点上。
12.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,该共有存储空间至少存储以下至少之一:所述计算集群的配置管理资源(configmap)、软件敏感信息、调度策略和资源限制,其中该软件敏感信息包括授权证书、密码和密钥,该配置管理资源用于实现对部署在所述计算集群上的容器化应用服务的配置管理。
13.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,该授权配置文件还包括以下至少之一:软件敏感信息、调度策略和资源限制,其中该软件敏感信息包括授权证书、密码和密钥。
14.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理方法还包括:响应于被指定为管理节点的主节点下线或者发生异常,删除部署在
被指定为管理节点的主节点上的第一容器,以及指定所述至少一个主节点中的另一主节点为新的管理节点并在该新的管理节点上部署第一容器。
15.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理方法还包括:响应于软件授权申请需求,运行部署在所述至少一个工作节点中的每一个工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而整合所述至少一个工作节点中的每一个工作节点的软硬件信息来生成所述计算集群的用于该软件授权申请需求的信息。
16.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理方法还包括:响应于来自所述至少一个工作节点中的给定工作节点的本地鉴权请求,运行部署在该管理节点上的该第一容器从而比较该给定工作节点的软硬件信息和该授权配置文件以便生成本地鉴权结果,并且将该本地鉴权结果发送给该给定工作节点。
17.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述计算集群的所述至少一个主节点包括第一主节点和第二主节点,所述计算集群的所述至少一个工作节点包括第一组工作节点和第二组工作节点,该第一主节点作为相对于该第一组工作节点的管理节点,该第二主节点作为相对于该第二组工作节点的管理节点。
18.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理方法还包括:为所述至少一个工作节点中的通过授权验证的工作节点提供优先调度标签,其中所述至少一个工作节点中的具有优先调度标签的工作节点相比于不具有优先调度标签的工作节点在所述容器化应用服务的调用中有更高优先级。
19.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,部署在所述至少一个工作节点中的每一个工作节点上的第二容器所收集的该工作节点的软硬件信息至少包括多种预设硬件标签中的一种预设硬件标签,所述容器化应用服务的调用是基于所述至少一个工作节点中的每一个工作节点各自具有的预设硬件标签。
20.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述多种预设硬件标签包括:指示是否具有fpga的第一标签、指示是否具有gpu的第二标签、指示是否支持sgx的第三标签、指示是否具有tee的第四标签。
21.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述容器化应用服务的调用是基于所述至少一个工作节点中的每一个工作节点各自具有的预设硬件标签,包括:当所述容器化应用服务的调用需要可重构计算时优先调用具有第一标签的工作节点,当所述容器化应用服务的调用需要并行化计算时优先调用具有第二标签的工作节点,当所述容器化应用服务的调用需要硬件安全隔离时优先调用具有第三标签的工作节点,当所述容器化应用服务的调用需要可信执行环境时优先调用具有第四标签的工作节点。
22.第二方面,本技术实施例提供了一种非瞬时性计算机可读存储介质。所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现根据第一方面中任一项所述的方法。
23.第二方面所描述的技术方案,针对在其上部署容器化应用服务的计算集群,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器
和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
24.第三方面,本技术实施例提供了一种电子设备。所述电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现根据第一方面中任一项所述的方法。
25.第三方面所描述的技术方案,针对在其上部署容器化应用服务的计算集群,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
26.第四方面,本技术实施例提供了一种计算集群的节点管理系统。在所述计算集群上部署容器化应用服务并且所述计算集群包括至少一个主节点和至少一个工作节点,所述至少一个主节点中的一个主节点被指定为管理节点并在该管理节点上部署与第一节点管理应用对应的第一容器。该第一容器配置为:当该第一容器被手动地或者自动地运行时,该第一容器接入不在该管理节点上的授权配置文件。在所述至少一个工作节点中的每一个工作节点上部署与第二节点管理应用对应的第二容器。其中部署在所述至少一个工作节点中的每一个工作节点上的第二容器配置为:当部署在该工作节点上的该第二容器被手动地或者自动地运行时,该第二容器收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。所述节点管理系统配置为:响应于授权验证需求,运行部署在与该授权验证需求相关联的工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而确定所收集的与该授权验证需求相关联的工作节点的软硬件信息是否与该授权配置文件一致,如果是则授权验证通过,如果否则授权验证不通过。
27.第四方面所描述的技术方案,针对在其上部署容器化应用服务的计算集群,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
28.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述节点管理系统还配置为:响应于新节点的加入,运行部署在该管理节点上的该第一容器并且在该授权配置文件中增加对该新节点的授权;响应于现存节点的退出,运行部署在该管理节点上的该第一容器并且在该授权配置文件中删除对该现存节点的授权,以及删除部署在该现存节点上的第二容器。
29.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,该授权配置文件位于所述计算集群的共有存储空间,该共有存储空间不在所述计算集群所包括的所述至少一个主节点中的任何主节点上并且不在所述计算集群所包括的所述至少一个工作节点中的任何工作节点上。
30.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,部署在所述至少一个工作节点中的每一个工作节点上的第二容器所收集的该工作节点的软硬件信息至少包括多种预设硬件标签中的一种预设硬件标签,所述容器化应用服务的调用是
基于所述至少一个工作节点中的每一个工作节点各自具有的预设硬件标签。
附图说明
31.为了说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
32.图1示出了本技术实施例提供的节点管理方法的流程示意图。
33.图2示出了本技术实施例提供的计算集群的示意图。
34.图3示出了本技术实施例提供的用于图1的节点管理方法的电子设备的框图。
35.图4示出了本技术实施例提供的节点管理系统的框图。
具体实施方式
36.本技术实施例为了解决现有技术中的不足这样的技术难题,提出了一种部署容器化应用服务的计算集群的节点管理方法及系统。其中,在所述计算集群上部署容器化应用服务并且所述计算集群包括至少一个主节点和至少一个工作节点,所述节点管理方法包括:指定所述至少一个主节点中的一个主节点为管理节点并在该管理节点上部署与第一节点管理应用对应的第一容器,其中该第一容器配置为:当该第一容器被手动地或者自动地运行时,该第一容器接入不在该管理节点上的授权配置文件;在所述至少一个工作节点中的每一个工作节点上部署与第二节点管理应用对应的第二容器,其中部署在所述至少一个工作节点中的每一个工作节点上的第二容器配置为:当部署在该工作节点上的该第二容器被手动地或者自动地运行时,该第二容器收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点;响应于授权验证需求,运行部署在与该授权验证需求相关联的工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而确定所收集的与该授权验证需求相关联的工作节点的软硬件信息是否与该授权配置文件一致,如果是则授权验证通过,如果否则授权验证不通过。本技术实施例具有以下有益技术效果:针对在其上部署容器化应用服务的计算集群,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
37.本技术实施例可用于以下应用场景,包括但是不限于,云计算,云服务,云原生应用的有关技术如云原生应用平台、云原生应用架构、云原生管理平台、云原生隐私计算平台、云原生联邦学习平台等。
38.本技术实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
39.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术的实施例进行描述。
40.图1示出了本技术实施例提供的节点管理方法的流程示意图。其中图1的节点管理方法应用于计算集群,在所述计算集群上部署容器化应用服务并且所述计算集群包括至少一个主节点和至少一个工作节点。如图1所示,节点管理方法包括以下步骤。
41.步骤s102:指定所述至少一个主节点中的一个主节点为管理节点并在该管理节点
上部署与第一节点管理应用对应的第一容器。
42.其中该第一容器配置为:当该第一容器被手动地或者自动地运行时,该第一容器接入不在该管理节点上的授权配置文件。
43.步骤s104:在所述至少一个工作节点中的每一个工作节点上部署与第二节点管理应用对应的第二容器。
44.其中部署在所述至少一个工作节点中的每一个工作节点上的第二容器配置为:当部署在该工作节点上的该第二容器被手动地或者自动地运行时,该第二容器收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。
45.步骤s106:响应于授权验证需求,运行部署在与该授权验证需求相关联的工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而确定所收集的与该授权验证需求相关联的工作节点的软硬件信息是否与该授权配置文件一致。
46.其中,如果是则授权验证通过,如果否则授权验证不通过。
47.其中第一容器和第二容器都属于容器或者说归属于部署在所述计算集群上的容器化应用服务。这里,容器化应用服务,也包括所提及的第一容器和第二容器,都是基于容器技术。容器技术一般理解为将代码及其依赖项打包得到独立的可执行的软件包,有时也称之为容器镜像,里面包括运行应用进程所必需的如代码、运行时、系统工具、系统库和设置等,这样就使得各种应用(例如容器服务中的任务、最小部署单元(pod)、集群等)可以从一种计算环境快速切换到另一种计算环境中并保持可靠的运行。因此,容器技术通过运行容器或者容器镜像,或者说调用容器,来模拟软件应用过程。每个容器模拟不同的软件应用过程,因此每个容器都是独立进行的进程。容器和容器技术是在应用层上的抽象,也可以被理解为一种虚拟化可执行资源。多个容器可以共享一台物理机也可以在不同的物理机上运行。多个容器可以共享一个通用操作系统例如通过同一个虚拟机启动,也可以运行在不同的操作系统下。容器和容器技术使得软件应用过程和各种应用的运行进程不依赖于完整的操作系统和依赖环境从而便于移植,并且容器构建过程只打包必要元素也即只需要轻量级虚拟化技术,在容器构建后可便利地部署。另一方面,正是因为容器的构建以及部署都不依赖于操作系统和依赖环境(如物理机),所以需要为运行或者调用容器时所处的计算环境的安全性和可靠性提供保障。容器和容器技术以及相关的容器化应用服务,往往是运行在一个计算集群上。一个计算集群可以理解为多个节点例如多个计算机网络节点的集合,或者可以理解为多主机集群环境如多个主机通过局域网技术构建的集群环境。单个计算集群可以包括多个物理机,多个虚拟机或者多个物理机和虚拟机的组合。单个计算集群下的多个节点可能在同一个物理机上也可能在不同的物理机上,可能在同一个虚拟机上也可能在不同的虚拟机上。单个计算集群下的多个节点可能运行在相同的操作系统下也可能运行在不同的操作系统下。因此,单个计算集群下的多个节点中的每一个节点各自的操作系统和依赖环境可能是彼此独立的并且可能是彼此不同的,因此每一个节点各自的安全性和可靠性都需要单独进行评估。另外,当某个软件或者某个应用程序要在某个节点上运行前,一般需要确保该节点满足该软件或者该应用程序的授权要求和/或配置要求等。对节点的安全性和可靠性进行评估以及确定是否满足授权要求等,属于对计算集群下的多个节点进行节点管理的范畴。此外,可能存在新的节点加入计算集群,也可能存在计算机集群里的节点退出,这些也属于节点管理的范畴。下面结合上述步骤s102至步骤s106来说明本技术实施例
提供的在其上部署容器化应用服务的计算集群的节点管理方法的有关细节和改进效果。
48.在步骤s102中指定一个主节点为管理节点并在该管理节点上部署与第一节点管理应用对应的第一容器,以及在步骤s104中在每一个工作节点上部署与第二节点管理应用对应的第二容器。这里主节点指的是关键性节点,主节点的构成一般代表了该计算集群,主节点的加入、删除或者更替可以代表新的计算集群取代旧的计算集群。工作节点是具体的为用户提供服务或者完成具体任务的节点。一个计算集群所具有的主节点数量一般是固定的或者预先设计好的,而工作节点的数量可以根据需要而增加或者减少。通过在一个主节点上部署第一容器以及在每一个工作节点上部署第二容器,使得可以通过运行或者调用相应容器来完成后续的节点管理方法。下面结合图2来说明示例性的计算集群的结构。
49.图2示出了本技术实施例提供的计算集群的示意图。如图2所示,该计算集群包括两个主节点和三个工作节点。其中,两个主节点分别是主节点202和主节点204。在主节点202上部署有第一容器212,而在主节点204上没有部署第一容器,主节点202被指定为管理节点。三个工作节点分别是工作节点222、工作节点224和工作节点226。在工作节点222上部署第二容器232,在工作节点224上部署第二容器234,以及在工作节点226上部署第二容器236。应当理解的是,第一容器212也可以部署在主节点204上,只要满足计算集群所包括的主节点中的一个主节点上部署有第一容器。另外,图2的计算集群中的主节点和工作节点的数量仅为示例性,图1的节点管理方法可以适用于有任意数量的主节点和任意数量的工作节点的计算集群。
50.继续参阅图1,上面提到,在一个主节点上部署第一容器以及在每一个工作节点上部署第二容器,例如在图2所示的主节点202上部署第一容器212以及在工作节点222、工作节点224和工作节点226上分别部署第二容器232、第二容器234和第二容器236。并且,该第一容器配置为:当该第一容器被手动地或者自动地运行时,该第一容器接入不在该管理节点上的授权配置文件;部署在所述至少一个工作节点中的每一个工作节点上的第二容器配置为:当部署在该工作节点上的该第二容器被手动地或者自动地运行时,该第二容器收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。以图2的示例性计算集群为例,当第一容器212被手动地或者自动地运行时,该第一容器212接入不在该管理节点(也即主节点202)上的授权配置文件;当部署在该工作节点(例如工作节点222、工作节点224或者工作节点226)上的该第二容器(例如第二容器232、第二容器234或者第二容器236)被手动地或者自动地运行时,该第二容器收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。这里,应当注意的是,第一容器如第一容器212和第二容器如第二容器232、第二容器234或者第二容器236,可以被手动地或者自动地运行,或者说,可以被手动地或者自动地调用。如此,运行或者调用第一容器或者第二容器意味着模拟相应的软件应用过程,也就是模拟相应的第一节点管理应用或者第二节点管理应用。并且,这样的容器运行或者调用是不依赖于该容器所部属的节点的操作系统和依赖环境。更进一步地,当第一容器运行时该第一容器接入不在该管理节点上的授权配置文件,当第二容器运行时该第二容器收集该第二容器所部属其上的该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。这意味着基于第一容器和第二容器构建了在该计算集群上部署的容器化应用服务,并且根据主节点和工作节点的区别而分别部署相应的容器,通过运行或调用相应的容器来完成对该计算集群的节点管理。
其中当第一容器运行时,在部署了该第一容器的管理节点(也就是被指定作为管理节点的主节点)上模拟第一节点管理应用的进程,从而接入不在该管理节点上的授权配置文件;当第二容器运行时,在部署了该第二容器的工作节点上模拟第二节点管理应用的进程,从而收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。如此,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现,并且以运行或者调用第一容器或者第二容器的方式来实现接入授权配置文件或者收集并上传软硬件信息,这样不仅利用了容器技术的轻量级虚拟化和便于部署等特点而且也为运行或调用容器时确保节点的安全性和稳定性提供了途径。具体地,在步骤s106,响应于授权验证需求,运行部署在与该授权验证需求相关联的工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而确定所收集的与该授权验证需求相关联的工作节点的软硬件信息是否与该授权配置文件一致。如此,通过运行部署在与该授权验证需求相关联的工作节点上的第二容器从而收集与该授权验证需求相关联的工作节点的软硬件信息并将这些软硬件信息上传给管理节点,接着运行第一容器以接入授权配置文件从而可以确定是否与该授权配置文件一致,从而可以判断与该授权验证需求相关联的工作节点是否满足授权验证需求。授权验证需求可以是基于任意的可能场景,只要涉及到对一个或者多个工作节点的安全性和可靠性的评估。总之,图1的节点管理方法,针对在其上部署容器化应用服务的计算集群,将该计算集群的节点管理操作以部署在该计算集群上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
51.除了授权验证需求,或者说对工作节点的安全性和可靠性的评估需求,还可能存在新的工作节点加入或者现存工作节点的退出的情形,这些情形也涉及到节点管理。为此,在一种可能的实施方式中,所述节点管理方法还包括:响应于新节点的加入,运行部署在该管理节点上的该第一容器并且在该授权配置文件中增加对该新节点的授权,以及在该新节点上部署第二容器;响应于现存节点的退出,运行部署在该管理节点上的该第一容器并且在该授权配置文件中删除对该现存节点的授权,以及删除部署在该现存节点上的第二容器。如此,针对新节点的加入和现存节点的退出这两种情形,通过在该新节点上部署第二容器以及删除部署在退出的现存节点上的第二容器,从而保持了更新后的计算集群的工作节点上均部署有第二容器而且也保证了不属于该计算集群的节点上没有第二容器,这样就确保了容器化应用服务的部署与更新后的计算集群之间的一致性。并且,通过运行第一容器以及在该授权配置文件中增加对该新节点的授权或者在该授权配置文件中删除对该现存节点的授权,确保了授权配置文件与更新后的计算集群之间的一致性。应当注意的是,对授权配置文件的更改,包括增加或者删除其中的授权记录,是通过运行在管理节点上的第一容器来进行,并且第一容器被运行时接入不在该管理节点上的授权配置文件。这样就确保了该计算集群中除了管理节点以外的其他节点无法对授权配置文件进行更改,而且对管理节点的攻击也无法波及不在该管理节点上的授权配置文件。此外,上述的对授权验证需求的响应,以及对新节点的加入和现存节点的退出所做出的节点管理相关操作,都是通过第一容器和/或第二容器来实现,这意味着仅仅基于部署在该计算集群上的容器化应用服务
就能实现上述节点管理相关操作,而且第一容器可以部署在该计算集群的任意一个主节点上,这样就无需受限于中枢化的授权管理服务器而是可以充分利用该计算集群的可行的主节点资源。
52.在一种可能的实施方式中,所述计算集群是云原生应用平台、云原生应用架构支撑系统、云原生paas管理平台、云原生隐私计算平台、或者云原生联邦学习平台的一部分。应当理解的是,所述计算集群以及上述的针对该计算集群的节点管理方法,可以适用于任何需要考虑多个节点之间协作时的安全性和可靠性问题的应用场景,特别是用于隐私计算和联邦学习的基于云计算技术的平台。
53.在一种可能的实施方式中,部署在所述计算集群上的容器化应用服务包括以下至少之一:kubernetes容器编排引擎、kubernetes 容器编排和管理服务、kubernetes容器管理平台、azure kubernetes服务、ibm kubernetes服务、kubesphere容器云平台、rancher容器管理平台、k3s容器管理服务、microk8s容器管理工具、vmware tanzu容器调度框架、redhat openshift容器调度框架、swam容器管理平台以及mesos容器管理平台。应当理解的是,部署在所述计算集群上的容器化应用服务还可以对应任意的合适的基于容器技术的容器编排引擎或者容器管理服务。
54.在一种可能的实施方式中,该授权验证需求包括以下至少之一:定期维护需求、软件调度需求以及异常行为检测,其中,该定期维护需求指示对所述计算集群的所述至少一个工作节点中的部分或者全部工作节点进行授权验证并对未授权的工作节点执行中止运行或者限制权限,该软件调度需求指示对所述计算集群的所述至少一个工作节点中的一个或者多个工作节点的调度需求,该异常行为检测指示检测到所述计算集群的所述至少一个工作节点中的一个或者多个工作节点的异常数据请求行为、异常数据处理行为或者授权时限超时行为。上面提到,授权验证需求对应对工作节点的安全性和可靠性的评估需求。具体地,授权验证需求一般可以分为定期维护需求、软件调度需求以及异常行为检测,并且各自对应与该授权验证需求相关联的工作节点,也就是分别与定期维护需求、软件调度需求或者异常行为检测相关联的工作节点。
55.在一种可能的实施方式中,所述节点管理方法还包括:当接收到更新后的授权配置文件时,运行部署在该管理节点上的该第一容器从而对该更新后的授权配置文件进行格式校验,如果格式校验通过则用该更新后的授权配置文件替换该授权配置文件。如此通过格式校验确保更新后的授权配置文件的有效性和合法性。
56.在一种可能的实施方式中,该授权配置文件位于所述计算集群的共有存储空间,该共有存储空间不在所述计算集群所包括的所述至少一个主节点中的任何主节点上并且不在所述计算集群所包括的所述至少一个工作节点中的任何工作节点上。其中,共有存储空间是针对所述计算集群整体,或者至少针对所述计算集群的所有主节点。这里主节点指的是关键性节点,主节点的构成一般代表了该计算集群,主节点的加入、删除或者更替可以代表新的计算集群取代旧的计算集群。通过使得该授权配置文件位于不在任何主节点上的共有存储空间,可以更好地保证授权配置文件的安全性,并且只有被指定为管理节点的主节点上的第一容器可以在被运行时接入该授权配置文件也就是可以访问位于共有存储空间的授权配置文件。在一些实施例中,该共有存储空间至少存储以下至少之一:所述计算集群的配置管理资源(configmap)、软件敏感信息、调度策略和资源限制,其中该软件敏感信
息包括授权证书、密码和密钥,该配置管理资源用于实现对部署在所述计算集群上的容器化应用服务的配置管理。如此,还可以通过该共有存储空间存放其他需要安全保护的信息,从而有利于对该计算集群的管理。在一些实施例中,该授权配置文件还包括以下至少之一:软件敏感信息、调度策略和资源限制,其中该软件敏感信息包括授权证书、密码和密钥。
57.在一种可能的实施方式中,所述节点管理方法还包括:响应于被指定为管理节点的主节点下线或者发生异常,删除部署在被指定为管理节点的主节点上的第一容器,以及指定所述至少一个主节点中的另一主节点为新的管理节点并在该新的管理节点上部署第一容器。上面提到,所述计算集群中的一个主节点被指定为管理节点,当被指定为管理节点的主节点发生异常或者下线时,为了不影响节点管理,可以指定另一主节点为新的管理节点,并且删除原来管理节点上的第一容器,这样就确保了当前管理节点上的第一容器是当前计算集群中唯一能接入授权配置文件,有利于维持节点管理方法的正常运行。
58.在一种可能的实施方式中,所述节点管理方法还包括:响应于软件授权申请需求,运行部署在所述至少一个工作节点中的每一个工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而整合所述至少一个工作节点中的每一个工作节点的软硬件信息来生成所述计算集群的用于该软件授权申请需求的信息。其中,软件授权申请需求一般指的是从该计算集群中筛选出可满足特定要求的工作节点,例如能有效对抗盗版行为和侵权行为,再例如满足数字签名要求等。为了响应软件授权申请需求,上述节点管理方法还通过运行所有工作节点上的第二容器来收集每个工作节点的软硬件信息并且通过运行第一容器来生成用于该软件授权申请需求的信息,有利于判断是否可以满足该软件授权申请需求以及哪些工作节点可以用于后续的操作。
59.在一种可能的实施方式中,所述节点管理方法还包括:响应于来自所述至少一个工作节点中的给定工作节点的本地鉴权请求,运行部署在该管理节点上的该第一容器从而比较该给定工作节点的软硬件信息和该授权配置文件以便生成本地鉴权结果,并且将该本地鉴权结果发送给该给定工作节点。其中本地鉴权请求来自于给定工作节点,例如将要在给定工作节点上启动的软件或者应用需要事先验证给定工作节点的安全性和合法性才能正式启动。为了响应本地鉴权请求,上述节点管理方法通过运行第一容器来生成本地鉴权结果。
60.在一种可能的实施方式中,所述计算集群的所述至少一个主节点包括第一主节点和第二主节点,所述计算集群的所述至少一个工作节点包括第一组工作节点和第二组工作节点,该第一主节点作为相对于该第一组工作节点的管理节点,该第二主节点作为相对于该第二组工作节点的管理节点。如此,通过分组可以让不同的管理节点对应不同的分组,有利于处理规模较大的计算集群的节点管理需求。在每个分组内,该分组的管理节点与该分组内的工作节点之间的节点管理相关操作,可以参考上述的各种实施例,在此不再赘述。
61.在一种可能的实施方式中,所述节点管理方法还包括:为所述至少一个工作节点中的通过授权验证的工作节点提供优先调度标签,其中所述至少一个工作节点中的具有优先调度标签的工作节点相比于不具有优先调度标签的工作节点在所述容器化应用服务的调用中有更高优先级。上面提到,授权验证需求对应对工作节点的安全性和可靠性的评估需求,例如期维护需求、软件调度需求以及异常行为检测。对于通过授权验证的工作节点,也就是安全性和可靠性达标的工作节点,还可以利用在评估该工作节点的过程中所收集到
的该工作节点的软硬件信息,生成该工作节点的优先调度标签。这里优先调度标签意味着更高的优先级在所述容器化应用服务的调用中被运行或者调用。优先调度标签的生成或者说对具有较高优先级被调用的工作节点的筛选标准,可以根据实际需要设定,例如根据最大计算能力、空闲资源等,这样就结合上述的节点管理方法提高了对该计算集群的整体资源利用效率。
62.在一种可能的实施方式中,部署在所述至少一个工作节点中的每一个工作节点上的第二容器所收集的该工作节点的软硬件信息至少包括多种预设硬件标签中的一种预设硬件标签,所述容器化应用服务的调用是基于所述至少一个工作节点中的每一个工作节点各自具有的预设硬件标签。这里,预设硬件标签是该工作节点的软硬件信息中的一部分,可以是对预设的问题的反馈,或者是基于是否满足预设标准的判定。在一些实施例中,所述多种预设硬件标签包括:指示是否具有现场可编程逻辑门阵列(field programmable gate array,fpga)的第一标签、指示是否具有图形处理器(graphics processing unit,gpu)的第二标签、指示是否支持软件防卫扩展(software guard extensions,sgx)的第三标签、指示是否具有可信执行环境(trusted execution environment,tee)的第四标签。如此,通过示例性的第一标签、第二标签、第三标签以及第四标签,可以便利地从该计算集群的工作节点中筛选出具有特定预设硬件标签的工作节点,例如筛选出同时具有fpga和tee的工作节点。这样有利于快速地判断出要调用的工作节点,有利于提高整体运行效率。在一些实施例中,所述容器化应用服务的调用是基于所述至少一个工作节点中的每一个工作节点各自具有的预设硬件标签,包括:当所述容器化应用服务的调用需要可重构计算时优先调用具有第一标签的工作节点,当所述容器化应用服务的调用需要并行化计算时优先调用具有第二标签的工作节点,当所述容器化应用服务的调用需要硬件安全隔离时优先调用具有第三标签的工作节点,当所述容器化应用服务的调用需要可信执行环境时优先调用具有第四标签的工作节点。如此,针对所述容器化应用服务的调用的需要,可以选择性地调用具有特定预设硬件标签的工作节点,例如针对可重构计算需求调用具有第一标签也就是具有fpga的工作节点。当存在复合需求,例如同时需求可重构计算和硬件安全隔离时,则可以调用同时具有第一标签和第三标签的工作节点,有利于提高整体运行效率。
63.应当理解的是,上述方法可以通过相应的执行主体或者载体来实现。在一些示例性实施例中,一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现上述方法以及上述任意实施例、实施方式或者它们的组合。在一些示例性实施例中,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述方法以及上述任意实施例、实施方式或者它们的组合。
64.图3示出了本技术实施例提供的用于图1的节点管理方法的电子设备的框图。如图3所示,电子设备包括主处理器302,内部总线304,网络接口306,主存储器308,以及辅助处理器310和辅助内存312,还有辅助处理器320和辅助内存322。其中,主处理器302与主存储器308连接,主存储器308可用于存储主处理器302可执行的计算机指令,从而可以实现图1的节点管理方法,包括其中部分或者全部步骤,也包括其中步骤的任意可能的组合或结合以及可能的替换或者变体。网络接口306用于提供网络连接以及通过网络收发数据。内部总线304用于提供在主处理器302、网络接口306、辅助处理器310以及辅助处理器320之间的内
部的数据交互。其中,辅助处理器310与辅助内存312连接并一起提供辅助计算能力,而辅助处理器320与辅助内存322连接并一起提供辅助计算能力。辅助处理器310和辅助处理器320可以提供相同或者不同的辅助计算能力,包括但是不限于,针对特定计算需求进行优化的计算能力如并行处理能力或者张量计算能力,针对特定算法或者逻辑结构进行优化的计算能力例如迭代计算能力或者图计算能力等。辅助处理器310和辅助处理器320可以包括特定类型的一个或者多个处理器,如数字信号处理器(dsp),专用集成电路(asic),现场可编程门阵列(fpga)等,从而可以提供定制化的功能和结构。在一些示例性实施例中,电子设备可以不包括辅助处理器,可以包括仅一个辅助处理器,还可以包括任意数量的辅助处理器且各自具有相应的定制化功能及结构,在此不做具体限定。图3中所示出的两个辅助处理器的架构仅为说明性而不应解释为限制性。另外,主处理器302可以包括单核或者多核的计算单元,用于提供本技术实施例所必需的功能和操作。另外,主处理器302和辅助处理器(如图3中的辅助处理器310和辅助处理器320)可以具有不同的架构,也就是电子设备可以是基于异构架构的系统,例如主处理器302可以是基于指令集操作体系的通用型处理器如cpu,而辅助处理器可以是适合并行化计算的图形处理器gpu或者是适合神经网络模型相关运算的专用加速器。辅助内存(例如图3所示的辅助内存312和辅助内存322)可以用于配合各自对应的辅助处理器来实现定制化功能及结构。而主存储器308用于存储必要的指令、软件、配置、数据等从而可以配合主处理器302提供本技术实施例所必需的功能和操作。在一些示例性实施例中,电子设备可以不包括辅助内存,可以包括仅一个辅助内存,还可以包括任意数量的辅助内存,在此不做具体限定。图3中所示出的两个辅助内存的架构仅为说明性而不应解释为限制性。主存储器308以及可能的辅助内存可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性,并且可以包括随机存取存储器(ram),闪存,只读存储器(rom),可擦可编程只读存储器(eprom),电可擦可编程只读存储器(eeprom),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(cd),数字多功能光盘(dvd),大容量存储介质设备或任何其他形式的合适存储介质。内部总线304可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。应当理解的是,图3所示的电子设备,其所示的结构并不构成对有关装置或系统的具体限定,在一些示例性实施例中,电子设备可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
65.图4示出了本技术实施例提供的节点管理系统的框图。如图4所示,计算集群410包括一个主节点和三个工作节点。节点管理系统420响应计算集群410的授权验证需求、新节点加入以及现存节点退出。具体地,在所述计算集群410上部署容器化应用服务并且所述计算集群410包括至少一个主节点和至少一个工作节点。所述至少一个主节点中的一个主节点被指定为管理节点并在该管理节点上部署与第一节点管理应用对应的第一容器。该第一容器配置为:当该第一容器被手动地或者自动地运行时,该第一容器接入不在该管理节点上的授权配置文件。在所述至少一个工作节点中的每一个工作节点上部署与第二节点管理应用对应的第二容器。其中部署在所述至少一个工作节点中的每一个工作节点上的第二容器配置为:当部署在该工作节点上的该第二容器被手动地或者自动地运行时,该第二容器
收集该工作节点的软硬件信息并将所收集的该工作节点的软硬件信息发送给该管理节点。所述节点管理系统420配置为:响应于授权验证需求,运行部署在与该授权验证需求相关联的工作节点上的第二容器,以及运行部署在该管理节点上的该第一容器从而确定所收集的与该授权验证需求相关联的工作节点的软硬件信息是否与该授权配置文件一致,如果是则授权验证通过,如果否则授权验证不通过。应当理解的是,节点管理系统420通过运行部署在计算集群410的主节点上的第一容器和工作节点上的第二容器来完成有关操作。虽然出于示意性目的,节点管理系统420被单独提供在计算集群410的旁边,但是节点管理系统420应当被理解为运行在计算集群410上,具体地通过运行计算集群410上的第一容器和第二容器来完成有关节点管理操作。图4的节点管理系统420,针对在其上部署容器化应用服务的计算集群410,将该计算集群410的节点管理操作以部署在该计算集群410上的容器化应用服务的形式来实现从而利用了容器技术的轻量级虚拟化和便于部署等特点,以及通过运行在管理节点上的第一容器和在工作节点上的第二容器实现了根据授权配置文件评估与该授权验证需求相关联的工作节点的软硬件信息,而且通过使得该授权配置文件不在该管理节点上增加了安全性。
66.在一种可能的实施方式中,所述节点管理系统420还配置为:响应于新节点的加入,运行部署在该管理节点上的该第一容器并且在该授权配置文件中增加对该新节点的授权;响应于现存节点的退出,运行部署在该管理节点上的该第一容器并且在该授权配置文件中删除对该现存节点的授权,以及删除部署在该现存节点上的第二容器。
67.在一种可能的实施方式中,该授权配置文件位于所述计算集群410的共有存储空间,该共有存储空间不在所述计算集群410所包括的所述至少一个主节点中的任何主节点上并且不在所述计算集群410所包括的所述至少一个工作节点中的任何工作节点上。
68.在一种可能的实施方式中,部署在所述至少一个工作节点中的每一个工作节点上的第二容器所收集的该工作节点的软硬件信息至少包括多种预设硬件标签中的一种预设硬件标签,所述容器化应用服务的调用是基于所述至少一个工作节点中的每一个工作节点各自具有的预设硬件标签。
69.图4中示例性示出了计算集群410包括一个主节点和三个工作节点。计算集群410中的主节点和工作节点的数量仅为示例性,图4的节点管理系统可以适用于有任意数量的主节点和任意数量的工作节点的计算集群。
70.本技术提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本技术具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(dsp),专用集成电路(asic),现场可编程门阵列(fpga)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本技术具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本技术具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
71.本技术提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介
质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本技术具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本技术具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(ram),闪存,只读存储器(rom),可擦可编程只读存储器(eprom),电可擦可编程只读存储器(eeprom),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(cd),数字多功能光盘(dvd),大容量存储介质设备或任何其他形式的合适存储介质。
72.以上是本技术实施例的实施方式,应当指出,本技术具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本技术实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本技术另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本技术具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本技术实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献