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 Promoter
ਬਲੌਗ
ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋLogin
Workstation

AI workstations, AI Multi Agentic Software, GPU infrastructure, and intelligent agent solutions for modern businesses.

ਯੂਕੇ ਦਫ਼ਤਰ: 77-79 Marlowes, Hemel Hempstead HP1 1LF - Directions - Take Junction 20 off M25 Outer London
Company No: 11641870
Mon - Fri: 9:00 AM - 6:00 PM GMT
+44 7515 356 146

ਬੈਲਜੀਅਮ ਦਫ਼ਤਰ: Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, Brussels
BE 0751.518.683
Mon - Fri: 9:00 AM - 6:00 PM CET
+32 492 45 67 46

ਭਾਰਤ ਦਫ਼ਤਰ: #159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

ਉਤਪਾਦ

ਸਾਰੇ ਉਤਪਾਦWSL ProxyRing PromoterAI ਲੈਬਜ਼OpenAI ਏਜੰਟClaude ਏਜੰਟGrok BotWorkstation CRM (WSL CRM)

AI ਹੱਲ

AI ਹੱਲAI ਵਰਕਸਟੇਸ਼ਨਪ੍ਰਾਈਵੇਟ AIGPU ਕਲੱਸਟਰਐਂਟਰਪ੍ਰਾਈਜ਼ AI ਲੈਬਸੇਵਾਵਾਂ

ਸਰੋਤ

ਲੇਖਦਸਤਾਵੇਜ਼ਬਲੌਗSearchਸਾਈਟ ਮੈਪ

ਕੰਪਨੀ

ਸਾਡੇ ਬਾਰੇਸਾਂਝੇਦਾਰਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ

© 2026 Workstation AI. ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ

ਗੋਪਨੀਯਤਾ ਨੀਤੀਕੂਕੀ ਨੀਤੀਸਾਈਟ ਮੈਪ

Loading blog...

Home / Blog
DevOpsKubernetesRke2

Kubernetes ਲਗਾਤਾਰ ਡਿਲਿਵਰੀ: ArgoCD ਅਤੇ ਫਲੈਕਸ ਦੇ ਨਾਲ GitOps ਪਾਈਪਲਾਈਨਾਂ

ArgoCD ਅਤੇ Flux ਦੇ ਨਾਲ GitOps ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ Kubernetes ਲਈ ਭਰੋਸੇਯੋਗ, ਸਵੈਚਲਿਤ ਤੈਨਾਤੀ ਪਾਈਪਲਾਈਨਾਂ ਬਣਾਓ

Balinder Walia27 ਮਈ 20259 min read

Kubernetes 'ਤੇ ਨਿਰੰਤਰ ਸਪੁਰਦਗੀ ਸਧਾਰਨ ਤੋਂ ਕਿਤੇ ਵੱਧ ਵਿਕਸਤ ਹੋਈ ਹੈ kubectl apply ਹੁਕਮ. ਆਧੁਨਿਕ ਟੀਮਾਂ GitOps ਨੂੰ ਅਪਣਾ ਰਹੀਆਂ ਹਨ, ਇੱਕ ਪੈਰਾਡਾਈਮ ਜੋ Git ਨੂੰ ਘੋਸ਼ਣਾਤਮਕ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਈ ਸੱਚ ਦੇ ਇੱਕ ਸਰੋਤ ਵਜੋਂ ਵਰਤਦਾ ਹੈ। GitOps ਸਿਧਾਂਤਾਂ ਨੂੰ ArgoCD ਅਤੇ Flux CD ਵਰਗੇ ਸਾਧਨਾਂ ਨਾਲ ਜੋੜ ਕੇ, ਸੰਸਥਾਵਾਂ ਭਰੋਸੇਮੰਦ, ਆਡਿਟ ਕਰਨ ਯੋਗ, ਅਤੇ ਸਵੈਚਾਲਿਤ ਤੈਨਾਤੀ ਪਾਈਪਲਾਈਨਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੀਆਂ ਹਨ ਜੋ ਕਿ ਕਲੱਸਟਰਾਂ ਅਤੇ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਸਕੇਲ ਕਰਦੀਆਂ ਹਨ।

ਇਹ ਗਾਈਡ GitOps ਪਹੁੰਚ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ Kubernetes 'ਤੇ ਉਤਪਾਦਨ-ਗ੍ਰੇਡ ਨਿਰੰਤਰ ਡਿਲੀਵਰੀ ਪਾਈਪਲਾਈਨਾਂ ਬਣਾਉਣ ਲਈ ਆਰਕੀਟੈਕਚਰ, ਸੈੱਟਅੱਪ, ਅਤੇ ਵਧੀਆ ਅਭਿਆਸਾਂ ਨੂੰ ਕਵਰ ਕਰਦੀ ਹੈ।

