ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐Ÿš€ argocd install kubernetes cluster aws โ€” common mistakes and how to avoid them
Dev.toDev.to
DevOps

EKS ๊ธฐ๋ฐ˜ GitOps ๊ตฌ์ถ•์„ ํ†ตํ•œ State Enforcement ๋ฐ ์„ค์ • Drift ์™„์ „ ์ œ๊ฑฐ

๐Ÿš€ argocd install kubernetes cluster aws โ€” common mistakes and how to avoid them

Python-T Point2026๋…„ 4์›” 29์ผ9๋ถ„intermediate

Context

์ˆ˜๋™ kubectl apply ๋ฐฉ์‹์— ์˜์กดํ•œ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋กœ ์ธํ•œ ํ™˜๊ฒฝ ๊ฐ„ ์„ค์ • ๋ถˆ์ผ์น˜์™€ ์ถ”์  ๋ถˆ๊ฐ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐœ์ƒ. ํŠนํžˆ IAM ๊ถŒํ•œ ์„ค์ • ๋ฏธํก๊ณผ Namespace ๊ด€๋ฆฌ ๋ถ€์žฌ๋กœ ์ธํ•œ Production ํ™˜๊ฒฝ์˜ ๊ฐ€์‹œ์„ฑ ์ €ํ•˜ ๋ฐ ์žฅ์•  ๋ณต๊ตฌ ์ง€์—ฐ ๋ฌธ์ œ ์ง๋ฉด.

Technical Solution

  • Helm ๊ธฐ๋ฐ˜ Version Pinning ๋„์ž…์„ ํ†ตํ•œ CRD ํ˜ธํ™˜์„ฑ ํ™•๋ณด ๋ฐ ๋กค๋ฐฑ ๊ฐ€๋Šฅ ๊ตฌ์กฐ ์„ค๊ณ„
  • IRSA(IAM Roles for Service Accounts) ์„ค์ •์„ ํ†ตํ•œ ArgoCD์˜ Cluster ๋ฆฌ์†Œ์Šค ๊ฐ์‹œ ๋ฐ ์ˆ˜์ • ๊ถŒํ•œ ์ตœ์†Œํ™”
  • Namespace Isolation ์ „๋žต์„ ์ ์šฉํ•˜์—ฌ RBAC ๋ฐ Sidecar ์„ค์ • ์ถฉ๋Œ ๋ฐฉ์ง€์™€ ๊ด€๋ฆฌ ์˜์—ญ ๋ถ„๋ฆฌ
  • Idempotency ํ™•๋ณด๋ฅผ ์œ„ํ•ด helm upgrade --install ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ์•ˆ์ •ํ™”
  • Git Source of Truth ์›์น™ ๊ธฐ๋ฐ˜์˜ Self-healing ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌ์ถ•ํ•˜์—ฌ ์ˆ˜๋™ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์ž๋™ ๋ณต๊ตฌ ๊ตฌํ˜„
  • ALB Ingress ํ†ตํ•ฉ์„ ํ†ตํ•œ Production ํ™˜๊ฒฝ์˜ TLS ๋ณด์•ˆ ์ ์šฉ ๋ฐ ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜ ์•ก์„ธ์Šค ์ œ์–ด

- ArgoCD ์„ค์น˜ ์‹œ ์ตœ์‹  ๋ฒ„์ „ ๋Œ€์‹  ํŠน์ • ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ CRD ํŒŒ์† ๋ฐฉ์ง€ - installCRDs=true ์˜ต์…˜์„ ํ†ตํ•ด Application ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ์ „ CRD ์šฐ์„  ๋ฐฐํฌ ํ™•์ธ - Default Namespace ์‚ฌ์šฉ์„ ๊ธˆ์ง€ํ•˜๊ณ  ์ „์šฉ Namespace๋ฅผ ํ†ตํ•œ ๋ฆฌ์†Œ์Šค ๊ฒฉ๋ฆฌ ์ˆ˜ํ–‰ - EKS ํ™˜๊ฒฝ์—์„œ AccessDenied ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ IRSA ๊ถŒํ•œ ๋ฐ kubeconfig ์ปจํ…์ŠคํŠธ ์šฐ์„  ์ ๊ฒ€

์›๋ฌธ ์ฝ๊ธฐ