Naar inhoud

Artikel

Kubeflow + Argo CD: GitOps MLOps op Kubernetes

Architectuurkaart voor Kubeflow Pipelines, Trainer, KServe en Kueue met Argo CD GitOps: Git-indeling, sync waves, promotiepoorten, canary serving, GPU FinOps en rollout-checklist

  • 6 min lezen

Dit is de uitgebreide referentie. Voor een skim van vijf minuten, zie de companion blog.

Kubeflow en Argo CD GitOps MLOps op Kubernetes

1. Inleiding: MLOps heeft twee control planes nodig

Machine learning op Kubernetes faalt op twee voorspelbare manieren. Teams behandelen training als een verzameling ad-hoc Jobs zonder lineage, of serving als een eenmalige kubectl apply zonder audittrail. Kubeflow en Argo CD adresseren tegenovergestelde helften van dat probleem.

Kubeflow is het ML-control plane: pipelines, distributed training, experiment tracking, model registry en KServe. Argo CD is het delivery-control plane: pull-based GitOps zodat clusterstate overeenkomt met Git — inclusief het Kubeflow-platform zelf en elke productie-InferenceService.

Dit artikel is een praktische architectuurgids voor platform- en MLOps-engineers. Het veronderstelt Kubernetes-kennis en dat u basis-GitOps al begrijpt (zie onze eerdere Argo CD & Flux continuous delivery-post). Hier focussen we op hoe de twee systemen samenkomen voor ML-workloads in 2026.

2. De Kubernetes MLOps-kaart van 2026

Levenscyclusfase Tool Rol
Pipeline-orkestratieKubeflow Pipelines 2.xDAG van gecontaineriseerde stappen; getrackte runs
Distributed trainingKubeflow Trainer (TrainJob)PyTorch / JAX / XGBoost / DeepSpeed jobs
GPU-wachtrijKueue (+ optional Volcano)Fair share, gang scheduling, quota’s
Model servingKServeAutoscaled InferenceService; canary splits
AutoscalingKEDA + HPAEvent-driven scale, inclusief scale-to-zero
Delivery & rollbackArgo CDGit als bron van waarheid voor manifests
ObservabilityPrometheus / Grafana / drift toolsInfra- + modelkwaliteitssignalen

Argo Workflows verschijnt nog onder de motorkap voor sommige pipeline-backends, maar u moet denken in Kubeflow Pipelines IR / v2 voor authoring en Argo CD voor continuous delivery van Kubernetes-resources — verwar “Argo Workflows” niet met “Argo CD”.

3. Duidelijk eigendom: wat Kubeflow doet vs wat Argo CD doet

3.1 Kubeflow bezit

  • Authoring en uitvoeren van training- / ETL- / evaluatie-DAG’s
  • GPU-job lifecycle en experimentmetadata
  • Registreren van modelversies en lineage in de Model Registry
  • Definiëren hoe een model zou kunnen worden geserveerd (runtime, resources) — vaak via gegenereerde manifests

3.2 Argo CD bezit

  • Installeren en upgraden van Kubeflow-componenten (GitOps-platform)
  • Syncen van pipelinedefinities en CronWorkflows die training starten
  • Promoten van InferenceService-wijzigingen tussen omgevingen
  • Directe, auditbare rollback via Git-geschiedenis
Harde regel. Grote binaries (datasets, checkpoints, ONNX/SafeTensors-weights) gaan nooit in Git. Sla ze op in S3/GCS/MinIO/PVC. Git houdt de pointer (storageUri, digest, tags) en de Kubernetes-YAML die Argo CD toepast.

4. Aanbevolen Git-indeling

ml-platform/                 # Argo CD App: install Kubeflow once
  overlays/
    staging/
    production/
ml-apps/                     # Argo CD App-of-Apps or projects
  pipelines/
    fraud-detector/
  serving/
    fraud-detector/
      base/inferenceservice.yaml
      overlays/
        staging/
        production/
  components/                # reusable KFP components (OCI or YAML)

Houd platform- en application-syncs gescheiden. Data scientists openen PR’s tegen ml-apps; platformengineers bezitten ml-platform. Gebruik Argo CD Projects + RBAC zodat een slechte pipeline-PR het Kubeflow-control plane niet kan herschrijven.

5. Kubeflow beheren met Argo CD

Handmatige Kubeflow-installaties zijn fragiel: veel CRD’s, volgordebeperkingen en upgrade-paden. Behandel het platform als een Argo CD Application (of ApplicationSet) met:

  • Sync waves — certificaten, storage, MySQL/Postgres (of managed DB), MinIO/S3-credentials, daarna KFP / Trainer / KServe
  • Health checks — wacht op CRD’s en webhooks voordat afhankelijke apps worden gesynchroniseerd
  • Managed services in productie — vervang in-cluster MySQL/MinIO door Cloud SQL/RDS en S3 wanneer u de all-in-one-demo ontgroeit

Voorbeeld Application-schets (illustratief):

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: kubeflow-platform
  namespace: argocd
  annotations:
    argocd.argoproj.io/sync-wave: "0"
spec:
  project: ml-platform
  source:
    repoURL: https://git.example.com/org/ml-platform.git
    targetRevision: main
    path: overlays/production
  destination:
    server: https://kubernetes.default.svc
    namespace: kubeflow
  syncPolicy:
    automated:
      prune: false
      selfHeal: true
    syncOptions:
      - CreateNamespace=true
      - ServerSideApply=true

6. Pipelines als GitOps-resources

Met Kubeflow Pipelines v2 / Kubernetes-native API’s kunnen gecompileerde pipelines als clusterresources worden beheerd. De workflow wordt:

  1. Pipeline authoren in Python (KFP SDK)
  2. Compileren naar YAML
  3. Committen naar ml-apps/pipelines/...
  4. Argo CD synct; runs worden getriggerd via UI, API of CronWorkflow die ook in Git staat

Stel altijd CPU-, geheugen- en GPU-limieten in op stappen. Ongelimiteerde trainingsstappen verstoren multi-tenant clusters sneller dan enig slecht model.

7. Modelpromotie: registry → Git → Argo CD

Dit is de kritieke hand-off:

  1. Trainingsrun eindigt; evaluatiemetrics voldoen aan drempels.
  2. Model Registry registreert een nieuwe versie met URI + metadata (accuracy, fairness, signer).
  3. Automatisering (of een mens) opent een PR die storageUri (en image-tag / runtime) bijwerkt in de serving-overlay.
  4. Na merge rollt Argo CD KServe uit. Geef de voorkeur aan canary: zet canaryTrafficPercent op 10%, bekijk error rate en latency, promoveer dan.
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  name: fraud-detector
spec:
  predictor:
    model:
      modelFormat:
        name: sklearn
      storageUri: s3://models/fraud/v1.4.2/
      resources:
        requests:
          cpu: "1"
          memory: 2Gi
        limits:
          cpu: "2"
          memory: 4Gi

Rollback is geen dashboardklik — het is git revert van die URI-wijziging. Argo CD herstelt het cluster naar de vorige desired state.

8. GPU’s, quota’s en FinOps

  • Gebruik Kueue zodat TrainJobs wachten op eerlijke GPU-capaciteit in plaats van te falen of te oversubscriben.
  • Scheid node pools voor training vs latency-gevoelige inferentie waar mogelijk.
  • Volg kosten per pipeline-run (GPU-seconds × tarief). GitOps verwijdert FinOps niet — het maakt spend toeschrijfbaar aan een commit en een modelversie.
  • Voor MIG / time-slicing op NVIDIA: documenteer de partitiestrategie in het platformrepo zodat Argo CD-beheerde DevicePlugin-configs consistent blijven.

9. Security en multi-tenancy

  • Kubeflow Profiles isoleren teams; map ze naar Argo CD Projects.
  • Sla cloudcredentials op in Sealed Secrets / External Secrets — nooit plain ConfigMaps in Git.
  • Eis registry-metadatagates (bijv. fairness_score, sign_off_user) voordat een promotiebot een prod-PR mag openen.
  • Network policies: trainingsjobs zouden geen unrestricted egress nodig moeten hebben; serving-pods hebben alleen modelstorage en clients nodig.

10. Observability voorbij pod-metrics

Prometheus op GPU-utilisatie is nodig maar niet voldoende. Koppel:

  • Pipeline-failure alerts (runstatus, niet alleen Deployment CrashLoop)
  • Serving-SLO: latency, error rate, saturatie
  • Data-/modeldrift-monitors die een ticket kunnen openen of een trainings-CronWorkflow opnieuw triggeren

Wanneer drift afgaat, moet het remediatiepad nog steeds GitOps zijn: nieuwe run → nieuwe URI → PR → Argo CD-sync — geen handmatige overwrite op de node.

11. Rollout-checklist

  1. Installeer Argo CD; maak ml-platform- en ml-apps-projecten.
  2. GitOps-installeer Kubeflow met sync waves; verifieer KFP UI en KServe CRD’s.
  3. Zet object storage + Model Registry op; documenteer URI-conventies.
  4. Onboard één golden-path-pipeline (train → evaluate → register).
  5. Voeg één InferenceService onder Argo CD toe met eerst staging-overlay.
  6. Schakel canary-promotie in; oefen een git revert-drill.
  7. Voeg Kueue-quota’s en GPU FinOps-dashboards toe vóór multi-team rollout.

12. Anti-patterns

  • 4 GB weight-bestanden committen naar Git LFS “voor het gemak”
  • Notebooks kubectl apply laten doen op productie-InferenceServices
  • Eén Argo CD Application die platform en alle teampipelines mengt (blast radius)
  • Geen resource limits op trainingsstappen
  • Argo Workflows (uitvoering) verwarren met Argo CD (desired-state sync)
  • Staging overslaan — rechtstreeks van laptopexperiment naar prod-verkeer promoveren

13. Wanneer deze stack niet gebruiken

MKB’s die één private LLM op een workstation draaien (zie onze AI SME Packages) hebben Kubeflow + Argo CD niet nodig op dag één. Introduceer deze architectuur wanneer u meerdere modellen, gelijktijdige GPU-gebruikers, gereguleerde change control, of meerdere omgevingen heeft die identiek moeten blijven.

14. Conclusie

Kubeflow en Argo CD zijn complementair. Kubeflow maakt ML-werk uitvoerbaar en reproduceerbaar op Kubernetes. Argo CD maakt ML-infrastructuur en model serving declaratief, auditbaar en omkeerbaar. Het winnende patroon is eenvoudig: artifacts in object storage, pointers en YAML in Git, training in Kubeflow, delivery en rollback in Argo CD.

De blogpost is de deelbare samenvatting; dit artikel is de referentie voor platform design reviews.

Gepubliceerd door TenthMatrix (tenthmatrix.com).


SEO-snapshot voor dit artikel

  • SEO-titel: Kubeflow + Argo CD: GitOps MLOps op Kubernetes
  • Meta description: Hoe Kubeflow Pipelines, Model Registry en KServe te combineren met Argo CD GitOps voor trainbare, auditbare, rollback-veilige ML op Kubernetes.
  • Primaire keywords: Kubeflow Argo CD, GitOps MLOps, KServe InferenceService, Kubeflow Pipelines GitOps, ML on Kubernetes
  • Twitter / X: Kubeflow traint. Argo CD levert. Modellen blijven in object storage; Git houdt URI’s. Volledige GitOps MLOps-gids van TenthMatrix.
  • LinkedIn: We publiceerden een deep dive over het koppelen van Kubeflow en Argo CD: platform vs apps Git-indeling, promotiepoorten, canary serving, GPU-quota’s en rollback via git revert. Van TenthMatrix engineering.