GitOps ਸਿਧਾਂਤ

GitOps ਚਾਰ ਮੁੱਖ ਸਿਧਾਂਤਾਂ 'ਤੇ ਬਣਾਇਆ ਗਿਆ ਹੈ ਜੋ ਬੁਨਿਆਦੀ ਤੌਰ 'ਤੇ ਬਦਲਦੇ ਹਨ ਕਿ ਟੀਮਾਂ ਕਿਵੇਂ ਤੈਨਾਤੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੀਆਂ ਹਨ:

GitOps ਦੇ ਨਾਲ CI/CD ਪਾਈਪਲਾਈਨਗਿੱਟ ਪੁਸ਼ਸਰੋਤ ਕੋਡਬਣਾਓਕੰਪਾਇਲ ਅਤੇ ਲਿੰਟਟੈਸਟਯੂਨਿਟ ਅਤੇ ਏਕੀਕਰਣਰਜਿਸਟਰੀਚਿੱਤਰ ਪੁਸ਼K8s 'ਤੇ ਤਾਇਨਾਤ ਕਰੋਅਰਗੋਸੀਡੀ / ਫਲੈਕਸਆਰਗੋਸੀਡੀਸਿੰਕ ਅਤੇ ਮੇਲ-ਮਿਲਾਪਫਲੈਕਸ ਸੀਡੀGit Reconcilerਗਿਤ ਭੰਡਾਰ = ਸੱਚ ਦਾ ਇੱਕ ਸੋਮਾ
  • ਘੋਸ਼ਣਾਤਮਕ ਸੰਰਚਨਾ - ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੀ ਪੂਰੀ ਲੋੜੀਦੀ ਸਥਿਤੀ ਨੂੰ ਘੋਸ਼ਣਾਤਮਕ ਤੌਰ 'ਤੇ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ। Kubernetes ਲਈ, ਇਸਦਾ ਮਤਲਬ ਹੈ YAML ਮੈਨੀਫੈਸਟ, ਹੈਲਮ ਚਾਰਟ, ਜਾਂ Git ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਕਸਟਮਾਈਜ਼ ਓਵਰਲੇ।
  • ਸੰਸਕਰਣ ਨਿਯੰਤਰਿਤ - ਗਿੱਟ ਸੱਚ ਦੇ ਇੱਕਲੇ ਸਰੋਤ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਹਰ ਪਰਿਵਰਤਨ ਪੁੱਲ ਬੇਨਤੀ ਰਾਹੀਂ ਹੁੰਦਾ ਹੈ, ਇੱਕ ਪੂਰਾ ਆਡਿਟ ਟ੍ਰੇਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਅਤੇ ਕਮਿਟਾਂ ਨੂੰ ਵਾਪਸ ਕਰ ਕੇ ਆਸਾਨ ਰੋਲਬੈਕ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
  • ਸਵੈਚਲਿਤ ਮੇਲ-ਮਿਲਾਪ - ਕਲੱਸਟਰ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਇੱਕ ਏਜੰਟ ਲਗਾਤਾਰ Git ਵਿੱਚ ਲੋੜੀਂਦੀ ਸਥਿਤੀ ਦੀ ਕਲੱਸਟਰ ਵਿੱਚ ਅਸਲ ਸਥਿਤੀ ਨਾਲ ਤੁਲਨਾ ਕਰਦਾ ਹੈ ਅਤੇ ਕਿਸੇ ਵੀ ਵਹਿਣ ਨੂੰ ਆਪਣੇ ਆਪ ਹੀ ਮਿਲਾ ਲੈਂਦਾ ਹੈ।
  • ਨਿਰੰਤਰ ਨਿਰੀਖਣ - ਸਿਸਟਮ ਗੀਟ ਰਿਪੋਜ਼ਟਰੀ ਅਤੇ ਕਲੱਸਟਰ ਸਥਿਤੀ ਦੋਵਾਂ ਦੀ ਲਗਾਤਾਰ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ, ਵਿਭਿੰਨਤਾ 'ਤੇ ਚੇਤਾਵਨੀ ਦਿੰਦਾ ਹੈ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕਲੱਸਟਰ ਹਮੇਸ਼ਾਂ ਘੋਸ਼ਿਤ ਸੰਰਚਨਾ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।

