ML pipelines on Kubernetes are fundamentally different from traditional application deployments. Training jobs run for hours or days, not milliseconds. Data dependencies are as critical as code dependencies. Models need to be versioned, tested, validated, and deployed with rollback capability. The infrastructure must handle both batch processing (training) and real-time serving (inference) with radically different resource profiles.
The MLOps Stack on Kubernetes
A production MLOps pipeline has five stages, each with Kubernetes-native tooling:
1. Data Ingestion & Preparation
- Apache Spark on Kubernetes — Distributed data processing. Spark operator manages driver/executor lifecycle.
- Apache Airflow — Workflow orchestration for data pipelines. KubernetesExecutor runs each task as a pod.
- MinIO — S3-compatible object storage for datasets. On-cluster, eliminating cloud egress costs for data-heavy workloads.
2. Experiment Tracking
- MLflow Tracking Server — Log experiments, parameters, metrics, and artifacts. Deploy as a Kubernetes Deployment backed by PostgreSQL and MinIO.
- Alternative: Weights & Biases — Cloud-hosted or self-hosted experiment tracking with richer visualization
3. Training
- Kubeflow Training Operator — Manages distributed training jobs (PyTorchJob, TFJob, MPIJob). Handles multi-node GPU training with proper scheduling.
- Kueue — Queues training jobs and manages GPU capacity fairly across teams
- Volcano — Alternative batch scheduler with gang scheduling (all-or-nothing pod scheduling for distributed training)
4. Model Registry & Validation
- MLflow Model Registry — Version models, track lineage, manage lifecycle stages (staging → production → archived)
- Model validation — Automated testing in CI: accuracy thresholds, latency benchmarks, bias detection, data drift checks
- Promotion gates — Human approval or automated gates before promoting to production
5. Model Serving
- KServe — Kubernetes-native model serving with support for TensorFlow, PyTorch, ONNX, XGBoost, and custom inference containers. Autoscaling, canary deployments, and A/B testing built in.
- NVIDIA Triton — High-performance inference server optimized for GPU. Supports model ensembles, dynamic batching, and concurrent model execution.
- Seldon Core — Alternative serving platform with focus on model explainability and monitoring
GitOps for ML Models
Treat model deployments like application deployments:
- Training pipeline produces a model artifact → pushes to model registry
- Validation pipeline tests the model → updates GitOps repo with new model version
- ArgoCD detects the change → deploys new model version via KServe InferenceService
- Canary rollout: new model gets 10% traffic → monitor metrics → promote or rollback
The entire model lifecycle is version-controlled, auditable, and reproducible. Exactly what regulators want.
Kubernetes Recipes
Practical guide for container orchestration and deployment — hands-on patterns you can use today.
View on Amazon →Model Monitoring in Production
Deployed models degrade over time. Monitor:
- Data drift — Input feature distributions shifting from training data
- Concept drift — Relationship between features and target changing
- Performance metrics — Accuracy, precision, recall tracked continuously
- Latency and throughput — Inference performance meeting SLOs
- Resource utilization — GPU/CPU/memory consumption per model
Use Evidently AI or NannyML for drift detection. Alert when drift exceeds thresholds and trigger automated retraining pipelines.
What Open Empower Delivers
We architect and implement end-to-end MLOps pipelines on Kubernetes. From data ingestion to model serving, with GitOps-driven deployment, automated validation, and production monitoring. ML infrastructure that scales from prototype to production.
Root Cause Analysis: Principles and Benefits
Master root cause analysis techniques for systematic problem solving. In collaboration with Starweaver.
Start on Coursera →
Luca Berton
