Helm์€ Kubernetes๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. CNCF์˜ ์กธ์—… ๋‹จ๊ณ„ ํ”„๋กœ์ ํŠธ(Graduated Project)์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
Helm์˜ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

YAML ํŒŒ์ผ ํ…œํ”Œ๋ฆฟ

์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” Kubernetes(K8s)๋Š” ๊ทธ ์ž์ฒด๋กœ ํ›Œ๋ฅญํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, K8s๋Š” ๊ฐ๊ฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ YAML ์„ค์ • ํŒŒ์ผ์ด ํ•„์š”ํ•˜๊ณ , ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์ด ๋ชจ์˜€์„ ๋•Œ ๋น„๋กœ์†Œ ํ•˜๋‚˜์˜ ์•ฑ์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ์•„์ฃผ ์ž‘์€ ์•ฑ ํ•˜๋‚˜๋ฅผ K8s ํ™˜๊ฒฝ์—์„œ ์™ธ๋ถ€๋กœ ๋…ธ์ถœ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค๋ฉด ๋ฌด์—‡์ด ํ•„์š”ํ• ๊นŒ์š”? ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋„ ์ตœ์†Œ 3๊ฐœ์˜ ์š”์†Œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์•ฑ์„ ๊ตฌ๋™์‹œํ‚ฌ Pod
  • ์ด Pod๋ฅผ ๋„คํŠธ์›Œํฌ์— ๋…ธ์ถœ์‹œํ‚ฌ Service
  • ์ด Service๋ฅผ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•  Ingress

์ง€๊ธˆ๋„ ์ด๋ฏธ 3๊ฐœ์˜ YAML ํŒŒ์ผ๋“ค์„ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๊ตฌ์„ฑ์ด ๋” ๋ณต์žกํ•ด์ง„๋‹ค๋ฉด? ๋ณ„๋„ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด? ์„ค์ • ํŒŒ์ผ์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? ๊ด€๋ฆฌํ•ด์•ผ ํ•  ์š”์†Œ๋Š” ๋” ๋Š˜์–ด๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Helm์€ ์—ฌ๋Ÿฌ YAML ํŒŒ์ผ๋“ค์„ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ Helm์—์„œ๋Š” Helm chart๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Helm chart๋ฅผ ํ†ตํ•ด ์—ฐ๊ด€๋œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ , ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ๊ฐ๊ฐ ๋ฐฐํฌํ•  ํ•„์š” ์—†์ด ํ•œ ๋ฒˆ์— ๋ฐฐํฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํšจ์œจ์ ์ธ ์‚ฌ์šฉ์ž ๋ณ€์ˆ˜ ๊ด€๋ฆฌ

๊ฑฐ์˜ ๋ชจ๋“  ์•ฑ์—๋Š” ์‚ฌ์šฉ์ž ๋ณ€์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์‚ฌ์šฉ์ž ๋ณ€์ˆ˜๋“ค์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ท€์ฐฎ๊ณ  ์–ด๋ ค์šด ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค์— ์‚ฌ์šฉ์ž ๋ณ€์ˆ˜๊ฐ€ ํฉ์–ด์ ธ ์žˆ๋‹ค๋ฉด ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ๋ณ€์ˆ˜์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„์•ผ ํ•˜๊ณ , ์ด ๊ณผ์ •์—์„œ ์˜๋„ํ•˜์ง€ ์•Š์€ ํœด๋จผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
Helm์€ ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ž ๋ณ€์ˆ˜๋ฅผ values.yaml ํŒŒ์ผ์—์„œ ๋ชจ๋‘ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Helm์˜ YAML ํŒŒ์ผ๋“ค์€ values.yaml ํŒŒ์ผ์˜ ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก Go ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์„ค์ • ์˜ค๋ฅ˜๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์ด๋ฉด์„œ ํšจ์œจ์ ์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ๋™์  ๋ฐฐํฌ/๊ด€๋ฆฌ

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



Helm์˜ ์ž์„ธํ•œ ์‚ฌ์šฉ๋ฒ•์€ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.