Skip to main content
NetApp artificial intelligence solutions
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

MLflow デプロイメント

このセクションでは、Kubernetes クラスターに MLflow をデプロイするために完了する必要があるタスクについて説明します。

メモ MLflow は Kubernetes 以外のプラットフォームにもデプロイできます。 Kubernetes 以外のプラットフォームに MLflow をデプロイすることは、このソリューションの範囲外です。

前提条件

このセクションで説明する展開演習を実行する前に、次のタスクが既に実行されていることを前提としています。

  1. すでに動作中の Kubernetes クラスターがあります。

  2. Kubernetes クラスターにNetApp Tridentがすでにインストールされ、構成されています。Tridentの詳細については、"Tridentのドキュメント"

Helmをインストールする

MLflow は、Kubernetes の一般的なパッケージ マネージャーである Helm を使用してデプロイされます。 MLflow をデプロイする前に、Kubernetes コントロール ノードに Helm をインストールする必要があります。 Helmをインストールするには、 "インストール手順"公式 Helm ドキュメントに記載されています。

デフォルトのKubernetesストレージクラスを設定する

MLflow をデプロイする前に、Kubernetes クラスター内でデフォルトの StorageClass を指定する必要があります。クラスター内でデフォルトのストレージクラスを指定するには、"Kubeflow デプロイメント"セクション。クラスター内でデフォルトの StorageClass をすでに指定している場合は、この手順をスキップできます。

MLflowをデプロイする

前提条件が満たされたら、Helm チャートを使用して MLflow のデプロイを開始できます。

MLflow Helm Chart のデプロイメントを構成します。

Helm チャートを使用して MLflow をデプロイする前に、config.yaml ファイルを使用して、 NetApp Tridentストレージ クラスを使用するようにデプロイを構成し、ニーズに合わせて他のパラメータを変更できます。 config.yaml ファイルの例は、次の場所にあります。 https://github.com/bitnami/charts/blob/main/bitnami/mlflow/values.yaml

メモ config.yaml ファイルの global.defaultStorageClass パラメータでTrident storageClass を設定できます (例: storageClass: "ontap-flexvol")。

Helm Chartのインストール

Helm チャートは、次のコマンドを使用して、MLflow のカスタム config.yaml ファイルとともにインストールできます。

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
メモ NodePort サービスを使用してポート 30002 の MLflow にアクセスするように config.yaml ファイルを編集しました。

MLflow にアクセスする

MLflowに関連するすべてのサービスが起動したら、指定されたNodePortまたはLoadBalancerのIPアドレス(例: http://10.61.181.109:30002