Workstation Logo
مصنوعات
AI لیبزOpenAI ایجنٹسClaude ایجنٹسGrok BotWorkstation CRM (WSL CRM)مارکیٹنگتمام مصنوعات
AI حل
AI ورک سٹیشنزAI SME Packagesپرائیویٹ AIGPU کلسٹرزایج AIانٹرپرائز AI لیبصنعت کے مطابق AI
خدمات
Platform ModernisationDigital EngineeringData Foundations & AIAutonomous OperationsAI مشاورتDevOps آٹومیشنسائبر سیکیورٹیسافٹ ویئر ڈیولپمنٹایجنٹ بلڈنگMLOps سیٹ اپ
ہمارے بارے میں
شراکت دارگاہکوں کی کہانیاں
مضامین
دستاویزات
WSL ProxyRing PromoterWSL VaultJobshoutSysOps 24/7
بلاگ
ہم سے رابطہ کریںLogin
Workstation

جدید کاروبار کے لیے AI ورک اسٹیشنز، AI ملٹی ایجنٹک سافٹ ویئر، GPU انفراسٹرکچر اور ذہین ایجنٹ حل۔

ہم سے رابطہ کریں

AI حل

AI ورک سٹیشنزAI SME Packagesپرائیویٹ AIGPU کلسٹرزایج AIانٹرپرائز AI لیبصنعت کے مطابق AI

مصنوعات

تمام مصنوعاتWSL CRM اور ERPمارکیٹنگOpenAI ایجنٹسWSL ProxyRing PromoterWSL VaultJobshoutSysOps 24/7

کمپنی

ہمارے بارے میںWorkstation کیوںشراکت دارگاہکوں کی کہانیاںقیمتیںرابطہ

وسائل

مضامیندستاویزاتبلاگتلاشسائٹ میپ
برطانیہ آفس
77-79 Marlowes, Hemel Hempstead HP1 1LFراستہ - M25 آؤٹر لندن سے جنکشن 20 لیںکمپنی نمبر: 11641870پیر - جمعہ: صبح 9:00 - شام 6:00 GMT
+44 7515 356 146
بیلجیم آفس
Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, BrusselsBE 0751.518.683پیر - جمعہ: صبح 9:00 - شام 6:00 CET
+32 492 45 67 46
بھارت آفس
#159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

© 2026 Workstation AI۔ جملہ حقوق محفوظ ہیں۔

رازداریکوکیزسروس کی شرائطویب سائٹ سائٹ میپ

Loading blog...

Home / Blog
DevOpsKubernetesRke2

Kubernetes مسلسل ترسیل: ArgoCD اور Flux کے ساتھ GitOps پائپ لائنز

ArgoCD اور Flux کے ساتھ GitOps کا استعمال کرتے ہوئے Kubernetes کے لیے قابل اعتماد، خودکار تعیناتی پائپ لائنز بنائیں

Balinder Walia27 مئی، 202510 min read

Kubernetes پر مسلسل ڈیلیوری آسان سے کہیں زیادہ ترقی کر چکی ہے۔ kubectl apply احکامات جدید ٹیمیں GitOps کو اپنا رہی ہیں، ایک ایسا نمونہ جو Git کو اعلانیہ انفراسٹرکچر اور ایپلیکیشن کنفیگریشن کے لیے سچائی کے واحد ذریعہ کے طور پر استعمال کرتا ہے۔ GitOps اصولوں کو ArgoCD اور Flux CD جیسے ٹولز کے ساتھ جوڑ کر، تنظیمیں قابل اعتماد، قابل سماعت، اور خودکار تعیناتی پائپ لائنز حاصل کر سکتی ہیں جو کلسٹرز اور ماحول میں پھیلتی ہیں۔

یہ گائیڈ GitOps اپروچ کا استعمال کرتے ہوئے Kubernetes پر پروڈکشن گریڈ کی مسلسل ڈیلیوری پائپ لائنز بنانے کے لیے فن تعمیر، سیٹ اپ، اور بہترین طریقوں کا احاطہ کرتا ہے۔

GitOps اصول

GitOps کو چار بنیادی اصولوں پر بنایا گیا ہے جو بنیادی طور پر ٹیموں کی تعیناتیوں کا انتظام کرنے کے طریقے کو تبدیل کرتے ہیں:

GitOps کے ساتھ CI/CD پائپ لائنگٹ پشماخذ کوڈتعمیر کریں۔کمپائل اور لنٹٹیسٹیونٹ اور انضمامرجسٹریامیج پشK8s پر تعینات کریں۔آرگو سی ڈی / فلوکسآرگو سی ڈیمطابقت پذیری اور مصالحتفلوکس سی ڈیGit Reconcilerگٹ ریپوزٹری = سچائی کا واحد ذریعہ
  • اعلامیہ کنفیگریشن - آپ کے سسٹم کی پوری مطلوبہ حالت کو اعلانیہ طور پر بیان کیا گیا ہے۔ Kubernetes کے لیے، اس کا مطلب ہے YAML مینی فیسٹ، ہیلم چارٹس، یا Git میں اسٹور کردہ Kustomize اوورلیز۔
  • ورژن کنٹرول شدہ - گٹ سچائی کے واحد ذریعہ کے طور پر کام کرتا ہے۔ ہر تبدیلی پل کی درخواست سے گزرتی ہے، مکمل آڈٹ ٹریل فراہم کرتی ہے اور کمٹ کو واپس کر کے آسان رول بیکس کو فعال کرتی ہے۔
  • خودکار مفاہمت - کلسٹر میں چلنے والا ایک ایجنٹ مسلسل Git میں مطلوبہ حالت کا کلسٹر میں اصل حالت سے موازنہ کرتا ہے اور خود بخود کسی بھی بڑھے ہوئے کو ملا دیتا ہے۔
  • مسلسل مشاہدہ - نظام گٹ ریپوزٹری اور کلسٹر حالت دونوں کی مسلسل نگرانی کرتا ہے، انحراف پر الرٹ کرتا ہے اور اس بات کو یقینی بناتا ہے کہ کلسٹر ہمیشہ اعلان کردہ کنفیگریشن سے میل کھاتا ہے۔

یہ اصول دستی تعیناتی کے مراحل کو ختم کرتے ہیں، انسانی غلطی کو کم کرتے ہیں، اور کلسٹر پیچیدگی سے قطع نظر ایک مستقل ورک فلو فراہم کرتے ہیں۔

آرگو سی ڈی آرکیٹیکچر اور سیٹ اپ

ArgoCD Kubernetes کے لیے سب سے زیادہ وسیع پیمانے پر اپنایا جانے والا GitOps ٹول ہے۔ یہ کلسٹرز میں ایپلیکیشن کی تعیناتیوں کے انتظام کے لیے ایک طاقتور ویب UI، CLI، اور API فراہم کرتا ہے۔

GitOps ورک فلوڈویلپرپش / پی آر ضم کریں۔گٹ ریپوزٹریمطلوبہ ریاستآرگو سی ڈیریپو گھڑیاںبڑھنے کا پتہ لگاتا ہے۔K8s کلسٹرزندہ ریاستخودکار مطابقت پذیررول بیک = گٹ ریورٹآڈٹ ٹریل: ہر تعیناتی ایک گٹ کمٹ ہے۔

بنیادی اجزاء

