Part 9: MLFlow — Experiment Tracking and Model Registry
MLFlow's Role in the Stack
Deploying MLFlow on Kubernetes
# infrastructure/mlflow/values.yaml
mlflow:
image:
repository: ghcr.io/mlflow/mlflow
tag: "2.11.0"
backendStore:
postgres:
enabled: true
host: mlflow-postgres.mlflow.svc.cluster.local
port: 5432
database: mlflow
user: mlflow
# Password injected from External Secrets Operator
password:
secretRef:
name: mlflow-postgres-credentials
key: password
artifactRoot:
s3:
enabled: true
bucket: go-reliable-mlflow-artifacts
# Using IAM role for service account (IRSA) — no long-lived credentials
awsServiceAccount:
create: true
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::ACCOUNT_ID:role/mlflow-artifact-store"
service:
type: ClusterIP
port: 5000
ingress:
enabled: true
host: mlflow.internal.go-reliable.dev
annotations:
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: mlflow-basic-authIntegrating MLFlow with Training Pipelines
Model Registry Lifecycle
Stage
Meaning
Who Sets It
Automated Evaluation to Staging
Production Promotion
The Model Config Service in Go
What the Audit Trail Looks Like
PreviousPart 8: MLOps with KubeFlow — Training Pipelines on KubernetesNextPart 10: LLMOps — Operating Large Language Models Reliably
Last updated