MLflow 전개
이 섹션에서는 Kubernetes 클러스터에 MLflow를 배포하기 위해 완료해야 하는 작업에 대해 설명합니다.
Kubernetes 이외의 플랫폼에 MLflow를 구축할 수 있습니다. Kubernetes 이외의 플랫폼에 MLflow를 구축하는 것은 이 솔루션의 범위를 벗어납니다. |
필수 구성 요소
이 섹션에 요약된 배포 연습을 수행하기 전에 이미 다음 작업을 수행했다고 가정합니다.
-
Kubernetes 클러스터 작업이 이미 진행 중입니다.
-
Kubernetes 클러스터에 NetApp Trident를 이미 설치하고 구성했습니다. Trident에 대한 자세한 내용은 를 "Trident 문서"참조하십시오.
제어 장치를 설치합니다
MLflow는 Kubernetes의 인기 패키지 매니저인 Helm을 사용하여 구축됩니다. MLflow를 배포하기 전에 Kubernetes 제어 노드에 Helm을 설치해야 합니다. Helm을 설치하려면 공식 Helm 설명서의 를 "설치 지침" 따르십시오.
기본 Kubernetes StorageClass를 설정합니다
MLflow를 구축하기 전에 Kubernetes 클러스터 내에 기본 StorageClass를 지정해야 합니다. 클러스터 내에서 기본 StorageClass를 지정하려면 섹션에 설명된 지침을 "Kubeflow 구축" 따릅니다. 클러스터 내에서 기본 StorageClass를 이미 지정한 경우에는 이 단계를 건너뛸 수 있습니다.
MLflow를 배포합니다
필수 구성 요소가 충족되면 Helm Chart를 사용하여 MLflow 배포를 시작할 수 있습니다.
MLflow Helm Chart Deployment를 구성합니다.
Helm 차트를 사용하여 MLflow를 배포하기 전에 NetApp Trident 저장소 클래스를 사용하도록 배포를 구성하고 * config.yaml * 파일을 사용하여 필요에 맞게 다른 매개 변수를 변경할 수 있습니다. config.yaml* 파일의 예는 다음 웹 사이트에서 찾을 수 있습니다. https://github.com/bitnami/charts/blob/main/bitnami/mlflow/values.yaml
config.yaml 파일의 * global.defaultStorageClass* 매개 변수 아래에서 Trident storageClass 를 설정할 수 있습니다(예: storageClass:"ONTAP-FlexVol"). |
제어 차트 설치
Helm 차트는 다음 명령을 사용하여 MLflow용 custom * config.yaml * 파일과 함께 설치할 수 있습니다.
helm install oci://registry-1.docker.io/bitnamicharts/mlflow -f config.yaml --generate-name --namespace jupyterhub
이 명령은 제공된 * config.yaml * 파일을 통해 사용자 지정 구성으로 Kubernetes 클러스터의 MLflow를 배포합니다. MLflow는 지정된 네임스페이스에 배포되며 릴리스의 경우 Kubernetes를 통해 임의 릴리스 이름이 지정됩니다. |
배포를 확인합니다
제어 차트 배포가 완료된 후 다음을 사용하여 서비스에 액세스할 수 있는지 확인할 수 있습니다.
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 또는 부하 분산 장치 IP 주소(예:)를 사용하여 액세스할 수 있습니다 http://10.61.181.109:30002
.