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

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 StorageClass を設定します

MLflowを導入する前に、Kubernetesクラスタ内でデフォルトのStorageClassを指定する必要があります。クラスタ内でデフォルトのストレージクラスを指定するには、の手順に従ってください "Kubeflow の導入" 。クラスタ内ですでにデフォルトの StorageClass を指定している場合は、この手順を省略できます。

MLflowの展開

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

MLflow Helmチャート展開を設定します。

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

メモ Trident storageClassは、config.yamlファイルの* global.defaultStorageClass*パラメータで設定できます(例:storageClass:"ONTAP-FlexVol")。

Helmチャートのインストール

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

アクセスMLflow

MLflowに関連するすべてのサービスが起動して実行されたら、指定したNodePortまたはLoadBalancer IPアドレス(例:)を使用してMLflowにアクセスできます http://10.61.181.109:30002