Skip to main content
NetApp artificial intelligence solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用 Union.ai 和NetApp FlexCache部署混合 AI 訓練

貢獻者 sathyaga netapp-jsnyder

了解如何使用 Union.ai 編排、 NetApp FlexCache和Trident進行 Kubernetes 儲存配置,從而部署混合 AI 訓練環境。

David Espejo,Union.ai Sathish Thyagarajan, NetApp

概況

Union.ai 的混合編排平台與NetApp ONTAP和FlexCache無縫集成,可加速 AI/ML 訓練工作流程。該解決方案允許資料安全地保留在本地,同時利用基於雲端的 GPU 運算進行 AI 訓練工作負載。 NetApp FlexCache確保僅將必要的資料快取到雲端,從而實現高效、安全且可擴展的混合 AI/ML 管道。

客戶用例:混合雲人工智慧培訓

  • 本機資料:儲存在NetApp ONTAP上,以確保合規性和安全性。

  • 雲端運算:在 EKS/GKE/AKS 上進行可擴充的 GPU 訓練。

  • AI/ML 編排:Union.ai 協調跨環境的資料處理和訓練。

  • 儲存設定: NetApp Trident可自動設定 PVC/PV。

客戶價值

  • 利用NetApp ONTAP 的橫向擴充功能,在海量資料集上執行 AI 工作負載。

  • 使用 NetApp 的混合雲端功能,在本地端和雲端之間移動和同步資料。

  • 使用FlexCache快速將本機資料快取到雲端。

  • Union.ai 透過版本控制、血緣追蹤和工件管理簡化了跨環境的編排。

  • 在雲端執行培訓,同時將敏感資料保留在本地。

啟用插件 - 前提條件

要求

細節

ONTAP版本

ONTAP 9.7+(無需FlexCache許可證)

FlexCache許可證

ONTAP 9.6 及更早版本需要此功能

Kubernetes

本地集群和雲端集群(EKS/GKE/AKS)

Trident

可安裝在本地集群和雲端集群上

Union.ai

控制平面已部署(聯合雲端或自架)

聯網

集群間連通性(如果ONTAP集群是獨立的)

權限

ONTAP和 Kubernetes 叢集的管理員權限。

✅請使用正確的ONTAP憑證(例如,vsadmin)。

剛接觸 Union.ai?

請參閱本文檔末尾的配套指南。

參考架構

下圖展示了 Union.ai 控制平面與NetApp儲存的集成,用於混合 AI 訓練。

採用 Union.ai 和NetApp 的混合 AI 訓練架構
  • Union.ai 控制平面:協調工作流程、管理資料移動並與NetApp API 整合。

  • NetApp ONTAP + FlexCache:提供從本機到雲端的高效資料快取。

  • 混合訓練群集:訓練作業在雲端 K8s 叢集(例如 EKS)中運行,資料從本地緩存。

步驟 1:建立FlexCache卷

使用ONTAP系統管理器

  1. 導航至“儲存”>“卷”。

  2. 按一下“新增”。

  3. 選擇更多選項。

  4. 啟用「新增為遠端磁碟區的快取」功能。

  5. 選擇來源磁碟區(本地)和目標磁碟區(雲端)。

  6. 定義服務品質或效能等級(可選)。

  7. 按一下“建立”。

💡如果因權限或聚合問題導致NetApp DataOps Toolkit 無法正常運作,請直接使用ONTAP系統管理員或 CLI 建立FlexCache區。

步驟 2:設定 Trident

在兩個叢集上都安裝Trident :

建立Trident後端

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: ontap-flexcache
spec:
version: 1
storageDriverName: ontap-nas
managementLIF: <ONTAP-MGMT-IP>
dataLIF: <ONTAP-DATA-IP>
svm: <SVM-NAME>
username: vsadmin
password: <password>

Apply: kubectl apply -f backend-flexcache.yaml

如果收到 401 未授權錯誤,請驗證ONTAP使用者是否具有足夠的 API 權限,以及是否使用了正確的使用者名稱 (vsadmin) 和密碼。

定義儲存類別

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: flexcache-sc
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
Apply:
kubectl apply -f storageclass-flexcache.yaml

