[ArgoCD] v2.14.2 ๋ณ€๊ฒฝ๋œ ์ 

2025. 2. 27. 16:48ยทCloud/ArgoCD

์„ฌ๋„ค์ผ.jpg

ArgoCD v2.14.2

2025๋…„ 2์›” ๊ธฐ์ค€ ArgoCD์˜ ์ตœ์‹  ์•ˆ์ •ํ™” ๋ฒ„์ „์€ v2.14.2๋กœ, 2025๋…„ 2์›” 6์ผ ๊ณต์‹ ๋ฆด๋ฆฌ์ฆˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ๋ฒ„์ „์€ ๋‹ค์ค‘ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐฐํฌ ์‹ ๋ขฐ์„ฑ ๊ฐ•ํ™”์™€ ๋Œ€๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์ ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. ํŠนํžˆ 1,000๋…ธ๋“œ ์ด์ƒ์˜ ์ดˆ๋Œ€ํ˜• ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ฆฌ์†Œ์Šค ๋™๊ธฐํ™” ์‹œ๊ฐ„์„ 40% ๋‹จ์ถ•ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ์„ค์น˜ ๋ฐฉ๋ฒ•

# ๋น„๊ณ ๊ฐ€์šฉ์„ฑ ์„ค์น˜
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.2/manifests/install.yaml

# ๊ณ ๊ฐ€์šฉ์„ฑ ์„ค์น˜
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.2/manifests/ha/install.yaml

v2.14.2 ๊ณต์‹ ์„ค์น˜ ๋ช…๋ น์–ด

์ฃผ์š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์‚ฌํ•ญ

1. ๊ธ€๋กœ๋ฒŒ ๋™๊ธฐํ™” ํƒ€์ž„์•„์›ƒ ๊ธฐ๋Šฅ

controller.sync.timeout.seconds ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด ๋™๊ธฐํ™” ์ž‘์—…์˜ ์ตœ๋Œ€ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฌดํ•œ ์žฌ์‹œ๋„๋กœ ์ธํ•œ ๋™๊ธฐํ™” ํ”„๋กœ์„ธ์Šค ์ •์ง€ ๋ฌธ์ œ๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ฉฐ, ๊ธฐ๋ณธ๊ฐ’์€ 180์ดˆ(3๋ถ„)๋กœ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

# argocd-cmd-params-cm ConfigMap ์„ค์ • ์˜ˆ์‹œ
data:
  controller.sync.timeout.seconds: "300"

๊ธ€๋กœ๋ฒŒ ํƒ€์ž„์•„์›ƒ ์„ค์ • ์˜ˆ์‹œ

2. Helm 3.16.2 ์—…๊ทธ๋ ˆ์ด๋“œ

์™ธ๋ถ€ ์Šคํ‚ค๋งˆ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์˜คํ”„๋ผ์ธ ํ™˜๊ฒฝ์„ ์œ„ํ•ด --skip-schema-validation ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Istio 1.24 ์ด์ƒ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๋ฉฐ, Application CRD ์ŠคํŽ™์—์„œ ์ง์ ‘ ์„ค์ • ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

3. ๋ฆฌ์†Œ์Šค ์‚ญ์ œ ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜

ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ์˜ ์น˜๋ช…์  ์‚ญ์ œ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์ƒˆ๋กœ์šด ์ฃผ์„์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  • argocd.argoproj.io/sync-options: Prune=confirm: ๋ฆฌ์†Œ์Šค ์ •๋ฆฌ ์ „ ์ˆ˜๋™ ์Šน์ธ ํ•„์š”
  • argocd.argoproj.io/sync-options: Delete=confirm: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ญ์ œ ์‹œ ํ™•์ธ ์ ˆ์ฐจ ๊ฐ•์ œํ™”

4. ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ ์šฉ(SSA) ๊ฐœ์„ 

๊ฐœ๋ณ„ ๋ฆฌ์†Œ์Šค ๋‹จ์œ„๋กœ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ ์šฉ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Legacy ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ค‘์š” ๋ฒ„๊ทธ ์ˆ˜์ • ๋‚ด์—ญ

1. ํ”„๋ก์‹œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค ๊ด€๋ฆฌ ๊ฐœ์„ 

๋Œ€์ƒ ์„œ๋ฒ„์™€ ์ด๋ฆ„ ๊ธฐ๋ฐ˜์˜ ํ”„๋ก์‹œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค ๊ด€๋ฆฌ ๋ฐฉ์‹์„ ์žฌ์„ค๊ณ„ํ•˜์—ฌ, ๋‹ค์ค‘ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ™˜๊ฒฝ์—์„œ์˜ ์ด๋ฏธ์ง€ ํ’€ ์‹คํŒจ์œจ์„ 27% ๊ฐ์†Œ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ํ”„๋ผ์ด๋น— ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ ์ค‘์š”ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

# ์ˆ˜์ • ์ „
registry.proxy: global-key

# ์ˆ˜์ • ํ›„ 
registry.proxy.<destination-server>: server-specific-key

๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค ๊ด€๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒˆ๋กœ๊ณ ์นจ ์„ฑ๋Šฅ ๊ฐœ์„ 

controller.cluster.cache.batch.events.processing ๋ฐ controller.cluster.cache.events.processing.interval ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 10,000๊ฐœ ์ด์ƒ์˜ ํŒŒ๋“œ๋ฅผ ๊ฐ€์ง„ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ UI ์‘๋‹ต ์†๋„๊ฐ€ 300% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

1. Redis/Haproxy ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ณ€๊ฒฝ

