Déploiement de MLflow
Cette section décrit les tâches que vous devez effectuer pour déployer MLflow dans votre cluster Kubernetes.
|
Il est possible de déployer MLflow sur d’autres plateformes que Kubernetes. Le déploiement de MLflow sur des plateformes autres que Kubernetes n’entre pas dans le cadre de cette solution. |
Prérequis
Avant d’effectuer l’exercice de déploiement décrit dans cette section, nous supposons que vous avez déjà effectué les tâches suivantes :
-
Vous disposez déjà d’un cluster Kubernetes fonctionnel.
-
Vous avez déjà installé et configuré NetApp Trident dans votre cluster Kubernetes. Pour plus de détails sur Trident, reportez-vous au"Documentation Trident" .
Installer Helm
MLflow est déployé à l'aide de Helm, un gestionnaire de packages populaire pour Kubernetes. Avant de déployer MLflow, vous devez installer Helm sur votre nœud de contrôle Kubernetes. Pour installer Helm, suivez les instructions "instructions d'installation" dans la documentation officielle de Helm.
Définir la classe de stockage Kubernetes par défaut
Avant de déployer MLflow, vous devez désigner une StorageClass par défaut dans votre cluster Kubernetes. Pour désigner une StorageClass par défaut au sein de votre cluster, suivez les instructions décrites dans le"Déploiement de Kubeflow" section. Si vous avez déjà désigné une StorageClass par défaut au sein de votre cluster, vous pouvez ignorer cette étape.
Déployer MLflow
Une fois les prérequis remplis, vous pouvez commencer le déploiement de MLflow à l'aide du graphique Helm.
Configurer le déploiement du graphique Helm MLflow.
Avant de déployer MLflow à l'aide du graphique Helm, nous pouvons configurer le déploiement pour utiliser la classe de stockage NetApp Trident et modifier d'autres paramètres en fonction de nos besoins à l'aide d'un fichier config.yaml. Un exemple de fichier config.yaml peut être trouvé à l'adresse : https://github.com/bitnami/charts/blob/main/bitnami/mlflow/values.yaml
|
Vous pouvez définir la classe de stockage Trident sous le paramètre global.defaultStorageClass dans le fichier config.yaml (par exemple storageClass : « ontap-flexvol »). |
Installation du Helm Chart
Le graphique Helm peut être installé avec le fichier config.yaml personnalisé pour MLflow à l'aide de la commande suivante :
helm install oci://registry-1.docker.io/bitnamicharts/mlflow -f config.yaml --generate-name --namespace jupyterhub
|
La commande déploie MLflow sur le cluster Kubernetes dans la configuration personnalisée via le fichier config.yaml fourni. MLflow est déployé dans l'espace de noms donné et un nom de version aléatoire est donné via Kubernetes pour la version. |
Vérifier le déploiement
Une fois le déploiement du graphique Helm terminé, vous pouvez vérifier si le service est accessible en utilisant :
kubectl get service -n jupyterhub
|
Remplacez jupyterhub par l'espace de noms que vous avez utilisé lors du déploiement. |
Vous devriez voir les services suivants :
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
|
Nous avons modifié le fichier config.yaml pour utiliser le service NodePort pour accéder à MLflow sur le port 30002. |
Accéder à MLflow
Une fois que tous les services liés à MLflow sont opérationnels, vous pouvez y accéder en utilisant l'adresse IP NodePort ou LoadBalancer donnée (par exemple http://10.61.181.109:30002
)