步驟 3:部署 Union.ai 工作流程

Union 使用 PVC 將FlexCache卷掛載到訓練作業中。

範例 PodTemplate

apiVersion: v1
kind: PodTemplate
metadata:
name: netapp-podtemplate
namespace: flytesnacks-development
template:
metadata:
labels:
default-storage: netapp
spec:
containers:
- name: primary
volumeMounts:
- name: flexcache-storage
mountPath: /data/flexcache
volumes:
- name: flexcache-storage
persistentVolumeClaim:
claimName: flexcache-pvc

範例工作流程

從聯合導入任務、工作流程

@task(pod_template="netapp-podtemplate")

def train_model(pvc_path: str):

載入並使用來自 PVC 的資料進行訓練。

@workflow

def training_pipeline():

train_model(pvc_path="/data/flexcache")

工會營運商將:

  • 製作PVC管

  • 掛載FlexCache卷

  • 在雲端 Kubernetes 叢集中調度作業

步驟 4:驗證集成

任務 驗證

PVC支架

訓練 pod 應該能夠成功掛載 /data/flexcache

資料存取

訓練作業可以對FlexCache進行讀寫操作。

快取行為

監控ONTAP中的快取命中/未命中情況。確保聚合支援FlexCache

表現

驗證訓練工作負載的延遲和吞吐量

使用NetApp BlueXP或ONTAP CLI 監控效能。

安全注意事項

  • 使用 VPC 端點為NetApp ONTAP 的FSx 啟用

  • 啟用傳輸中和靜態加密

  • 申請基於角色的存取控制/身分與授權以存取ONTAP

  • Union.ai 不會存取或儲存客戶數據

監測與最佳化

工具

目的

NetApp BlueXP

監控FlexCache 的使用情況與效能

Union.ai 使用者介面

追蹤管道狀態和指標

Trident日誌

調試 PVC 或後端問題

選用增強功能

  • 使用BlueXP API 自動建立FlexCache

  • 使用 Union SDK 在訓練前預熱緩存

  • 訓練後加入批量推理或模型服務管道

  • 如果 DataOps Toolkit 失敗,則回退到透過系統管理員手動建立FlexCache 。

故障排除

問題 解決

PVC卡在待定狀態

檢查Trident日誌和後端配置

來自ONTAP API 的 401 未授權

使用 vsadmin 並驗證權限

作業失敗:沒有適當的儲存空間

確保ONTAP聚合支援FlexCache/ FabricPool

訓練表現緩慢

檢查快取命中率和網路延遲

資料未同步

在ONTAP中驗證FlexCache關係健康狀況

後續步驟

  1. 使用測試資料驗證FlexCache

  2. 部署 Union.ai 訓練管道

  3. 監控和優化效能

  4. 記錄客戶特定設定

結論

您現在擁有一個經過驗證的混合 AI 訓練環境,使用 Union.ai 和NetApp FlexCache。訓練作業可以在雲端運行,同時安全且有效率地存取本地數據,而無需複製整個數據集或損害治理。

Union.ai - 配套指南

第一步:選擇部署模式

方案A:聯合雲

選項B:自架

  • 跟隨:https://docs.union.ai/platform/latest/deployment/self-hosted/["自託管指南"]

  • 透過 Helm 部署:

helm install union unionai/union -n union-system -f values.yaml

步驟 2:安裝聯合運算子

kubectl apply -fhttps://raw.githubusercontent.com/unionai/operator/main/deploy/operator.yaml[]

kubectl get pods -n union-system

步驟 3:安裝 Union CLI

pip install unionai

工會登入

步驟 4:註冊工作流程

聯合專案創建混合人工智慧

union register training_pipeline.py --project hybrid-ai

步驟 5:運作與監控

union run training_pipeline --project hybrid-ai

聯合觀察培訓管道

查看日誌 "聯合用戶介面"

步驟 6:註冊計算集群(可選)

union cluster register --name cloud-k8s --kubeconfig ~/.kube/config

步驟7:追蹤文物及傳承

Union 會自動追蹤:

  • 輸入/輸出參數

  • 數據版本

  • 日誌和指標

  • 執行譜系