部署 IBM Spectrum Symphony 工作负载

本文档介绍了适用于 Google Cloud的 Symphony 连接器,该连接器可在 IBM Spectrum Symphony 和 Google Cloud之间实现集成。通过此集成,您可以将 Google Cloud 资源用作 Symphony 集群的灵活计算容量。然后,Symphony 使用主机工厂管理集群。主机工厂是 IBM Spectrum Symphony 的一个组件,可使用来自 Google Cloud 等云提供商的计算主机扩展集群,以满足 Symphony 集群中的资源需求。

使用适用于 Google Cloud 的Symphony连接器,通过灵活的Google Cloud 资源来补充您现有的云基础架构,尤其是在处理高性能计算 (HPC) 工作负载时。适用于 Google Cloud 的 Symphony 连接器同时支持 Compute Engine 和 Google Kubernetes Engine 服务。

何时使用适用于 Google Cloud的 Symphony 连接器

适用于 Google Cloud 的 Symphony 连接器旨在弥合 Symphony 的主机工厂服务与 Google Cloud之间的差距。在以下情况下,请使用适用于Google Cloud 的 Symphony 连接器:

  • 云爆发:当本地集群资源不足时,将 Symphony 工作负载动态扩展到 Google Cloud ,以访问额外的计算容量。适用于 Google Cloud的 Symphony 连接器可让您根据需要自动预配资源,并与现有的 Symphony 作业调度集成。

  • 混合云部署:如果您在本地和 Google Cloud 基础架构中运行 Symphony 工作负载,则可以使用此解决方案通过 Symphony 主机工厂框架统一资源管理。这种方法可确保作业提交和监控体验一致,并实现灵活的资源分配。

  • 费用优化:使用 Google Cloud灵活的实例类型和价格模式(例如 Spot 虚拟机 [抢占式虚拟机])来运行对费用敏感的工作负载。

  • 开发和测试:如需为开发或测试工作流预配临时计算资源,请使用适用于 Google Cloud的 Symphony 连接器快速设置和拆除环境。通过自动清理资源来优化费用。

  • 统一管理:使用主机工厂创建一致的接口,以管理 GKE pod 和 Symphony 使用的 Compute Engine 实例。

  • 无缝企业集成:使用此解决方案将现有 Symphony 部署扩展到 Google Cloud ,而无需进行重大架构更改。

了解适用于 Google Cloud 的 Symphony 连接器的工作原理

适用于 Google Cloud 的 Symphony 连接器提供必要的组件,以使Google Cloud 成为主机工厂的提供程序。

下图展示了适用于Google Cloud的 Symphony 连接器的架构:

Symphony 架构图。

如上图所示,此架构包含三个主要组:IBM Spectrum Symphony 环境、 Google Cloud 主机工厂提供程序层 Google Cloud 和服务。Symphony 环境包含主机工厂和提供程序脚本。此架构使用 Google Cloud 主机工厂提供程序 CLI 工具层来转换请求,从而使 Symphony 脚本能够控制 Compute Engine 资源和在 GKE 中运行的 Kubernetes 运算符。

以下部分介绍了适用于 Google Cloud的 Symphony 连接器的主要组件。

IBM Spectrum Symphony 主机工厂

一种 IBM Spectrum Symphony 服务,可根据工作负载需求管理来自各种提供方的计算主机的生命周期。此 Symphony 组件是与 Google Cloud 集成的软件。

提供程序脚本

Symphony 主机工厂服务使用一组 shell 脚本与云提供商集成。这些脚本可执行请求和返回资源等操作。

默认情况下,Symphony 不包含 Google Cloud的主机工厂提供程序。

Google Cloud 主机工厂提供程序使 Symphony 主机工厂框架能够与 Google Cloud通信。

下表显示了适用于 Google Cloud 的 Symphony 连接器使用的脚本:

名称 说明 IBM 文档
getAvailableTemplates.sh 检索提供程序配置中定义的可用资源模板。主机工厂调用 getAvailableTemplates.sh 以了解它可以请求哪些类型的资源。 getAvailableTemplates
requestMachines.sh 从 Google Cloud预配新的计算资源。它会接收一个 JSON 载荷,其中指定了模板和数量。 requestMachines
requestReturnMachines.sh 主机工厂取消预配 Symphony 集群使用的计算资源。它会接收一个 JSON 载荷,用于标识要返回的机器。 requestReturnMachines
getRequestStatus.sh 主机工厂轮询由 requestMachines.sh 发起的正在进行的预配请求的状态。它会接收包含请求 ID 的 JSON 载荷。 getRequestStatus
getReturnRequests.sh 主机工厂轮询由 requestReturnMachines.sh 发起的正在进行的取消预配请求的状态。它会接收包含请求 ID 的 JSON 载荷。 getReturnRequests

Google Cloud 主机工厂提供程序

主机工厂提供程序是 Google 创建的接口,可与 IBM Spectrum Symphony 的主机工厂框架集成。此 Google Cloud 插件包含 Symphony 调用以请求和管理Google Cloud中资源的 CLI 工具。适用于 Compute Engine 和 GKE 工作负载的 CLI 工具均可使用。适用于 Google Cloud 的 Symphony 连接器将这些 CLI 工具称为提供程序:

  • 对于 Compute Engine 工作负载,您可以使用 Compute Engine 提供程序
  • 对于 GKE 工作负载,您可以使用 GKE 提供程序。对于 GKE 工作负载,您需要一个额外的运算符。此 Kubernetes 运算符在 GKE 集群内运行,用于管理使用 GKE 提供程序请求的 IBM Spectrum Symphony 计算 pod 的生命周期。

安装这些 CLI 工具后,您还可以使用 Python 手动调用 Compute Engine 和 GKE 提供程序 CLI 工具。这些 CLI 工具是 Python 模块,因此可以使用 Python 解释器执行。如需了解详情,请参阅 GitHub 上的从 Python 运行文档。

Compute Engine 提供程序

Compute Engine 提供程序 (hf-gce) 是一款旨在将 Symphony 的主机工厂与 Compute Engine 集成的 CLI 工具。安装 Compute Engine 提供程序后,您必须在 Symphony 主机工厂中对其进行配置。完成此配置后,主机工厂可以自动调用使用 hf-gce CLI 的脚本。

Compute Engine 提供程序直接与 Google Compute Engine API 交互,以根据 Symphony 的需求以及提供程序实例和模板中定义的配置来管理虚拟机实例的生命周期。它负责创建、监控和终止 Compute Engine 虚拟机,使这些虚拟机能够作为计算节点加入 Symphony 集群。

GKE 提供程序

GKE 提供程序 (hf-gke) 是一种 CLI 工具,用于将 Symphony 的主机工厂服务与 GKE 连接起来。主机工厂使用调用 hf-gke CLI 的脚本。

GKE 提供程序与 GKE 集群的 API 交互,以创建、查询和删除自定义资源定义 (CRD),特别是 GCPSymphonyResourceMachineReturnRequest

在 GKE 集群中运行的 Kubernetes 运算符会根据这些自定义资源处理实际的 Pod 生命周期管理。GKE 提供程序充当 Symphony 的资源请求与基于 Kubernetes 自定义资源的编排之间的桥梁。

Google Cloud 服务

您可以连接到 Compute Engine 和 Google Kubernetes Engine。Compute Engine 连接没有其他组件。对于 Google Kubernetes Engine 连接,有一个 Kubernetes 运算符。

Kubernetes 运算符

只有在使用 GKE 提供程序运行的 GKE 工作负载时,您才需要此额外的运算符。此运算符在 GKE 集群内运行,用于管理使用 GKE 提供程序请求的 Symphony 计算 Pod 的生命周期。GKE 提供程序具有以下功能:

  • 异步操作:支持高性能异步处理,适合大规模部署。
  • 抢占处理:包括自动检测和管理 Spot 虚拟机抢占。
  • 自定义资源定义:使用 GCPSymphonyResourceMachineReturnRequest 自定义资源来管理资源。
  • 资源清理:自动清理已完成的资源,保留期限可配置。
  • 健康状况监控:通过内置的健康检查和状态报告来监控 GKE 提供程序的集成。

限制

适用于 Google Cloud 的 Symphony 连接器具有以下限制:

  • Google Cloud 不会创建、管理、安排或执行 IBM Spectrum Symphony 工作负载。您负责 Symphony 软件中的所有工作负载管理。

后续步骤

如需安装和配置 Google Cloud 主机工厂提供程序,请访问 GitHub 文档: