本文說明 Symphony Connectors for Google Cloud,可整合 IBM Spectrum Symphony 和 Google Cloud。這項整合功能可讓您將 Google Cloud 資源做為 Symphony 叢集的彈性運算容量。接著,Symphony 會使用主機工廠管理叢集。主機出廠設定是 IBM Spectrum Symphony 的元件,可透過 Google Cloud 等雲端供應商的運算主機擴充叢集,滿足 Symphony 叢集的資源需求。
使用 Symphony Connectors for Google Cloud ,以彈性Google Cloud 資源補充現有的雲端基礎架構,特別是針對高效能運算 (HPC) 工作負載。Symphony Connectors for Google Cloud 支援 Compute Engine 和 Google Kubernetes Engine 服務。
使用 Symphony Connectors 的時機 Google Cloud
Symphony Connectors for Google Cloud 旨在彌合 Symphony 的主機出廠服務與 Google Cloud之間的差距。在下列情況下,請使用 Symphony Connectors:Google Cloud
雲端爆發模式:當內部部署叢集資源不足時,可動態將 Symphony 工作負載擴展至 Google Cloud ,以存取額外的運算容量。Symphony Connectors for Google Cloud 可讓您視需要自動佈建資源,並與現有的 Symphony 工作排程整合。
混合雲部署:如果您在內部部署和 Google Cloud 基礎架構中執行 Symphony 工作負載,可以使用這項解決方案,透過 Symphony 主機工廠架構統一管理資源。這種做法可為工作提交和監控作業提供一致的體驗,並彈性分配資源。
成本最佳化:使用 Google Cloud彈性執行個體類型和定價模式,例如 Spot VM (先占 VM),執行對成本較敏感的工作負載。
開發和測試:如要為開發或測試工作流程佈建臨時運算資源,請使用 Symphony 連接器快速設定及終止環境。 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 建立的介面,可與 IBM Spectrum Symphony 的主機工廠架構整合。這個 Google Cloud 外掛程式 包含 Symphony 呼叫的 CLI 工具,可要求及管理Google Cloud中的資源。Compute Engine 和 GKE 工作負載都有可用的 CLI 工具。Symphony Connectors for Google Cloud 將這些 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) 是一種 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 互動,以建立、查詢及刪除自訂資源定義 (CRD),特別是 GCPSymphonyResource 和 MachineReturnRequest。
在 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 VM 先占。
- 自訂資源定義:使用
GCPSymphonyResource和MachineReturnRequest自訂資源管理資源。 - 資源清除:自動清除已完成的資源,並可設定保留期限。
- 健康狀態監控:透過內建健康狀態檢查和狀態回報功能,監控 GKE 供應商的整合情形。
限制
Symphony Connectors for Google Cloud 有下列限制:
- Google Cloud 不會建立、管理、排定或執行 IBM Spectrum Symphony 工作負載。您須負責管理 Symphony 軟體中的所有工作負載。
後續步驟
請參閱 GitHub 說明文件,瞭解如何安裝及設定 Google Cloud 主機工廠供應商: