सामग्री पर जाएँ

लेख

Kubeflow + Argo CD: Kubernetes पर GitOps MLOps

Kubeflow Pipelines, Trainer, KServe और Kueue के साथ Argo CD GitOps का आर्किटेक्चर मैप: Git लेआउट, sync waves, प्रमोशन गेट्स, canary serving, GPU FinOps और रोलआउट चेकलिस्ट

  • 7 मिनट में पढ़ें

यह विस्तृत संदर्भ है। पाँच मिनट की झलक के लिए सहायक ब्लॉग देखें।

Kubernetes पर Kubeflow और Argo CD GitOps MLOps

1. परिचय: MLOps को दो कंट्रोल प्लेन चाहिए

Kubernetes पर मशीन लर्निंग दो अनुमानित तरीकों से विफल होती है। टीमें या तो ट्रेनिंग को बिना lineage वाले ad-hoc Jobs का संग्रह मानती हैं, या serving को बिना ऑडिट ट्रेल वाले एक बार के kubectl apply के रूप में। Kubeflow और Argo CD उस समस्या के विपरीत आधे हिस्से हल करते हैं।

Kubeflow ML कंट्रोल प्लेन है: pipelines, वितरित ट्रेनिंग, प्रयोग ट्रैकिंग, model registry और KServe। Argo CD डिलीवरी कंट्रोल प्लेन है: pull-based GitOps ताकि क्लस्टर स्थिति Git से मेल खाए — स्वयं Kubeflow प्लेटफ़ॉर्म और हर प्रोडक्शन InferenceService सहित।

यह लेख प्लेटफ़ॉर्म और MLOps इंजीनियरों के लिए व्यावहारिक आर्किटेक्चर गाइड है। यह Kubernetes परिचय और बुनियादी GitOps समझ मानता है (हमारा पहले का Argo CD & Flux continuous delivery पोस्ट देखें)। यहाँ हम 2026 में ML वर्कलोड के लिए दोनों सिस्टम के जुड़ाव पर ध्यान देते हैं।

2. 2026 Kubernetes MLOps मैप

लाइफसाइकिल चरण टूल भूमिका
Pipeline ऑर्केस्ट्रेशनKubeflow Pipelines 2.xकंटेनराइज़्ड स्टेप्स का DAG; ट्रैक्ड runs
वितरित ट्रेनिंगKubeflow Trainer (TrainJob)PyTorch / JAX / XGBoost / DeepSpeed jobs
GPU कतारKueue (+ optional Volcano)फेयर शेयर, gang scheduling, कोटा
मॉडल servingKServeऑटोस्केल्ड InferenceService; canary splits
ऑटोस्केलिंगKEDA + HPAइवेंट-ड्रिवन स्केल, scale-to-zero सहित
डिलीवरी और रोलबैकArgo CDmanifests के लिए Git स्रोत सत्य
ऑब्ज़र्वेबिलिटीPrometheus / Grafana / drift toolsइन्फ्रा + मॉडल क्वालिटी सिग्नल

कुछ pipeline backends के अंदर अभी भी Argo Workflows दिखता है, पर authoring के लिए Kubeflow Pipelines IR / v2 और Kubernetes संसाधनों की continuous delivery के लिए Argo CD सोचें — «Argo Workflows» को «Argo CD» से न मिलाएँ।

3. स्पष्ट स्वामित्व: Kubeflow क्या करता है बनाम Argo CD क्या करता है

3.1 Kubeflow का स्वामित्व

  • ट्रेनिंग / ETL / मूल्यांकन DAGs का लेखन और चलाना
  • GPU जॉब लाइफसाइकिल और प्रयोग मेटाडेटा
  • Model Registry में मॉडल संस्करण और lineage पंजीकृत करना
  • यह परिभाषित करना कि मॉडल कैसे सर्व हो सकता है (runtime, संसाधन) — अक्सर जनरेटेड manifests के माध्यम से

3.2 Argo CD का स्वामित्व

  • Kubeflow घटकों की स्थापना और अपग्रेड (GitOps प्लेटफ़ॉर्म)
  • ट्रेनिंग शुरू करने वाले pipeline परिभाषाओं और CronWorkflows को सिंक करना
  • परिवेशों में InferenceService परिवर्तनों को प्रमोट करना
  • Git इतिहास के माध्यम से तत्काल, ऑडिटेबल रोलबैक
कठोर नियम। बड़े बाइनरी (datasets, checkpoints, ONNX/SafeTensors वेट) कभी Git में नहीं जाते। उन्हें S3/GCS/MinIO/PVC में रखें। Git में पॉइंटर (storageUri, digest, tags) और वह Kubernetes YAML रहता है जिसे Argo CD लागू करता है।