ਇਹ ਸਿਧਾਂਤ ਦਸਤੀ ਤੈਨਾਤੀ ਦੇ ਕਦਮਾਂ ਨੂੰ ਖਤਮ ਕਰਦੇ ਹਨ, ਮਨੁੱਖੀ ਗਲਤੀ ਨੂੰ ਘਟਾਉਂਦੇ ਹਨ, ਅਤੇ ਕਲੱਸਟਰ ਜਟਿਲਤਾ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਇਕਸਾਰ ਵਰਕਫਲੋ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।

ਅਰਗੋਸੀਡੀ ਆਰਕੀਟੈਕਚਰ ਅਤੇ ਸੈੱਟਅੱਪ

ਅਰਗੋਸੀਡੀ Kubernetes ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਅਪਣਾਇਆ ਗਿਆ GitOps ਟੂਲ ਹੈ। ਇਹ ਕਲੱਸਟਰਾਂ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਤੈਨਾਤੀਆਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਵੈੱਬ UI, CLI, ਅਤੇ API ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

GitOps ਵਰਕਫਲੋਵਿਕਾਸਕਾਰਪੁਸ਼ / PR ਮਿਲਾਓGit ਰਿਪੋਜ਼ਟਰੀਇੱਛਤ ਰਾਜਆਰਗੋਸੀਡੀਰੈਪੋ ਦੇਖਦਾ ਹੈਵਹਿਣ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈK8s ਕਲੱਸਟਰਲਾਈਵ ਸਟੇਟਆਟੋ-ਸਿੰਕ ਕੀਤਾ ਗਿਆਰੋਲਬੈਕ = ਗਿੱਟ ਰੀਵਰਟਆਡਿਟ ਟ੍ਰੇਲ: ਹਰ ਤੈਨਾਤੀ ਇੱਕ ਗਿੱਟ ਪ੍ਰਤੀਬੱਧ ਹੈ

ਕੋਰ ਕੰਪੋਨੈਂਟਸ

ArgoCD ਵਿੱਚ ਕਈ ਮੁੱਖ ਭਾਗ ਹੁੰਦੇ ਹਨ ਜੋ ਇਕੱਠੇ ਕੰਮ ਕਰਦੇ ਹਨ:

  • API ਸਰਵਰ - ਇੱਕ gRPC/REST API ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਵੈੱਬ UI ਦੀ ਸੇਵਾ ਕਰਦਾ ਹੈ। ਪ੍ਰਮਾਣੀਕਰਨ, RBAC, ਅਤੇ ਬਾਹਰੀ ਏਕੀਕਰਣਾਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ।
  • ਰਿਪੋਜ਼ਟਰੀ ਸਰਵਰ - Git ਰਿਪੋਜ਼ਟਰੀਆਂ ਨੂੰ ਕਲੋਨ ਕਰਦਾ ਹੈ ਅਤੇ ਹੈਲਮ ਚਾਰਟ, ਕਸਟਮਾਈਜ਼, ਜਾਂ ਪਲੇਨ YAML ਤੋਂ Kubernetes ਮੈਨੀਫੈਸਟ ਬਣਾਉਂਦਾ ਹੈ।
  • ਐਪਲੀਕੇਸ਼ਨ ਕੰਟਰੋਲਰ - ਚੱਲ ਰਹੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਨਿਰੰਤਰ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ ਅਤੇ ਲਾਈਵ ਸਟੇਟ ਦੀ ਗਿੱਟ ਵਿੱਚ ਲੋੜੀਂਦੀ ਸਥਿਤੀ ਨਾਲ ਤੁਲਨਾ ਕਰਦਾ ਹੈ।
  • Redis - ਰਿਪੋਜ਼ਟਰੀ ਸਰਵਰ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਕੰਟਰੋਲਰ ਲਈ ਕੈਚਿੰਗ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

ਇੰਸਟਾਲੇਸ਼ਨ

ਅਧਿਕਾਰਤ ਮੈਨੀਫੈਸਟ ਜਾਂ ਹੈਲਮ ਚਾਰਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ 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 ਹੱਥੀਂ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਸਿੱਧੇ ਕਲੱਸਟਰ ਵਿੱਚ ਵਾਪਸ ਲਿਆਉਂਦਾ ਹੈ।

ਫਲੈਕਸ ਸੀਡੀ: ਇੱਕ ਵਿਕਲਪਿਕ ਪਹੁੰਚ

Flux CD GitOps ਲਈ ਇੱਕ ਵੱਖਰੀ ਆਰਕੀਟੈਕਚਰਲ ਪਹੁੰਚ ਅਪਣਾਉਂਦੀ ਹੈ। ਇੱਕ UI ਦੇ ਨਾਲ ਇੱਕ ਕੇਂਦਰੀਕ੍ਰਿਤ ਸਰਵਰ ਦੀ ਬਜਾਏ, Flux Kubernetes ਕੰਟਰੋਲਰਾਂ ਦੇ ਇੱਕ ਸਮੂਹ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ ਜੋ ਹਰੇਕ ਇੱਕ ਖਾਸ ਚਿੰਤਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ।