ArgoCD کئی اہم اجزاء پر مشتمل ہے جو مل کر کام کرتے ہیں:

  • API سرور - ایک gRPC/REST API کو ظاہر کرتا ہے اور ویب UI کو پیش کرتا ہے۔ تصدیق، RBAC، اور بیرونی انضمام کو ہینڈل کرتا ہے۔
  • ذخیرہ سرور - گٹ ریپوزٹریوں کو کلون کرتا ہے اور ہیلم چارٹس، کسٹمائز، یا سادہ YAML سے Kubernetes ظاہر کرتا ہے۔
  • ایپلیکیشن کنٹرولر - چل رہی ایپلیکیشنز کی مسلسل نگرانی کرتا ہے اور لائیو اسٹیٹ کا موازنہ Git میں مطلوبہ ریاست سے کرتا ہے۔
  • ریڈیس - ریپوزٹری سرور اور ایپلیکیشن کنٹرولر کے لیے کیشنگ فراہم کرتا ہے۔

تنصیب

سرکاری منشور یا ہیلم چارٹ کا استعمال کرتے ہوئے ArgoCD کو اپنے کلسٹر میں تعینات کریں:

# Create namespace and install ArgoCD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

# Or via Helm
helm repo add argo https://argoproj.github.io/argo-helm
helm install argocd argo/argo-cd \
  --namespace argocd \
  --create-namespace \
  --set server.service.type=LoadBalancer

ایپلی کیشنز کی تعریف

ArgoCD ایک استعمال کرتا ہے۔ Application کسٹم ریسورس کی وضاحت کرنے کے لیے کہ کیا اور کہاں تعینات کرنا ہے۔ یہاں ایک عام اطلاق کی تعریف ہے:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-web-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/k8s-manifests.git
    targetRevision: main
    path: apps/my-web-app/overlays/production
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true
    retry:
      limit: 5
      backoff:
        duration: 5s
        factor: 2
        maxDuration: 3m

دی syncPolicy.automated سیکشن خودکار مطابقت پذیری کو قابل بناتا ہے۔ دی prune آپشن ان وسائل کو ہٹاتا ہے جن کی اب گٹ میں وضاحت نہیں کی گئی ہے، جبکہ selfHeal دستی تبدیلیوں کو براہ راست کلسٹر میں لوٹاتا ہے۔

فلکس سی ڈی: ایک متبادل نقطہ نظر

فلکس سی ڈی GitOps کے لیے ایک مختلف آرکیٹیکچرل اپروچ لیتی ہے۔ UI کے ساتھ مرکزی سرور کے بجائے، Flux Kubernetes کنٹرولرز کے ایک سیٹ کے طور پر کام کرتا ہے جو ہر ایک مخصوص تشویش کو سنبھالتا ہے۔

بہاؤ اجزاء

  • ماخذ کنٹرولر - گٹ ریپوزٹریز، ہیلم ریپوزٹریز، اور او سی آئی آرٹفیکٹ ذرائع کا انتظام کرتا ہے۔
  • کسٹمائز کنٹرولر - کسٹمائز اوورلیز اور سادہ YAML مینی فیسٹس کو لاگو کرتا ہے۔
  • ہیلم کنٹرولر - ہیلم چارٹ کی ریلیز کا انتظام کرتا ہے۔ HelmRelease اپنی مرضی کے وسائل.
  • نوٹیفکیشن کنٹرولر - ان باؤنڈ اور آؤٹ باؤنڈ ایونٹس کو ہینڈل کرتا ہے، سلیک، ٹیمز، اور ویب ہک فراہم کنندگان کے ساتھ مل کر۔
  • امیج آٹومیشن کنٹرولرز - نئی تصاویر دستیاب ہونے پر کنٹینر کی رجسٹریوں کو اسکین کریں اور مینی فیسٹس کو اپ ڈیٹ کریں۔

فلوکس بوٹسٹریپ

# Bootstrap Flux on a cluster with a GitHub repository
flux bootstrap github \
  --owner=myorg \
  --repository=fleet-infra \
  --branch=main \
  --path=clusters/production \
  --personal

# Define a HelmRelease
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: nginx-ingress
  namespace: ingress-system
spec:
  interval: 5m
  chart:
    spec:
      chart: ingress-nginx
      version: "4.x"
      sourceRef:
        kind: HelmRepository
        name: ingress-nginx
        namespace: flux-system
  values:
    controller:
      replicaCount: 3
      metrics:
        enabled: true

