πŸ₯‡[Bro's Insights - 인기글] β†’ ArgoCD, λŒ€κ·œλͺ¨ ν™˜κ²½μ—μ„œλ„ μ΄λ ‡κ²Œ μ΅œμ ν™”ν•˜λ©΄ 번개처럼 λΉ¨λΌμ§‘λ‹ˆλ‹€ ⚑

ArgoCD μ•„ν‚€ν…μ²˜ ꡬ성을 λ¨Όμ € λ³΄μ—¬λ“œλ¦¬λ©΄β€¦


[좜처] https://inf.run/ZuQ8b

μ•„λž˜μ˜ λ‚΄μš©μ€ λŒ€κ·œλͺ¨ ν™˜κ²½μ—μ„œλ„ λΉ λ₯΄κ²Œ μ•ˆμ •μ μœΌλ‘œ μž‘λ™ν•˜λŠ” ArgoCD 에 λŒ€ν•œ κ²½ν—˜ 기고글에 λŒ€ν•œ 정보λ₯Ό μ •λ¦¬ν•œ κ²ƒμž…λ‹ˆλ‹€. [좜처] https://saikiranpikili.medium.com/make-your-argocd-super-fast-9c75fa94b840

μŠ€μΌ€μΌ 문제 μ΄ν•΄ν•˜κΈ°

ArgoCDλŠ” μž‘μ€ ν™˜κ²½μ—μ„œλŠ” λ›°μ–΄λ‚œ μ„±λŠ₯을 λ°œνœ˜ν•˜μ§€λ§Œ, 수천 개의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 닀루렀면 μ„Έμ‹¬ν•œ νŠœλ‹μ΄ ν•„μš”ν•©λ‹ˆλ‹€. μΌλ°˜μ μœΌλ‘œλŠ” μ€‘μš”ν•œ ν™˜κ²½κ³Ό κ·Έλ ‡μ§€ μ•Šμ€ ν™˜κ²½μ„ λ‚˜λˆ„μ–΄ μ—¬λŸ¬ ArgoCD μΈμŠ€ν„΄μŠ€λ‘œ λΆ„μ‚°ν•˜λŠ” 것이 μ΅œμ„ μ˜ λ°©λ²•μ΄μ§€λ§Œ, μ‹œκ°„ μ œμ•½μœΌλ‘œ 인해 μš°λ¦¬λŠ” λͺ¨λ“  것을 ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ‘œ 톡합해야 ν–ˆμŠ΅λ‹ˆλ‹€.

이 λ•Œλ¬Έμ— μ €μž₯μ†Œ μ„œλ²„ μ„±λŠ₯λΆ€ν„° 컨트둀러 λ™μ‹œμ„±κΉŒμ§€ ArgoCD의 λͺ¨λ“  계측을 μ΅œμ ν™”ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

ArgoCD ꡬ성 μ΅œμ ν™”

각 μ΅œμ ν™”λ₯Ό λ‚˜λˆ„μ–΄ κ·Έ μ—­ν• , κΈ°λ³Έκ°’, 그리고 λΆ€μž‘μš©κΉŒμ§€ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

Reposerver:
- name: ARGOCD_EXEC_TIMEOUT
    value: "180"
- name: ARGOCD_GIT_ATTEMPTS_COUNT
    value: "3"
- name: ARGOCD_HELM_ALLOW_CONCURRENCY
    value: "true"

Controller:
- name: ARGOCD_CONTROLLER_REPLICAS
    value: "3"
- name: ARGOCD_K8S_CLIENT_QPS
    value: "150"
- name: ARGOCD_K8S_CLIENT_BURST
    value: "300"

Argocd-cm:
timeout.reconciliation: 6m
timeout.hard.reconciliation: 0s

params-cm:
  server.repo.server.timeout.seconds: "180"
  controller.status.processors: "600"
  controller.operation.processors: "300"
  controller.repo.server.timeout.seconds: "180"
  controller.kubectl.parallelism.limit: "100"
  controller.sharding.algorithm: "round-robin"
  reposerver.parallelism.limit: "100"

1. μ €μž₯μ†Œ μ„œλ²„(Repository Server) μ„€μ •

λ§€λ‹ˆνŽ˜μŠ€νŠΈ 생성 νƒ€μž„μ•„μ›ƒκ³Ό Git μž¬μ‹œλ„ 횟수 μ΅œμ ν™”

  • ARGOCD_EXEC_TIMEOUT
    Repo μ„œλ²„λŠ” helm, kustomize 등을 μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ β€œexec”λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 큰 규λͺ¨μ˜ helm 차트 λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό 생성할 λ•Œ μ‹œκ°„μ΄ 였래 걸릴 수 μžˆμŠ΅λ‹ˆλ‹€. 이 λ•Œλ¬Έμ— 기본값을 λŠ˜λ €μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

    • μ„€λͺ…: λͺ…λ Ήμ–΄κ°€ νƒ€μž„μ•„μ›ƒλ˜κΈ° μ „κΉŒμ§€ μ‹€ν–‰ν•  수 μžˆλŠ” μ΅œλŒ€ μ‹œκ°„(초 λ‹¨μœ„)
    • κΈ°λ³Έκ°’: 90초
    • μ„€μ •κ°’: 180초
  • ARGOCD_GIT_ATTEMPTS_COUNT
    Repo μ„œλ²„λŠ” commit SHA ν•΄μ‹œλ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ β€œgit ls-remote”λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 기본값은 1이며, 첫 μ‹œλ„κ°€ μ‹€νŒ¨ν•˜λ©΄ μž¬μ‹œλ„λ₯Ό ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ μ‹œλ„ 횟수λ₯Ό 3으둜 λŠ˜λ ΈμŠ΅λ‹ˆλ‹€.

    • μ„€λͺ…: Git μž‘μ—…μ— λŒ€ν•œ μž¬μ‹œλ„ 횟수λ₯Ό μ§€μ •
    • κΈ°λ³Έκ°’: 1
    • μ„€μ •κ°’: 3
  • ARGOCD_HELM_ALLOW_CONCURRENCY
    μ°¨νŠΈκ°€ 많고 λ§€λ‹ˆνŽ˜μŠ€νŠΈ 생성이 느릴 경우, 차트 폴더에 .argocd-allow-concurrency νŒŒμΌμ„ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    단, ν…œν”Œλ¦Ώ κ°„ 쒅속성이 μ—†λŠ”μ§€ λ°˜λ“œμ‹œ 확인해야 ν•©λ‹ˆλ‹€.

    • μ„€λͺ…: Helm μž‘μ—…μ˜ λ™μ‹œ 싀행을 ν—ˆμš©
    • κΈ°λ³Έκ°’: false
    • μ„€μ •κ°’: true

이λ₯Ό ν™œμ„±ν™”ν•˜λ©΄ μ—¬λŸ¬ Helm 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ™μ‹œμ— 동기화할 λ•Œ μ„±λŠ₯이 κ°œμ„ λ©λ‹ˆλ‹€. λ‹€λ§Œ, κ³Όλ„ν•œ λ™μ‹œ 싀행은 ν΄λŸ¬μŠ€ν„° λ‚΄ μžμ› 경쟁, Helm 차트 잠금(lock) 문제, Git ν”„λ‘œμ„ΈμŠ€ 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

2. 컨트둀러(Controller) μ„€μ •

  • ARGOCD_CONTROLLER_REPLICAS
    이 값을 λ³€κ²½ν•˜κΈ° 전에 Controller StatefulSet의 replicas μˆ˜λ„ ν•¨κ»˜ λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.

    • μ„€λͺ…: 컨트둀러 μ»΄ν¬λ„ŒνŠΈμ˜ replica 수λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
    • κΈ°λ³Έκ°’: 1
    • μ„€μ •κ°’: 3
      Replica 수λ₯Ό 늘리면 λΆ€ν•˜ λΆ„μ‚°κ³Ό 쀑볡성이 ν–₯μƒλ©λ‹ˆλ‹€. 단, μΆ”κ°€ Pod을 지원할 수 μžˆλŠ” μΆ©λΆ„ν•œ ν΄λŸ¬μŠ€ν„° μžμ›μ΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • ARGOCD_K8S_CLIENT_QPS
    μ΄ˆλ‹Ή Kubernetes API μš”μ²­ 수λ₯Ό μ œν•œν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 50
    • μ„€μ •κ°’: 150
      값을 높이면 λŒ€κ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 동기화 μ‹œ 병λͺ© ν˜„μƒμ„ 쀄일 수 μžˆμ§€λ§Œ, Kubernetes API μ„œλ²„μ— 뢀담을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€. μ„œλ²„κ°€ μ¦κ°€ν•œ λΆ€ν•˜λ₯Ό μ²˜λ¦¬ν•  수 μžˆλŠ”μ§€ λͺ¨λ‹ˆν„°λ§μ΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • ARGOCD_K8S_CLIENT_BURST
    Kubernetes API에 보낼 수 μžˆλŠ” μ΅œλŒ€ λ²„μŠ€νŠΈ μš”μ²­ 수λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 100
    • μ„€μ •κ°’: 300
      λ²„μŠ€νŠΈ ν•œλ„λ₯Ό 늘리면 슀파이크 μƒν™©μ—μ„œ 동기화 속도가 λΉ¨λΌμ§‘λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ„œλ²„ μš©λŸ‰μ„ μ΄ˆκ³Όν•˜λ©΄ API μ„œλ²„μ—μ„œ throttling이 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

3. μ„€μ • λ§΅(argocd-cm) μ—…λ°μ΄νŠΈ

  • timeout.reconciliation
    μžλ™ 동기화 μ‹œλ„ 간격을 μ„€μ •ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 3λΆ„
    • μ„€μ •κ°’: 6λΆ„
      값을 μ•½κ°„ 늘리면 동기화 λΉˆλ„κ°€ 쀄어듀어 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 변경이 μž¦μ€ μ‹œκΈ°μ— 컨트둀러 λΆ€ν•˜λ₯Ό μ™„ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
      μžλ™ 동기화가 ν™œμ„±ν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 경우, μž¬μ‘°μ •(reconciliation) λŒ€κΈ°μ—΄μ΄ 이 μ‹œκ°„ κ°„κ²©λ§ˆλ‹€ μ΄ˆκΈ°ν™”λ©λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μˆ˜κ°€ λ§Žμ•„ νƒ€μž„μ•„μ›ƒ 내에 동기화λ₯Ό μ™„λ£Œν•˜μ§€ λͺ»ν•˜λ©΄ μž¬μ‘°μ •μ΄ 반볡적으둜 λ¦¬μ…‹λ˜λ©° μ§„ν–‰λ˜μ§€ μ•ŠλŠ” λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό ν”Όν•˜κΈ° μœ„ν•΄ timeout.reconciliation 값을 λŠ˜λ ΈμŠ΅λ‹ˆλ‹€. 이 값을 λ³€κ²½ν•  λ•ŒλŠ” μžλ™ 동기화 μ£ΌκΈ° μžμ²΄κ°€ λŠ˜μ–΄λ‚œλ‹€λŠ” 점을 κ°μ•ˆν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • timeout.hard.reconciliation
    μž¬μ‘°μ • μž‘μ—…μ— λŒ€ν•΄ κ°•μ œ νƒ€μž„μ•„μ›ƒμ„ μ„€μ •ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 0초 (λΉ„ν™œμ„±ν™”)
    • μ„€μ •κ°’: 0초 (λ³€κ²½ μ—†μŒ)
      λΉ„ν™œμ„± μƒνƒœλ₯Ό μœ μ§€ν•˜λ©΄ μž¬μ‘°μ • μž‘μ—…μ΄ 쀑간에 κ°•μ œλ‘œ μ’…λ£Œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

4. νŒŒλΌλ―Έν„° μ„€μ • λ§΅(params-cm) μ—…λ°μ΄νŠΈ

λ§€λ‹ˆνŽ˜μŠ€νŠΈ 생성 μ‹œκ°„μ„ μ΅œμ ν™”ν•˜κΈ° μœ„ν•΄ νƒ€μž„μ•„μ›ƒμ„ λŠ˜λ €μ•Ό ν•©λ‹ˆλ‹€.

  • controller.repo.server.timeout.seconds
    Application Controllerμ—μ„œ β€œContext deadline exceeded” μ—λŸ¬κ°€ λ°œμƒν•˜λŠ” 경우(λŒ€κ·œλͺ¨ λ§€λ‹ˆνŽ˜μŠ€νŠΈμ—μ„œ ν”νžˆ λ°œμƒ), μ§€μ •λœ μ‹œκ°„ μ•ˆμ— repo μ„œλ²„λ‘œλΆ€ν„° λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό κ°€μ Έμ˜€μ§€ λͺ»ν–ˆμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 60초
    • μ„€μ •κ°’: 180초
      νƒ€μž„μ•„μ›ƒμ„ 늘리면 컨트둀러의 refresh λŒ€κΈ°μ—΄μ΄ λ„˜μΉ  수 μžˆμŠ΅λ‹ˆλ‹€.
  • server.repo.server.timeout.seconds

    • μ„€λͺ…: μ €μž₯μ†Œ μ„œλ²„ μž‘μ—…μ˜ νƒ€μž„μ•„μ›ƒμ„ μ§€μ •ν•©λ‹ˆλ‹€.
    • κΈ°λ³Έκ°’: 60초
    • μ„€μ •κ°’: 180초
      νƒ€μž„μ•„μ›ƒμ„ 늘리면 λŒ€κ·œλͺ¨ μ €μž₯μ†Œ λ™κΈ°ν™”μ—λŠ” 도움이 λ˜μ§€λ§Œ, μ‹€μ œ μž₯μ• λ₯Ό κ°μ§€ν•˜λŠ” λ°λŠ” 지연이 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
      μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μž¬μ‘°μ •μ΄λ‚˜ 동기화 속도가 느릴 경우, μƒνƒœ(status)와 μž‘μ—…(operation) 큐 ν”„λ‘œμ„Έμ„œλ₯Ό λŠ˜λ €μ•Ό ν•©λ‹ˆλ‹€. μ΄λ¦„μ—μ„œ μ•Œ 수 μžˆλ“―, μƒνƒœ ν”„λ‘œμ„Έμ„œλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μƒνƒœ(Synced, Health, OutOfSync, Degraded, Unknown, Suspended, Missing, Error λ“±)λ₯Ό κ°€μ Έμ˜€λŠ” 역할을 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  • controller.status.processors
    μƒνƒœ μž¬μ‘°μ • μž‘μ—…μ— μ‚¬μš©ν•  ν”„λ‘œμ„Έμ„œ 수λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 20
    • μ„€μ •κ°’: 600
      ν”„λ‘œμ„Έμ„œ 수λ₯Ό 늘리면 병렬 μ²˜λ¦¬κ°€ ν–₯μƒλ˜μ§€λ§Œ CPU와 λ©”λͺ¨λ¦¬ μžμ›μ„ 더 많이 μ†Œλͺ¨ν•˜κ²Œ λ©λ‹ˆλ‹€.
  • controller.operation.processors
    동기화 μž‘μ—…μ„ κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œμ„Έμ„œ 수λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 10
    • μ„€μ •κ°’: 300
      μƒνƒœ ν”„λ‘œμ„Έμ„œμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ 병렬성을 λ†’μ΄μ§€λ§Œ, 좔가적인 λ¦¬μ†ŒμŠ€ μ‚¬μš©μ΄ λ°œμƒν•©λ‹ˆλ‹€.
  • controller.kubectl.parallelism.limit
    ArgoCD μ•„ν‚€ν…μ²˜ λΈ”λ‘œκ·Έμ—μ„œ μ–ΈκΈ‰ν–ˆλ“―μ΄, ArgoCDλŠ” μƒμ„±λœ λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό λ™κΈ°ν™”ν•˜κΈ° μœ„ν•΄ β€œkubectl apply”λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. λ•Œλ‘œλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ™κΈ°ν™”ν•œ 후에도 속도가 느리게 λŠκ»΄μ§€κ±°λ‚˜ λ‘œλ”©λ§Œ κ³„μ†λ˜κ³  ν΄λŸ¬μŠ€ν„°μ— λ³€κ²½ 사항이 λ°˜μ˜λ˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€. 이런 μƒν™©μ—μ„œλŠ” 컨트둀러 λ¦¬μ†ŒμŠ€μ™€ kubectl 병렬 처리 ν•œλ„λ₯Ό λŠ˜λ €μ•Ό ν•©λ‹ˆλ‹€.
    λ™μ‹œμ— μ‹€ν–‰ν•  수 μžˆλŠ” kubectl μž‘μ—… 수λ₯Ό μ œν•œν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 20
    • μ„€μ •κ°’: 100
      이 값을 늘리면 λŒ€κ·œλͺ¨ 배포 관리에 μœ λ¦¬ν•˜μ§€λ§Œ ν΄λŸ¬μŠ€ν„° λ¦¬μ†ŒμŠ€λ₯Ό κ³ΌλΆ€ν•˜μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • controller.sharding.algorithm
    컨트둀러 replica 간에 μž‘μ—…μ„ λΆ„λ°°ν•  λ•Œ μ‚¬μš©ν•˜λŠ” 샀딩 μ•Œκ³ λ¦¬μ¦˜μ„ μ§€μ •ν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: legacy
    • μ„€μ •κ°’: round-robin
      λΌμš΄λ“œλ‘œλΉˆ μ•Œκ³ λ¦¬μ¦˜μ€ replica κ°„ μž‘μ—… λΆ„λ°°λ₯Ό 더 κ· ν˜• 있게 ν•΄μ€λ‹ˆλ‹€. 이λ₯Ό 톡해 ν•˜λ‚˜μ˜ μ»¨νŠΈλ‘€λŸ¬κ°€ λͺ¨λ“  ν΄λŸ¬μŠ€ν„°λ₯Ό μ²˜λ¦¬ν•˜λŠ” λŒ€μ‹ , μ—¬λŸ¬ μ»¨νŠΈλ‘€λŸ¬μ— ν΄λŸ¬μŠ€ν„°κ°€ λΆ„μ‚°λ©λ‹ˆλ‹€.
  • reposerver.parallelism.limit
    기본적으둜 λ§€λ‹ˆνŽ˜μŠ€νŠΈ μƒμ„±μ—λŠ” μ œν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€. Repo μ„œλ²„λŠ” λͺ¨λ“  λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό ν•œ λ²ˆμ— μƒμ„±ν•˜λ €κ³  ν•˜λ©°, 이둜 인해 OOMKilled λ¬Έμ œκ°€ λ°œμƒν•˜κ±°λ‚˜ λ§€λ‹ˆνŽ˜μŠ€νŠΈ 생성 속도가 맀우 느렀질 수 μžˆμŠ΅λ‹ˆλ‹€.
    μ €μž₯μ†Œ μ„œλ²„ μž‘μ—…μ˜ λ™μ‹œ μ‹€ν–‰ 수λ₯Ό μ œν•œν•©λ‹ˆλ‹€.

    • κΈ°λ³Έκ°’: 0 (λ¬΄μ œν•œ)
    • μ„€μ •κ°’: 100

λ§ˆμ§€λ§‰ 팁으둜, μ €μž₯μ†Œ λ‚΄ 단일 차트만 λ³€κ²½λ˜μ—ˆμ„ λ•Œ 전체 μ°¨νŠΈμ— λŒ€ν•œ λ§€λ‹ˆνŽ˜μŠ€νŠΈκ°€ λ‹€μ‹œ μƒμ„±λ˜λŠ” 것을 ν”Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ArgoCDλŠ” 기본적으둜 λ§€λ‹ˆνŽ˜μŠ€νŠΈ μΊμ‹œλ₯Ό commit SHA와 ν•¨κ»˜ Redis에 μ €μž₯ν•©λ‹ˆλ‹€. λ™μΌν•œ commit SHAκ°€ μ €μž₯μ†Œμ˜ λͺ¨λ“  λ§€λ‹ˆνŽ˜μŠ€νŠΈμ™€ μ—°κ²°λ˜κΈ° λ•Œλ¬Έμ—, 파일 ν•˜λ‚˜λ§Œ μˆ˜μ •ν•΄ 컀밋해도 SHAκ°€ 전체에 μ—…λ°μ΄νŠΈλ˜λ©° ArgoCDλŠ” λͺ¨λ“  λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό λ‹€μ‹œ μƒμ„±ν•˜λ € μ‹œλ„ν•©λ‹ˆλ‹€. 이λ₯Ό ν”Όν•˜λ €λ©΄ Application kind에 annotation을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

argocd.argoproj.io/manifest-generation-paths: <path-of-the-chart-folder>

μ΄λ ‡κ²Œ ν•˜λ©΄ ArgoCDλŠ” 제곡된 경둜 λ‚΄ 파일이 λ³€κ²½λ˜μ—ˆμ„ λ•Œλ§Œ ν•΄λ‹Ή λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό μƒμ„±ν•˜λ„λ‘ μΈμ‹ν•©λ‹ˆλ‹€.

이제 제 ArgoCDλŠ” μ—„μ²­λ‚˜κ²Œ λΉ¨λΌμ§‘λ‹ˆλ‹€.

5 Likes