ਫਲੈਕਸ ਕੰਪੋਨੈਂਟਸ

  • ਸਰੋਤ ਕੰਟਰੋਲਰ - Git ਰਿਪੋਜ਼ਟਰੀਆਂ, ਹੈਲਮ ਰਿਪੋਜ਼ਟਰੀਆਂ, ਅਤੇ OCI ਕਲਾਤਮਕ ਸਰੋਤਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ।
  • ਕਸਟਮਾਈਜ਼ ਕੰਟਰੋਲਰ - ਕਸਟਮਾਈਜ਼ ਓਵਰਲੇਅ ਅਤੇ ਪਲੇਨ 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

ਅਰਗੋਸੀਡੀ ਬਨਾਮ ਫਲੈਕਸ: ਕਦੋਂ ਚੁਣਨਾ ਹੈ

ਜਦੋਂ ਤੁਹਾਨੂੰ ਦਿੱਖ ਲਈ ਇੱਕ ਅਮੀਰ ਵੈੱਬ UI, ਵਧੀਆ RBAC ਦੇ ਨਾਲ ਬਹੁ-ਕਿਰਾਏਦਾਰੀ, ਅਤੇ ਇੱਕ ਕੇਂਦਰੀਕ੍ਰਿਤ ਪ੍ਰਬੰਧਨ ਪਲੇਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਤਾਂ ArgoCD ਆਦਰਸ਼ ਹੁੰਦਾ ਹੈ। Flux ਵਾਤਾਵਰਨ ਵਿੱਚ ਚਮਕਦਾ ਹੈ ਜੋ ਇੱਕ ਹਲਕੇ, ਕੰਟਰੋਲਰ-ਆਧਾਰਿਤ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ, ਚਿੱਤਰ ਆਟੋਮੇਸ਼ਨ ਸਮਰੱਥਾਵਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਾਂ 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 ਹੈਲਮ ਨੂੰ ਮੂਲ ਰੂਪ ਵਿੱਚ ਸਮਰਥਨ ਕਰਦੇ ਹਨ। ਅਰਗੋਸੀਡੀ ਆਪਣੇ ਰਿਪੋਜ਼ਟਰੀ ਸਰਵਰ ਦੁਆਰਾ ਚਾਰਟ ਸਰਵਰ-ਸਾਈਡ ਰੈਂਡਰ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਫਲੈਕਸ ਹੈਲਮ 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

ਨੀਲੀ-ਹਰੇ ਤੈਨਾਤੀਆਂ

ਦੋ ਇੱਕੋ ਜਿਹੇ ਵਾਤਾਵਰਨ (ਨੀਲੇ ਅਤੇ ਹਰੇ) ਨੂੰ ਚਲਾਓ। ਨਵੇਂ ਸੰਸਕਰਣ ਨੂੰ ਅਕਿਰਿਆਸ਼ੀਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਤੈਨਾਤ ਕਰੋ, ਇਸਦੀ ਪੁਸ਼ਟੀ ਕਰੋ, ਫਿਰ ਟ੍ਰੈਫਿਕ ਬਦਲੋ। ਇਹ ਪਿਛਲੇ ਵਾਤਾਵਰਣ 'ਤੇ ਵਾਪਸ ਜਾਣ ਦੁਆਰਾ ਤੁਰੰਤ ਰੋਲਬੈਕ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਸੇਵਾ ਲੇਬਲ ਚੋਣਕਾਰਾਂ ਜਾਂ ਇਸਟੀਓ ਟ੍ਰੈਫਿਕ ਪ੍ਰਬੰਧਨ ਨਾਲ ਲਾਗੂ ਕਰੋ।

ਕੈਨਰੀ ਤੈਨਾਤੀਆਂ

