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

MLflow 部署

貢獻者

本節說明在 Kubernetes 叢集中部署 MLflow 時必須完成的工作。

註 您可以在 Kubernetes 以外的平台上部署 MLflow 。在 Kubernetes 以外的平台上部署 MLflow 不屬於本解決方案的範圍。

先決條件

在您執行本節所述的部署練習之前、我們假設您已經執行下列工作:

  1. 您已經擁有有效的Kubernetes叢集。

  2. 您已在 Kubernetes 叢集中安裝並設定 NetApp Astra Trident 。如需 Astra Trident 的詳細資訊、請 "Astra Trident文件"參閱。

安裝Helm

MLflow 是使用知名的 Kubernetes 套件管理程式 Helm 來部署。在部署 MLflow 之前、您必須先在 Kubernetes 控制節點上安裝 Helm 。若要安裝 Helm 、請遵循 "安裝說明" 正式 Helm 文件中的。

設定預設Kubernetes StorageClass

在部署 MLflow 之前、您必須在 Kubernetes 叢集中指定預設 StorageClass 。若要在叢集中指定預設 StorageClass 、請遵循一節中所述的指示 "Kubeflow部署" 進行。如果您已在叢集內指定預設StorageClass、則可以跳過此步驟。

部署 MLflow

一旦符合先決條件、您就可以使用船舵圖表開始進行 MLflow 部署。

設定 MLflow Helm 圖表部署。

在使用 Helm 圖表部署 MLflow 之前、我們可以設定部署以使用 NetApp Trident 儲存類別、並使用 config.yaml 檔案變更其他參數以符合我們的需求。* 組態 .yaml* 檔案的範例可在以下網址找到: https://github.com/bitnami/charts/blob/main/bitnami/mlflow/values.yaml

註 您可以在 config.yaml 檔案中的 * global.defaultStorageClass* 參數下設定 Trident storageClass (例如 storageClass :「 ontp-FlexVol 」)。

安裝 Helm 圖表

使用下列命令、可以使用 MLflow 的自訂 * 組態 .yaml* 檔案來安裝 Helm 圖表:

helm install oci://registry-1.docker.io/bitnamicharts/mlflow -f config.yaml --generate-name --namespace jupyterhub
註 此命令會透過提供的 * config.yaml* 檔案、在自訂組態的 Kubernetes 叢集上部署 MLflow 。MLflow 會部署在指定的命名空間中、並透過 Kubernetes 為發行提供隨機版本名稱。

檢查部署

在完成 Helm 圖表的部署之後、您可以使用下列項目來檢查服務是否可供存取:

kubectl get service -n jupyterhub
註 jupyterhub 替換爲部署期間使用的命名空間。

您應該會看到下列服務:

NAME                              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)           AGE
mlflow-1719843029-minio           ClusterIP   10.233.22.4     <none>        80/TCP,9001/TCP   25d
mlflow-1719843029-postgresql      ClusterIP   10.233.5.141    <none>        5432/TCP          25d
mlflow-1719843029-postgresql-hl   ClusterIP   None            <none>        5432/TCP          25d
mlflow-1719843029-tracking        NodePort    10.233.2.158    <none>        30002:30002/TCP   25d
註 我們編輯 config.yaml 檔案、使用 NodePort 服務存取連接埠 30002 上的 MLflow 。

存取 MLflow

當所有與 MLflow 相關的服務都啟動並執行後、您就可以使用指定的 NodePort 或負載平衡器 IP 位址(例如)來存取它。 http://10.61.181.109:30002