ArgoCD بمقابلہ فلوکس: کب کون سا انتخاب کریں۔

جب آپ کو مرئیت کے لیے ایک بھرپور ویب UI، عمدہ RBAC کے ساتھ کثیر کرایہ داری، اور مرکزی انتظامی جہاز کی ضرورت ہو تو ArgoCD مثالی ہے۔ فلکس ایسے ماحول میں چمکتا ہے جو ہلکے وزن والے، کنٹرولر پر مبنی فن تعمیر کو ترجیح دیتے ہیں، تصویر آٹومیشن کی صلاحیتوں کی ضرورت ہے، یا Kubernetes API ماحولیاتی نظام کے ساتھ گہرا انضمام چاہتے ہیں۔

GitOps میں ہیلم چارٹ کا انتظام

ہیلم چارٹس Kubernetes ایپلی کیشنز کے لیے ڈی فیکٹو پیکیجنگ فارمیٹ ہیں۔ GitOps ورک فلو میں، تمام ماحول میں ہیلم کی اقدار کو منظم کرنے کے لیے محتاط تنظیم کی ضرورت ہوتی ہے۔

# Repository structure for multi-environment Helm management
k8s-manifests/
  base/
    my-app/
      Chart.yaml
      values.yaml          # Default values
      templates/
        deployment.yaml
        service.yaml
        ingress.yaml
  environments/
    dev/
      my-app/
        values.yaml        # Dev overrides
    staging/
      my-app/
        values.yaml        # Staging overrides
    production/
      my-app/
        values.yaml        # Production overrides

ArgoCD اور Flux دونوں ہیلم کو مقامی طور پر سپورٹ کرتے ہیں۔ ArgoCD اپنے ریپوزٹری سرور کے ذریعے چارٹ سرور کی طرف پیش کرتا ہے، جبکہ Flux ہیلم SDK کو براہ راست اپنے ہیلم کنٹرولر کے اندر استعمال کرتا ہے۔

تعیناتی کی حکمت عملی

درست تعیناتی کی حکمت عملی کا انتخاب خطرے کو کم کرتا ہے اور صفر-ڈاؤن ٹائم ریلیز کو یقینی بناتا ہے۔

رولنگ اپڈیٹس

پہلے سے طے شدہ Kubernetes حکمت عملی۔ پھلیوں کو آہستہ آہستہ نئے ورژن سے تبدیل کیا جاتا ہے۔ ترتیب دیں۔ maxSurge اور maxUnavailable رول آؤٹ کی رفتار کو کنٹرول کرنے کے لیے۔

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  template:
    spec:
      containers:
        - name: app
          image: myapp:v2.1.0
          readinessProbe:
            httpGet:
              path: /health
              port: 8080
            initialDelaySeconds: 5
            periodSeconds: 10

بلیو گرین تعیناتیاں

دو ایک جیسے ماحول چلائیں (نیلے اور سبز)۔ نئے ورژن کو غیر فعال ماحول میں تعینات کریں، اس کی تصدیق کریں، پھر ٹریفک کو تبدیل کریں۔ یہ پچھلے ماحول میں واپس جا کر فوری رول بیک فراہم کرتا ہے۔ سروس لیبل سلیکٹرز یا Istio ٹریفک مینجمنٹ کے ساتھ لاگو کریں۔

کینری تعیناتیاں

دھیرے دھیرے ٹریفک کے ایک چھوٹے سے فیصد کو نئے ورژن کی طرف روٹ کریں، جیسے جیسے اعتماد بڑھتا جائے اس فیصد میں اضافہ ہوتا جائے۔ Flagger اور Argo Rollouts جیسے ٹولز میٹرکس پر مبنی پروموشن کے ساتھ کینری تجزیہ کو خودکار بناتے ہیں۔

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: my-app
spec:
  replicas: 5
  strategy:
    canary:
      steps:
        - setWeight: 10
        - pause: { duration: 5m }
        - setWeight: 30
        - pause: { duration: 5m }
        - setWeight: 60
        - pause: { duration: 5m }
      canaryService: my-app-canary
      stableService: my-app-stable
      trafficRouting:
        istio:
          virtualService:
            name: my-app-vsvc
            routes:
              - primary