DockerHub ๋Œ€์‹  AWS ECR์„ ๊ธฐ๋ณธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ, Cosign ์„œ๋ช… ๊ฒ€์ฆ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” ECR ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๋“ฑ๋ก์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

2. ApplicationSet ์„ ํƒ์ž ๋™์ž‘ ๋ณ€๊ฒฝ

์ค‘์ฒฉ ์„ ํƒ์ž(nested selectors)๊ฐ€ ํ•ญ์ƒ ์ ์šฉ๋˜๋„๋ก ๋™์ž‘ ๋ฐฉ์‹์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด applyNestedSelectors: false ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋˜ ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ฒ€์ถœ ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

kubectl get appsets -o=json | jq -r '.items[] | select(.spec.applyNestedSelectors != true) | .metadata.name'

ํ˜ธํ™˜์„ฑ ๊ฒ€์‚ฌ ๋ช…๋ น์–ด

์ง„ํ™” ๋ฐฉํ–ฅ์„ฑ

v2.14.2๋Š” AI ๊ธฐ๋ฐ˜ ์˜ˆ์ธก ๋™๊ธฐํ™” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ v3.0 ๋Œ€๋น„ ์ค€๋น„ ๋‹จ๊ณ„๋กœ, ํ–ฅํ›„ ๋ฒ„์ „์—์„œ๋Š” eBPF ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋ถ„์„ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ 78%์˜ Fortune 500 ๊ธฐ์—…์ด ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ArgoCD๋ฅผ ํ‘œ์ค€ ํ”Œ๋žซํผ์œผ๋กœ ์ฑ„ํƒํ•œ ์ƒํƒœ์—์„œ, ์ง€์†์ ์ธ ์•ˆ์ •์„ฑ ๊ฐ•ํ™”๊ฐ€ ๊ฐœ๋ฐœ ๋กœ๋“œ๋งต์˜ ์ตœ์šฐ์„  ๊ณผ์ œ๋กœ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ์˜ ์šด์˜ ํšจ์œจ์„ฑ ์ฆ๋Œ€์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 2025๋…„ 1์›” ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด, v2.14.2๋Š” ๋™์ผ ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘์—์„œ v2.13 ๋Œ€๋น„ ์ตœ๋Œ€ 150%์˜ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ–ฅ์ƒ์„ ๋‹ฌ์„ฑํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'Cloud/ArgoCD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ArgoCD: ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ๋ฐ˜ GitOps ์ง€์†์  ๋ฐฐํฌ์˜ ํ˜๋ช…์  ๋„๊ตฌ
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
์ผ์ƒ, ๊ฒŒ์ž„, ๋ง›์ง‘, ์—ฌํ–‰, ๊ฐœ๋ฐœ, IT ๋ธ”๋กœ๊ทธ๐Ÿงž
  • ์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
    ์š”์ˆ  ๋žจํ”„๐Ÿซ–
    ์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (549)
      • Languages (57)
        • JAVA (13)
        • JSP (1)
        • C_C++ (4)
        • Html (3)
        • CSS (1)
        • JavaScript (18)
        • Python (3)
        • Kotlin (13)
        • TypeScript (1)
      • Framework (14)
        • spring (11)
        • jstl (1)
        • angular (2)
      • Tool (28)
        • Eclipse (5)
        • vsCode (3)
        • scrcpy (2)
        • Git (1)
        • IntelliJ (6)
        • Visual-studio (1)
        • UML (1)
        • Gradle (8)
      • DB (6)
        • Oracle (1)
        • MySql (3)
        • Mongo (2)
      • OS (14)
        • Linux (2)
        • Windows (12)
      • Server (8)
        • Tomcat (1)
        • Apache (1)
        • Node.js (6)
      • Programmings (25)
        • Design Pattern (2)
        • Funny (20)
        • Algorithms (3)
      • Cloud (8)
        • Docker (1)
        • Kubernetes (4)
        • Istio (1)
        • ArgoCD (2)
      • IT (5)
        • gRPC (3)
        • RESTful (3)
        • Web UI (5)
        • AI (4)
      • Book (6)
      • TIP (187)
      • Life (53)
      • Game (83)
      • Storage (22)
      • ์‹๋‹น (15)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ์‚ฌ์ดํŠธ๋งต
    • RSS
    • ๊ธฐํƒ€ ์†Œ๋“
  • ๋งํฌ

    • ๊ตฌ๊ธ€
    • ๋„ค์ด๋ฒ„
    • ์ •๋ถ€24
    • Spring Framework ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ
    • Kotlin ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ
    • ์นด์นด์˜ค ์• ๋“œํ•
    • ๋ธ”๋กœ๊ทธ ์‚ฌ์ดํŠธ๋งต
    • ๋ธ”๋กœ๊ทธ RSS
  • ๊ณต์ง€์‚ฌํ•ญ

    • ์•ˆ๋…•ํ•˜์„ธ์š”
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์˜ค๋Š˜์˜๋‰ด์Šค
    ๋ชฌ์Šคํ„ฐํ—Œํ„ฐ๋‚˜์šฐ
    ๋ธŒ๋ฆฌํ•‘
    ํƒœ๊ตญ
    ๋‰ด์Šค
    ๋ฐ์ผ๋ฆฌ ๋‰ด์Šค
    ํ€˜์ŠคํŠธ
    ๋‰ด์Šค ๋ธŒ๋ฆฌํ•‘
    ๋ชฌ์Šคํ„ฐํ—Œํ„ฐ์™€์ผ์ฆˆ
    ํ•œ๋ˆˆ์— ๋ณด๋Š” ์˜ค๋Š˜์˜ ๋‰ด์Šค
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
[ArgoCD] v2.14.2 ๋ณ€๊ฒฝ๋œ ์ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”