4. अनुशंसित Git लेआउट

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)

platform और application सिंक अलग रखें। डेटा साइंटिस्ट ml-apps पर PR खोलते हैं; प्लेटफ़ॉर्म इंजीनियर ml-platform के मालिक हैं। Argo CD Projects + RBAC इस्तेमाल करें ताकि खराब pipeline PR Kubeflow कंट्रोल प्लेन को न बदल सके।

5. Argo CD से Kubeflow प्रबंधन

मैन्युअल Kubeflow इंस्टॉल नाज़ुक होते हैं: कई CRDs, क्रम बाधाएँ और अपग्रेड पथ। प्लेटफ़ॉर्म को Argo CD Application (या ApplicationSet) मानें जिसमें:

  • Sync waves — प्रमाणपत्र, स्टोरेज, MySQL/Postgres (या managed DB), MinIO/S3 क्रेडेंशियल, फिर KFP / Trainer / KServe
  • Health checks — निर्भर ऐप्स सिंक करने से पहले CRDs और webhooks की प्रतीक्षा
  • प्रोडक्शन में managed सेवाएँ — जब all-in-one डेमो से आगे बढ़ें तो in-cluster MySQL/MinIO को Cloud SQL/RDS और S3 से बदलें

उदाहरण Application स्केच (उदाहरणार्थ):

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 GitOps संसाधन के रूप में

Kubeflow Pipelines v2 / Kubernetes-native APIs के साथ, संकलित pipelines क्लस्टर संसाधनों के रूप में प्रबंधित हो सकते हैं। वर्कफ़्लो बनता है:

  1. Python में pipeline लिखें (KFP SDK)
  2. YAML में संकलित करें
  3. ml-apps/pipelines/... में कमिट करें
  4. Argo CD सिंक करता है; runs UI, API, या Git में संग्रहीत CronWorkflow से ट्रिगर होते हैं

स्टेप्स पर हमेशा CPU, मेमोरी और GPU सीमाएँ सेट करें। असीमित ट्रेनिंग स्टेप्स किसी भी खराब मॉडल से तेज़ी से multi-tenant क्लस्टर बाधित करेंगे।

7. मॉडल प्रमोशन: registry → Git → Argo CD

यह महत्वपूर्ण हैंड-ऑफ है:

  1. ट्रेनिंग रन समाप्त; मूल्यांकन मेट्रिक्स थ्रेशहोल्ड पूरा करते हैं।
  2. Model Registry URI + मेटाडेटा (accuracy, fairness, signer) के साथ नया संस्करण दर्ज करता है।
  3. ऑटोमेशन (या मनुष्य) serving overlay में storageUri (और इमेज टैग / runtime) अपडेट करने वाला PR खोलता है।
  4. मर्ज के बाद Argo CD KServe रोल आउट करता है। Canary प्राथमिकता दें: canaryTrafficPercent 10% सेट करें, error rate और latency देखें, फिर प्रमोट करें।
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

रोलबैक डैशबोर्ड क्लिक नहीं है — वह URI बदलाव का git revert है। Argo CD क्लस्टर को पिछले desired state पर ठीक करता है।

8. GPUs, कोटा और FinOps

  • Kueue इस्तेमाल करें ताकि TrainJobs विफल या oversubscribe होने के बजाय fair GPU क्षमता की प्रतीक्षा करें।
  • जब संभव हो, ट्रेनिंग बनाम latency-संवेदनशील inference के लिए node pools अलग करें।
  • प्रति pipeline रन लागत ट्रैक करें (GPU-seconds × दर)। GitOps FinOps हटाता नहीं — खर्च को commit और मॉडल संस्करण से जोड़ता है।
  • NVIDIA पर MIG / time-slicing के लिए प्लेटफ़ॉर्म रेपो में पार्टिशन रणनीति दस्तावेज़ करें ताकि Argo CD-managed DevicePlugin कॉन्फ़िग सुसंगत रहें।

9. सुरक्षा और multi-tenancy

  • Kubeflow Profiles टीमें अलग करते हैं; उन्हें Argo CD Projects से मैप करें।
  • क्लाउड क्रेडेंशियल Sealed Secrets / External Secrets में रखें — Git में कभी plain ConfigMaps नहीं।
  • प्रमोशन बॉट के prod PR खोलने से पहले registry मेटाडेटा गेट्स (जैसे fairness_score, sign_off_user) आवश्यक करें।
  • Network policies: ट्रेनिंग जॉब्स को unrestricted egress नहीं चाहिए; serving pods को केवल मॉडल स्टोरेज और क्लाइंट चाहिए।

