Despliegue de MLflow
Esta sección describe las tareas que debe completar para implementar MLflow en su clúster de Kubernetes.
Es posible poner en marcha MLflow en plataformas que no sean Kubernetes. La implementación de MLflow en plataformas distintas de Kubernetes no está incluida en el alcance de esta solución. |
Requisitos previos
Antes de realizar el ejercicio de implementación descrito en esta sección, asumimos que ya ha realizado las siguientes tareas:
-
Ya tiene un clúster de Kubernetes en funcionamiento.
-
Ya ha instalado y configurado NetApp Trident en su clúster de Kubernetes. Para obtener más información sobre Trident, consulte la "Documentación de Trident".
Instale el Helm
MLflow se implementa usando Helm, un popular administrador de paquetes para Kubernetes. Antes de implementar MLflow, debes instalar Helm en tu nodo de control de Kubernetes. Para instalar Helm, siga el "instrucciones de instalación" en la documentación oficial de Helm.
Establezca el tipo de almacenamiento de Kubernetes predeterminado
Antes de implementar MLflow, debe designar un StorageClass predeterminado dentro de su clúster de Kubernetes. Para designar una clase de almacenamiento predeterminada en su clúster, siga las instrucciones descritas en la "Despliegue de Kubeflow" sección. Si ya ha designado un tipo de almacenamiento predeterminado en el clúster, puede omitir este paso.
Desplegar MLflow
Una vez que se hayan cumplido los requisitos previos, puede comenzar con el despliegue de MLflow utilizando el diagrama de timón.
Configurar el despliegue de gráficos de Helm de MLflow.
Antes de implementar MLflow usando el diagrama Helm, podemos configurar la implementación para usar la clase de almacenamiento de NetApp Trident y cambiar otros parámetros para satisfacer nuestras necesidades utilizando un archivo config.yaml. Un ejemplo de archivo config.yaml se puede encontrar en: https://github.com/bitnami/charts/blob/main/bitnami/mlflow/values.yaml
Puede establecer la clase de almacenamiento de Trident con el parámetro global.defaultStorageClass en el archivo config.yaml (por ejemplo, storageClass: «ontap-flexvol»). |
Instalación de la tabla Helm Chart
El diagrama Helm se puede instalar con el archivo personalizado config.yaml para MLflow usando el siguiente comando:
helm install oci://registry-1.docker.io/bitnamicharts/mlflow -f config.yaml --generate-name --namespace jupyterhub
El comando implementa MLflow en el clúster de Kubernetes en la configuración personalizada a través del archivo config.yaml proporcionado. MLflow se implementa en el espacio de nombres dado y se da un nombre de versión aleatorio a través de kubernetes para el lanzamiento. |
Comprobar despliegue
Una vez que el diagrama de Helm haya terminado de desplegarse, puede comprobar si el servicio es accesible mediante:
kubectl get service -n jupyterhub
Reemplace jupyterhub con el espacio de nombres que utilizó durante la implementación. |
Deberías ver los siguientes servicios:
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
Editamos el archivo config.yaml para usar el servicio NodePort para acceder a MLflow en el puerto 30002. |
Acceder a MLflow
Una vez que todos los servicios relacionados con MLflow estén activos y en ejecución, puede acceder a ellos utilizando la dirección IP de NodePort o LoadBalancer (por ejemplo http://10.61.181.109:30002
)