خودکار رول بیکس

GitOps رول بیکس کو سیدھا بناتا ہے: صرف Git کمٹ کو واپس لوٹائیں۔ تاہم، صحت کی جانچ پر مبنی خودکار رول بیکس ایک اضافی حفاظتی جال فراہم کرتے ہیں۔

ArgoCD اپنے مطابقت پذیری اور صحت کی تشخیص کے نظام کے ذریعے خودکار رول بیکس کو سپورٹ کرتا ہے۔ اگر کوئی ایپلی کیشن مطابقت پذیری کے بعد انحطاط شدہ حالت میں داخل ہوتی ہے، تو ArgoCD خود بخود آخری معلوم اچھی حالت میں واپس آ سکتی ہے۔

مزید نفیس رول بیک منظرناموں کے لیے، Argo Rollouts اور Flagger Prometheus میٹرکس کا تجزیہ کر سکتے ہیں، خودکار ٹیسٹ چلا سکتے ہیں، اور انحطاطی کارکردگی کو ظاہر کرنے والے رول آؤٹ کو روک سکتے ہیں۔

مہربند رازوں کے ساتھ راز کا انتظام

Git میں راز کو ذخیرہ کرنا GitOps کے لیے ایک اہم چیلنج ہے۔ سیل شدہ راز اس کو خفیہ کر کے حل کرتے ہیں جنہیں صرف ٹارگٹ کلسٹر میں چلنے والے کنٹرولر کے ذریعے ہی ڈکرپٹ کیا جا سکتا ہے۔

# Install Sealed Secrets controller
helm repo add sealed-secrets https://bitnami-labs.github.io/sealed-secrets
helm install sealed-secrets sealed-secrets/sealed-secrets \
  --namespace kube-system

# Encrypt a secret
kubectl create secret generic db-credentials \
  --from-literal=username=admin \
  --from-literal=password=s3cure-p@ss \
  --dry-run=client -o yaml | \
  kubeseal --format yaml > db-credentials-sealed.yaml

نتیجے میں SealedSecret وسیلہ محفوظ طریقے سے گٹ کے ساتھ وابستہ ہوسکتا ہے۔ ٹارگٹ کلسٹر میں صرف سیل شدہ سیکرٹس کنٹرولر کے پاس نجی کلید ہوتی ہے جو اسے ڈکرپٹ کرنے کے لیے درکار ہوتی ہے۔ متبادل طریقوں میں ایکسٹرنل سیکرٹس آپریٹر (AWS سیکرٹس مینیجر، HashiCorp والٹ وغیرہ سے نکالنے کے لیے) اور فائل لیول انکرپشن کے لیے SOPS شامل ہیں۔

نگرانی کی تعیناتی۔

GitOps پائپ لائنوں کی پیداوار کے لیے تعیناتی کی حیثیت میں مرئیت ضروری ہے۔ متعدد سطحوں پر نگرانی کو نافذ کریں:

  • ArgoCD میٹرکس - ArgoCD مطابقت پذیری کی حیثیت، صحت، اور آپریشن کے دورانیے کے لیے Prometheus میٹرکس کو بے نقاب کرتا ہے۔ تعیناتی فریکوئنسی اور ناکامی کی شرح کو ٹریک کرنے کے لیے گرافانا ڈیش بورڈز بنائیں۔
  • Kubernetes واقعات - مسائل کا جلد پتہ لگانے کے لیے پوڈ شیڈولنگ، امیج پل، اور ریڈی نیس پروب ایونٹس کی نگرانی کریں۔
  • ایپلیکیشن ہیلتھ چیکس - Lua اسکرپٹس کا استعمال کرتے ہوئے ArgoCD میں اپنی مرضی کے مطابق صحت کی جانچ کو ترتیب دیں تاکہ آپ کے مخصوص وسائل کے لیے "صحت مند" کا کیا مطلب ہو۔
  • خبردار کرنا - آرگو سی ڈی اطلاعات کو سلیک، پیجر ڈیوٹی، یا ای میل کے ساتھ مربوط کریں تاکہ ہم آہنگی کی ناکامیوں، صحت کی کمی، یا بڑھے ہوئے پتہ لگانے پر الرٹ کریں۔
# ArgoCD Notification ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-notifications-cm
  namespace: argocd
data:
  trigger.on-sync-failed: |
    - when: app.status.operationState.phase in ['Error', 'Failed']
      send: [slack-notification]
  template.slack-notification: |
    message: |
      Application {{.app.metadata.name}} sync {{.app.status.operationState.phase}}.
      Revision: {{.app.status.sync.revision}}
  service.slack: |
    token: $slack-token
    channel: deployments

ملٹی کلسٹر ڈیلیوری

تنظیموں کے پیمانے کے طور پر، متعدد کلسٹرز میں تعیناتی ضروری ہو جاتی ہے۔ ArgoCD بیرونی کلسٹرز کو رجسٹر کرکے مقامی طور پر ملٹی کلسٹر مینجمنٹ کی حمایت کرتا ہے۔ Flux یہ ایک مینجمنٹ کلسٹر کے ذریعے حاصل کرتا ہے جو کام کے بوجھ کے کلسٹرز کو بوٹسٹریپ کرتا ہے۔

ArgoCD میں ApplicationSet کنٹرولر خاص طور پر ملٹی کلسٹر منظرناموں کے لیے طاقتور ہے۔ یہ کلسٹر لسٹوں، گٹ ڈائریکٹریز، یا پل ریکوئسٹ ایونٹس کی بنیاد پر ایپلیکیشن کے وسائل کو متحرک طور پر تیار کر سکتا ہے۔

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: my-app-set
  namespace: argocd
spec:
  generators:
    - clusters:
        selector:
          matchLabels:
            env: production
  template:
    metadata:
      name: 'my-app-{{name}}'
    spec:
      project: default
      source:
        repoURL: https://github.com/myorg/k8s-manifests.git
        targetRevision: main
        path: 'apps/my-app/overlays/{{metadata.labels.region}}'
      destination:
        server: '{{server}}'
        namespace: my-app

نتیجہ

ArgoCD یا Flux CD کے ساتھ GitOps Kubernetes مسلسل ترسیل کے لیے ایک مضبوط بنیاد فراہم کرتا ہے۔ Git کو سچائی کا ماخذ سمجھ کر، خودکار مفاہمت، اور ترقی پسند ڈیلیوری کی حکمت عملیوں کا فائدہ اٹھا کر، ٹیمیں اعتماد کے ساتھ تعینات کر سکتی ہیں اور ناکامیوں سے جلد باز آ سکتی ہیں۔ ایک سادہ سنگل کلسٹر سیٹ اپ کے ساتھ شروع کریں، اپنے Git ریپوزٹری کا ڈھانچہ قائم کریں، اور آپ کے پلیٹ فارم کے پختہ ہونے کے ساتھ ساتھ کینری تعیناتیوں، ملٹی کلسٹر مینجمنٹ، اور خودکار رول بیک پالیسیوں جیسے جدید نمونوں کو اپنائیں

GitOps انفراسٹرکچر میں سرمایہ کاری بہتر وشوسنییتا، تیز تر واقعے کے ردعمل، مکمل آڈٹ ٹریلز، اور ڈیولپر کے تجربے کے ذریعے منافع کی ادائیگی کرتی ہے جو کہ تعیناتیوں کو پل کی درخواست کو ضم کرنے کی طرح آسان بناتا ہے۔