10. पॉड मेट्रिक्स से आगे ऑब्ज़र्वेबिलिटी

GPU उपयोग पर Prometheus आवश्यक है पर पर्याप्त नहीं। जोड़ें:

  • Pipeline विफलता अलर्ट (रन स्थिति, केवल Deployment CrashLoop नहीं)
  • Serving SLO: latency, error rate, saturation
  • डेटा/मॉडल drift मॉनिटर जो टिकट खोल सकें या ट्रेनिंग CronWorkflow फिर ट्रिगर करें

जब drift फायर हो, remediation पथ फिर भी GitOps होना चाहिए: नया रन → नया URI → PR → Argo CD sync — नोड पर मैन्युअल ओवरराइट नहीं।

11. रोलआउट चेकलिस्ट

  1. Argo CD इंस्टॉल करें; ml-platform और ml-apps प्रोजेक्ट बनाएँ।
  2. Sync waves के साथ GitOps से Kubeflow इंस्टॉल करें; KFP UI और KServe CRDs सत्यापित करें।
  3. Object storage + Model Registry खड़ा करें; URI कन्वेंशन दस्तावेज़ करें।
  4. एक golden path pipeline ऑनबोर्ड करें (train → evaluate → register)।
  5. पहले staging overlay के साथ Argo CD के तहत एक InferenceService जोड़ें।
  6. Canary प्रमोशन सक्षम करें; git revert ड्रिल अभ्यास करें।
  7. मल्टी-टीम रोलआउट से पहले Kueue कोटा और GPU FinOps डैशबोर्ड जोड़ें।

12. एंटी-पैटर्न

  • «सुविधा» के लिए 4 GB वेट फ़ाइलें Git LFS में कमिट करना
  • नोटबुक्स को प्रोडक्शन InferenceServices पर kubectl apply करने देना
  • एक Argo CD Application जो प्लेटफ़ॉर्म और सभी टीम pipelines मिलाती है (blast radius)
  • ट्रेनिंग स्टेप्स पर कोई resource limits नहीं
  • Argo Workflows (निष्पादन) को Argo CD (desired-state sync) से मिलाना
  • Staging छोड़ना — लैपटॉप प्रयोग से सीधे prod ट्रैफ़िक पर प्रमोट करना

13. इस स्टैक का उपयोग कब न करें

वर्कस्टेशन पर एकल निजी LLM चलाने वाले SME (हमारे AI SME Packages देखें) को पहले दिन Kubeflow + Argo CD की ज़रूरत नहीं। जब कई मॉडल, समवर्ती GPU उपयोगकर्ता, विनियमित change control, या कई समान परिवेश हों तो यह आर्किटेक्चर लाएँ।

14. निष्कर्ष

Kubeflow और Argo CD पूरक हैं। Kubeflow Kubernetes पर ML कार्य को चलाने योग्य और पुनरुत्पादनीय बनाता है। Argo CD ML इन्फ्रास्ट्रक्चर और मॉडल serving को घोषणात्मक, ऑडिटेबल और प्रतिवर्ती बनाता है। जीतने वाला पैटर्न सरल है: object storage में आर्टिफ़ैक्ट, Git में पॉइंटर और YAML, Kubeflow में ट्रेनिंग, Argo CD में डिलीवरी और रोलबैक।

सहायक ब्लॉग साझा करने योग्य सारांश है; यह लेख प्लेटफ़ॉर्म डिज़ाइन रिव्यू के लिए संदर्भ है।

TenthMatrix द्वारा प्रकाशित (tenthmatrix.com)।


इस लेख के लिए SEO स्नैपशॉट

  • SEO शीर्षक: Kubeflow + Argo CD: Kubernetes पर GitOps MLOps
  • Meta description: Kubernetes पर ट्रेन करने योग्य, ऑडिटेबल, रोलबैक-सुरक्षित ML के लिए Kubeflow Pipelines, Model Registry और KServe को Argo CD GitOps के साथ कैसे जोड़ें।
  • प्राथमिक कीवर्ड: Kubeflow Argo CD, GitOps MLOps, KServe InferenceService, Kubeflow Pipelines GitOps, ML on Kubernetes
  • Twitter / X: Kubeflow ट्रेन करता है। Argo CD डिलीवर करता है। मॉडल object storage में रहते हैं; Git में URI। TenthMatrix से पूर्ण GitOps MLOps गाइड।
  • LinkedIn: हमने Kubeflow और Argo CD जोड़ने पर गहन लेख प्रकाशित किया: platform vs apps Git लेआउट, प्रमोशन गेट्स, canary serving, GPU कोटा और git revert से रोलबैक। TenthMatrix इंजीनियरिंग से।