[DevCamp] ๐Ÿ“ก ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์™„์ „ ์ •๋ณต

๋™๊ฑดยท2025๋…„ 6์›” 16์ผ

DevCamp

๋ชฉ๋ก ๋ณด๊ธฐ
84/85

๐Ÿ“ก ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์™„์ „ ์ •๋ณต

์„œ๋น„์Šค๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
CI/CD ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

์ž๋™ํ™”๋œ ์‹œ์Šคํ…œ์ด๋”๋ผ๋„ ์–ธ์ œ๋“ ์ง€ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—,
์ด๋ฅผ ์กฐ๊ธฐ์— ํŒŒ์•…ํ•˜๊ณ  ๋Œ€์‘ํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค.


๐Ÿ” ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง์ด๋ž€?

ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง์€

์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋œ ํ›„ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๊นŒ์ง€ ์ง„ํ–‰๋˜๋Š” ๊ณผ์ •์„ ์ถ”์ ํ•˜๊ณ  ๊ฐ์‹œํ•˜๋Š” ์ž‘์—…์ด๋‹ค.
๊ฐœ๋ฐœ ํšจ์œจ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ๋‹จ๊ณ„์˜ ์ƒํƒœ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ฃผ์š” ๋ชจ๋‹ˆํ„ฐ๋ง ํฌ์ธํŠธ

  • ๋นŒ๋“œ ์„ฑ๊ณต ์—ฌ๋ถ€์™€ ์‹œ๊ฐ„
    โ†’ ๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€, ์†Œ์š” ์‹œ๊ฐ„์€ ์–ด๋А ์ •๋„์ธ์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๋นŒ๋“œ ์‹คํŒจ๋Š” ๋Œ€๋ถ€๋ถ„ ์ฝ”๋“œ ์˜ค๋ฅ˜๋‚˜ ํ™˜๊ฒฝ ์„ค์ • ๋ฌธ์ œ๋กœ ๋ฐœ์ƒํ•œ๋‹ค.

  • ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ฒฐ๊ณผ
    โ†’ ์œ ๋‹› ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋“ฑ์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.

  • ๋ฐฐํฌ ์„ฑ๊ณต ์—ฌ๋ถ€
    โ†’ ์ž๋™ ๋ฐฐํฌ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์กŒ๋Š”์ง€, ๋กค๋ฐฑ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์€ ์—†๋Š”์ง€ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•œ๋‹ค.

  • ๋กœ๊ทธ ๋ฐ ์•Œ๋ฆผ ์„ค์ •
    โ†’ ์‹คํŒจ ์‹œ ์Šฌ๋ž™, ์ด๋ฉ”์ผ ๋“ฑ์œผ๋กœ ์•Œ๋ฆผ์ด ์˜ค๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋กœ๊ทธ๊ฐ€ ์ž˜ ๋‚จ๋„๋ก ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ถ”์ฒœ ๋„๊ตฌ

  • GitHub Actions / GitLab CI
  • CircleCI / Jenkins
  • Datadog CI Visibility, New Relic CI/CD ๋ชจ๋‹ˆํ„ฐ๋ง

๐Ÿ–ฅ๏ธ ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์ด๋ž€?

ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์—ฌ๋Ÿฌ ์„œ๋ฒ„(๋…ธ๋“œ)๋“ค์ด ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ํ™˜๊ฒฝ์ด๋‹ค.
Kubernetes๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ,
Pod ์ƒํƒœ, ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰, ๋„คํŠธ์›Œํฌ ์ง€์—ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ์š”์†Œ๋ฅผ ์ง€์†์ ์œผ๋กœ ์ฒดํฌํ•ด์•ผ ํ•œ๋‹ค.

์ฃผ์š” ๋ชจ๋‹ˆํ„ฐ๋ง ํฌ์ธํŠธ

  • CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰
    โ†’ ๊ฐ Pod ๋ฐ ๋…ธ๋“œ์˜ ์ž์› ์‚ฌ์šฉ ํ˜„ํ™ฉ์„ ํ™•์ธํ•˜์—ฌ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

  • Pod ์ƒํƒœ ๋ฐ ์žฌ์‹œ์ž‘ ์—ฌ๋ถ€
    โ†’ CrashLoopBackOff, Pending ๋“ฑ์˜ ์ƒํƒœ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”์ง€ ์‚ดํŽด๋ด์•ผ ํ•œ๋‹ค.

  • ๋„คํŠธ์›Œํฌ ์ƒํƒœ
    โ†’ ๋„คํŠธ์›Œํฌ ์ง€์—ฐ์ด๋‚˜ DNS ์˜ค๋ฅ˜ ๋“ฑ์€ ์„œ๋น„์Šค ์žฅ์• ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

  • ์„œ๋น„์Šค ๋ฐ ์ธ๊ทธ๋ ˆ์Šค ์ƒํƒœ
    โ†’ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€, ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์ด ์ •์ƒ์ ์ธ์ง€๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

์ถ”์ฒœ ๋„๊ตฌ

  • Prometheus + Grafana
  • Kube-state-metrics
  • Lens (GUI ๊ธฐ๋ฐ˜ Kubernetes ๊ด€๋ฆฌ ํˆด)
  • Datadog, New Relic, AWS CloudWatch ๋“ฑ

๐Ÿ“ ์ •๋ฆฌ

  • ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‘ ์‚ฌ์ „ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์ฒด๊ณ„๋ฅผ ๊ฐ–์ถ”๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.
  • ์ž˜ ์„ค์ •๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์€ ์žฅ์• ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๋ฌด๊ธฐ์ด๋‹ค.
  • ์ดˆ๊ธฐ์— ์กฐ๊ธˆ ๋ณต์žกํ•˜๋”๋ผ๋„, ์ ์ฐจ ์ž๋™ํ™”์™€ ์‹œ๊ฐํ™”๋ฅผ ํ†ตํ•ด ์šด์˜์˜ ํšจ์œจ์„ฑ์„ ๋†’์—ฌ๊ฐ€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
profile
๋ฐฐ๊ณ ํ”ˆ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€