shepherd's Blog

[k8s] argocd aplication yaml 예시 본문

k8s

[k8s] argocd aplication yaml 예시

shepherd.dev 2023. 8. 16. 17:24

기본 셋

apiVersion: argoproj.io/v1alpha1  
kind: Application  
metadata:  
  name: kafka-ui  
  namespace: argocd  
spec:  
  destination:  
    namespace: kafka-ui  
    server: 'https://kubernetes.default.svc'
  source:  
    path: manifests/kafka-ui  
    repoURL: 'git repo url'  
    targetRevision: HEAD  
  sources: []
  project: default  
  syncPolicy:  
    automated: {}

helm chart 사용

argocd를 통해 helm chart를 배포할 경우 helm 배포 리소스가 생성되지 않고 argocd를 통해 리소스가 관리되므로helm 명령을 통해 관리할 수 없게 된다. helm 명령을 통해 지속적인 관리를 할 경우 argocd를 피해 다른 배포 방법을 사용하는게 좋다.

helm chart와 override value 파일을 분리해서 사용할 때 예시

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: superset-cluster
  namespace: argocd
spec:
  destination:
    namespace: superset
    server: 'https://kubernetes.default.svc'
  sources:
    - repoURL: 'https://apache.github.io/superset'
      targetRevision: 0.10.5
      chart: superset
      helm:
        valueFiles:
          - $values/charts/superset/values.yaml
        releaseName: superset-cluster
    - repoURL: 'git repo url'
      targetRevision: main
      ref: values
  project: default
  syncPolicy:
    automated: {}