本文說明使用 Google Cloud的 Symphony 連接器時適用的規定和限制。
IBM Spectrum Symphony Connectors for Google Cloud 可讓您將 Google Cloud 的運算資源新增至 Symphony 叢集。當高效能運算 (HPC) 工作負載需要的容量超出現有基礎架構的供應量時,連接器可讓 Symphony 的主機工廠服務自動在 Google Kubernetes Engine (GKE) 中佈建 Compute Engine 虛擬機器 (VM) 執行個體或 Pod。這種做法可讓您將 Symphony 環境擴展至 Google Cloud ,以滿足 HPC 工作負載的尖峰需求。
Symphony Connectors for Google Cloud的使用時機
Symphony Connectors for Google Cloud 可整合 Symphony 的主機出廠服務與 Google Cloud,讓您在 Symphony 叢集中使用 Google Cloud資源。在下列情況下,請使用 Symphony Connectors:Google Cloud
雲端爆發模式:當內部部署叢集資源不足時,可動態將 Symphony 工作負載擴展至 Google Cloud ,以存取額外的運算容量。Symphony Connectors for Google Cloud 可視需要自動調度資源,並與現有的 Symphony 工作排程整合。
混合雲部署:如果您在內部部署和 Google Cloud 基礎架構中執行 Symphony 工作負載,可以使用這項解決方案,透過 Symphony 主機工廠架構統一管理資源。這種方法可讓您透過單一介面管理內部部署和雲端資源,簡化工作提交、監控和資源管理作業。 Google Cloud
成本最佳化:使用 Google Cloud的彈性執行個體類型和定價模式 (例如 Spot VM (先占 VM)),執行對成本敏感的工作負載。
開發和測試:如要為開發或測試工作流程佈建臨時運算資源,請使用 Symphony Connectors for Google Cloud快速建立及刪除環境。系統會自動清除資源,以達到最佳成本效益。
統一管理:使用主機出廠設定建立一致的介面,管理 GKE Pod 和 Symphony 使用的 Compute Engine 執行個體。
完美整合企業:使用這項解決方案將現有的 Symphony 部署作業擴展至 Google Cloud ,不必進行重大架構變更。
瞭解 Symphony Connectors for Google Cloud 的運作方式
Symphony Connectors for Google Cloud 提供必要元件,以建立主機工廠服務的Google Cloud 供應商。
下圖顯示Google Cloud的 Symphony 連接器架構:

這個架構包含三個主要群組:IBM Spectrum Symphony 環境、 Google Cloud 主機工廠供應商 Google Cloud 層,以及服務。Symphony 環境包含主機工廠和供應商指令碼。這個架構使用 Google Cloud host factory provider CLI 工具層轉譯要求,讓 Symphony 指令碼控制 Compute Engine 資源,以及在 GKE 中執行的 Kubernetes 運算子。
以下各節說明 Symphony Connectors for Google Cloud的主要元件。
IBM Spectrum Symphony 主機出廠設定
IBM Spectrum Symphony 服務,可根據工作負載需求,管理來自不同供應商的運算主機生命週期。這個 Symphony 元件是 Google Cloud 整合的軟體。
供應商指令碼
Symphony 主機工廠服務會使用一組殼層指令碼,與雲端供應商整合。這些指令碼會要求並傳回資源。
根據預設,Symphony 不會為 Google Cloud納入主機工廠供應商。
Google Cloud 主機工廠供應商可讓 Symphony 主機工廠架構與 Google Cloud通訊。
下表列出 Symphony Connectors for Google Cloud 使用的指令碼:
| 名稱 | 說明 | 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 Cloud 主機工廠供應商會將 IBM Spectrum Symphony 的主機工廠架構連結至 Google Cloud。這個外掛程式包含指令列介面 (CLI) 工具 (稱為「供應商」),Symphony 會呼叫這些工具,為下列工作負載要求及管理資源:
如果是 Compute Engine,請使用 Compute Engine 提供者。
如果是 GKE 工作負載,請使用 GKE 提供者。如果是 GKE 工作負載,您必須安裝額外的 Kubernetes 運算子。這個運算子會在 GKE 叢集中執行,管理使用 GKE 供應商要求 IBM Spectrum Symphony 計算 Pod 的生命週期。
由於 CLI 工具是 Python 模組,您也可以使用 Python 解譯器手動執行。詳情請參閱 GitHub 上的「從 Python 執行」。
Compute Engine 提供者
Compute Engine 供應商 (hf-gce) 是一種 CLI 工具,可將 Symphony 的主機工廠與 Compute Engine 整合。安裝 Compute Engine 供應商後,您必須在 Symphony 主機出廠設定中設定供應商。完成這項設定後,主機工廠會自動叫用使用 hf-gce CLI 的指令碼。
Compute Engine 供應商會直接與 Google Compute Engine API 互動,根據 Symphony 的需求,以及供應商執行個體和範本中定義的設定,管理 VM 執行個體的生命週期。供應商會建立、監控及終止 Compute Engine VM,這些 VM 隨後會以運算節點身分加入 Symphony 叢集。
GKE 供應商
GKE 供應商 (hf-gke) 是一種 CLI 工具,可將 Symphony 的主機工廠服務與 GKE 連線。主機工廠會使用呼叫 hf-gke CLI 的指令碼。
GKE 供應商會與 GKE 叢集的 API 互動,以建立、查詢及刪除自訂資源,特別是 GCPSymphonyResource 和 MachineReturnRequest 資源。
在 GKE 叢集中執行的 Kubernetes 運算子會根據這些自訂資源,處理 Pod 生命週期管理作業。GKE 供應商會將 Symphony 的資源要求連結至 Kubernetes 自訂資源的自動化調度管理。
Google Cloud 服務整合
您可以連線至 Compute Engine 和 GKE。Compute Engine 連線沒有其他元件。如果是 GKE 連線,則有 Kubernetes 運算子。
Kubernetes 運算子
只有在使用 GKE 供應商執行的 GKE 工作負載時,才需要這個運算子。這個運算子會在 GKE 叢集中執行,管理使用 GKE 供應商要求的 Symphony 計算 Pod 生命週期。GKE 運算子具有下列功能:
- 非同步作業:支援高效能非同步處理,適合大規模部署。
- 先占處理:包括自動偵測及管理 Spot VM 先占。
- 自訂資源定義:使用
GCPSymphonyResource和MachineReturnRequest自訂資源管理資源。 - 資源清除:自動清除已完成的資源,並可設定保留期限。
- 健康狀態監控:透過內建健康狀態檢查和狀態回報功能,監控整合的健康狀態。
限制
Symphony 連接器可為 Symphony 叢集佈建及管理底層運算基礎架構 (VM 執行個體和 GKE Pod),但不會建立新的 Symphony 工作負載。 Google Cloud 您仍可使用 Symphony 軟體建立、管理、排定及執行工作負載。