ਹੌਲੀ-ਹੌਲੀ ਟ੍ਰੈਫਿਕ ਦੀ ਇੱਕ ਛੋਟੀ ਪ੍ਰਤੀਸ਼ਤਤਾ ਨੂੰ ਨਵੇਂ ਸੰਸਕਰਣ ਲਈ ਰੂਟ ਕਰੋ, ਜਿਵੇਂ-ਜਿਵੇਂ ਵਿਸ਼ਵਾਸ ਵਧਦਾ ਹੈ ਪ੍ਰਤੀਸ਼ਤ ਨੂੰ ਵਧਾਓ। ਫਲੈਗਰ ਅਤੇ ਆਰਗੋ ਰੋਲਆਉਟਸ ਵਰਗੇ ਟੂਲ ਮੈਟ੍ਰਿਕਸ-ਆਧਾਰਿਤ ਪ੍ਰੋਮੋਸ਼ਨ ਦੇ ਨਾਲ ਕੈਨਰੀ ਵਿਸ਼ਲੇਸ਼ਣ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰਦੇ ਹਨ।

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 ਆਟੋਮੈਟਿਕ ਹੀ ਪਿਛਲੀ ਜਾਣੀ ਜਾਣ ਵਾਲੀ ਚੰਗੀ ਸਥਿਤੀ ਵਿੱਚ ਵਾਪਸ ਆ ਸਕਦੀ ਹੈ।

ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਰੋਲਬੈਕ ਦ੍ਰਿਸ਼ਾਂ ਲਈ, ਆਰਗੋ ਰੋਲਆਉਟਸ ਅਤੇ ਫਲੈਗਰ ਪ੍ਰੋਮੀਥੀਅਸ ਮੈਟ੍ਰਿਕਸ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰ ਸਕਦੇ ਹਨ, ਸਵੈਚਲਿਤ ਟੈਸਟ ਚਲਾ ਸਕਦੇ ਹਨ, ਅਤੇ ਰੋਲਆਉਟਸ ਨੂੰ ਰੱਦ ਕਰ ਸਕਦੇ ਹਨ ਜੋ ਘਟੀਆ ਕਾਰਗੁਜ਼ਾਰੀ ਦਿਖਾਉਂਦੇ ਹਨ।

ਸੀਲਬੰਦ ਰਾਜ਼ ਦੇ ਨਾਲ ਭੇਦ ਪ੍ਰਬੰਧਨ

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 ਪਾਈਪਲਾਈਨਾਂ ਲਈ ਤੈਨਾਤੀ ਸਥਿਤੀ ਵਿੱਚ ਦਿੱਖ ਜ਼ਰੂਰੀ ਹੈ। ਕਈ ਪੱਧਰਾਂ 'ਤੇ ਨਿਗਰਾਨੀ ਨੂੰ ਲਾਗੂ ਕਰੋ:

  • ਅਰਗੋਸੀਡੀ ਮੈਟ੍ਰਿਕਸ - ਅਰਗੋਸੀਡੀ ਸਿੰਕ ਸਥਿਤੀ, ਸਿਹਤ ਅਤੇ ਸੰਚਾਲਨ ਦੀ ਮਿਆਦ ਲਈ ਪ੍ਰੋਮੀਥੀਅਸ ਮੈਟ੍ਰਿਕਸ ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰਦਾ ਹੈ। ਤੈਨਾਤੀ ਬਾਰੰਬਾਰਤਾ ਅਤੇ ਅਸਫਲਤਾ ਦਰਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ ਗ੍ਰਾਫਾਨਾ ਡੈਸ਼ਬੋਰਡ ਬਣਾਓ।
  • 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 ਬਾਹਰੀ ਕਲੱਸਟਰਾਂ ਨੂੰ ਰਜਿਸਟਰ ਕਰਕੇ ਮਲਟੀ-ਕਲੱਸਟਰ ਪ੍ਰਬੰਧਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਫਲੈਕਸ ਇੱਕ ਪ੍ਰਬੰਧਨ ਕਲੱਸਟਰ ਦੁਆਰਾ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਜੋ ਵਰਕਲੋਡ ਕਲੱਸਟਰਾਂ ਨੂੰ ਬੂਟਸਟਰੈਪ ਕਰਦਾ ਹੈ।

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 ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਵਿੱਚ ਨਿਵੇਸ਼ ਸੁਧਾਰੀ ਭਰੋਸੇਯੋਗਤਾ, ਤੇਜ਼ ਘਟਨਾ ਪ੍ਰਤੀਕਿਰਿਆ, ਸੰਪੂਰਨ ਆਡਿਟ ਟ੍ਰੇਲਜ਼, ਅਤੇ ਇੱਕ ਡਿਵੈਲਪਰ ਅਨੁਭਵ ਦੁਆਰਾ ਲਾਭਅੰਸ਼ ਦਾ ਭੁਗਤਾਨ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ ਪੁੱਲ ਬੇਨਤੀ ਨੂੰ ਮਿਲਾਉਣ ਵਾਂਗ ਤੈਨਾਤੀਆਂ ਨੂੰ ਸਧਾਰਨ ਬਣਾਉਂਦਾ ਹੈ।