Skip to main content

Helm ๊ฐœ์š”

About 2 minDevOpsKubernetesVMHelmcrashcoursedevkuma.comkubernetesk8shelm

Helm ๊ฐœ์š” ๊ด€๋ จ

๋ชฉ์ฐจ

Helm | devkuma

Helm ๊ฐœ์š” | devkuma
ํ—ฌ๋ฆ„(Helm)๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์— ๋จผ์ € ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•ด์„œ ๋ชจ๋ฅธ๋‹ค๋ฉด, Kubernetes์— ๋Œ€ํ•ด ๋จผ์ € ํ•™์Šต์„ ํ•˜๊ณ  ์˜ค๊ธธ ๋ฐ”๋ž€๋‹ค.

ํ—ฌ๋ฆ„(Helm)๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์— ๋จผ์ € ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•ด์„œ ๋ชจ๋ฅธ๋‹ค๋ฉด, Kubernetes์— ๋Œ€ํ•ด ๋จผ์ € ํ•™์Šต์„ ํ•˜๊ณ  ์˜ค๊ธธ ๋ฐ”๋ž€๋‹ค.


Helm ๊ฐœ์š”

Helm(ํ—ฌ๋ฆ„)์€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์šฉ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ, Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐฐํฌ์— ์ด โ€œHelm(ํ—ฌ๋ฆ„)โ€ ์ด๋ผ๋Š” ๋„๊ตฌ๋ฅผ ํ™œ์šฉ๋œ๋‹ค.

Helm์€ ์„ค์ • ํŒŒ์ผ์„ ๋ฐ”ํƒ•์œผ๋กœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ๋ฅผ ์ž๋™ ์‹คํ–‰ํ•˜๋Š” ๋„๊ตฌ๋กœ Kubernetes ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €(package manger)๋กœ์„œ ํ˜„์žฌ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ œํ’ˆ์ด๋‹ค.

Helm์€ Deis(2017๋…„์— Microsoft๊ฐ€ ์ธ์ˆ˜)ํ•œ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜๋กœ, 2015๋…„์— ๊ฐœ์ตœ๋œ ์ตœ์ดˆ์˜ KubeCon(The Kubernetes Community Conference)์—์„œ Helm Classic์œผ๋กœ ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. Helm ํ”„๋กœ์ ํŠธ๋Š” 2016๋…„ 1์›” Kubernetes ํ”„๋กœ์ ํŠธ์™€ ํ†ตํ•ฉ๋˜์–ด Kubernetes์˜ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  2016๋…„ ํ›„๋ฐ˜์— Helm 2.0, 2018๋…„ 6์›”์— Helm 3.0์ด ์ถœ์‹œ๋˜์–ด ๋ณธ๊ฒฉ์ ์ธ CNCF(Cloud Native Computing Foundation) ํ”„๋กœ์ ํŠธ๋กœ ์Šน๊ฒฉ๋˜์—ˆ๋‹ค.


Kubernetes์— ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์‹ค์ƒ ํ‘œ์ค€ ๋„๊ตฌ์ธ โ€œHelmโ€

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

Kubernetes๋Š” ์„œ๋น„์Šค๋ฅผ ์—ฌ๋Ÿฌ ์†Œ๊ทœ๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์™€ ๊ถํ•ฉ์ด ์ข‹๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ์˜ ์„œ๋น„์Šค์—์„œ๋Š” ๊ฐ ์ปจํฌ๋„ŒํŠธ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค. ๋˜, ์„œ๋น„์Šค๋ฅผ ์™ธ๋ถ€์— ๊ณต๊ฐœํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜, ๊ฐ์ข… ์„ค์ •์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์— โ€œ๋ฆฌ์†Œ์Šค"๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์„ค์ •์„ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ๋•Œ๋กœ๋Š” ๋ณต์žกํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•˜๊ฑฐ๋‚˜ ๋ฐฐํฌ๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ๊ฐ€ ๋“ฑ์žฅํ•˜๊ณ  ์žˆ๋‹ค.

์ด๋ฒˆ์— ์†Œ๊ฐœํ•˜๋ ค๋Š” Helm์€ ๊ทธ๋Ÿฌํ•œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํˆด ์ค‘์— ํ•˜๋‚˜์ด๋‹ค (๊ทธ๋ฆผ 1).

Helm ๊ณต์‹ ์›น์‚ฌ์ดํŠธ
Helm ๊ณต์‹ ์›น์‚ฌ์ดํŠธ

์ตœ๊ทผ์˜ OS๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋Œ€๋ถ€๋ถ„์—์„œ๋Š” ์ œ3์ž(Third-party)๋กœ ์ธํ•ด ๋งŒ๋“ค์–ด์ง„ ์†Œํ”„ํŠธ์›จ์–ด(ํŒจํ‚ค์ง€) ๋ชจ์™€์„œ ๊ณต๊ฐœํ•˜๋Š” ์„œ๋น„์Šค(๋ฆฌํฌ์ง€ํ† ๋ฆฌ)๊ฐ€ ์ œ๊ณต๋˜๊ณ  ์žˆ๊ณ , ๊ฑฐ๊ธฐ์— ๊ณต๊ฐœ๋˜๊ณ  ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒ€์ƒ‰์ด๋‚˜ ๋‹ค์šด๋กœ๋“œ, ์ธ์Šคํ†จ ๋“ฑ์„ ๊ฐ„๋‹จํ•œ ์กฐ์ž‘์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” โ€œํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €"๋ผ๊ณ  ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ œ๊ณต๋˜์–ด ์žˆ๋‹ค. Helm์€ Kubernetes์šฉ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, OS๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ๋‹ค. Helm์ด ์ œ๊ณตํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • Chart๋ผ๊ณ  ํ•˜๋Š” ์„ค์ • ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค ์ž๋™ ์ƒ์„ฑ
  • ๋ฐฐํฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ญ์ œ ๋ฐ ์—…๋ฐ์ดํŠธ์™€ ๊ฐ™์€ ๊ด€๋ฆฌ
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ฒŒ์‹œ๋œ Chart ์ฐพ๊ธฐ, ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
  • Chart ํŒจํ‚ค์ง• ๋ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์—…๋กœ๋“œ

Kubernetes์˜ ๋ฒ ์ด์Šค๊ฐ€ ๋˜๊ณ  ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์˜ Docker์—์„œ๋Š” ์ด๋ฏธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฉ”์นด๋‹ˆ์ฆ˜์ด ์ด๋ฏธ ์ค€๋น„๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ Helm์—์„œ๋Š” ์ด๋ฏธ์ง€ ์ž์ฒด๋Š” ์ง์ ‘ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ , โ€œChart(์ฐจํŠธ)โ€œ๋ผ๊ณ  ํ•˜๋Š” ์„ค์ • ํŒŒ์ผ๋งŒ์„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๋˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ ์„ ์ œ์™ธํ•˜๋ฉด Helm์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ผ๋ฐ˜์ ์ธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๊ฑฐ์˜ ๋™์ผํ•˜๋ฉฐ, helm์ด๋ผ๋Š” CLI ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Chart๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜, ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์— ์ž๋™์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜, Helm์—์„œ๋Š” โ€œstable"๋‚˜ โ€œincubator"๋ผ๊ณ  ํ•˜๋Š” ๋ช…์นญ์˜ ๊ณต์‹ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์ œ๊ณต๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ ์™ธ์—, ์จ๋“œ ํŒŒํ‹ฐ์— ์˜ํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋„ ๋งŽ์ด ์ œ๊ณต๋˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ณต๊ฐœ๋œ Chart๋Š” Arfifact Hubopen in new window๋ผ๋Š” ์‚ฌ์ดํŠธ์—์„œ ํ†ตํ•ด์„œ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ์žˆ๋‹ค(๊ทธ๋ฆผ 2).

Helm์˜ ๊ณต์‹ ์ €์žฅ์†Œ โ€œArfifact Hubโ€
Helm์˜ ๊ณต์‹ ์ €์žฅ์†Œ โ€œArfifact Hubโ€

Helm์˜ ์—ญ์‚ฌ์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ

Helm์€ 2016๋…„ 2์›”์— v1.0์ด ๋ฆด๋ฆฌ์Šค๋˜์–ด, ํ˜„์žฌ๊นŒ์ง€ 2๋ฒˆ์˜ ๋ฉ”์ด์ € ์—…๋ฐ์ดํŠธ๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ตœ์‹ ํŒ์€ 2022๋…„ 8์›”์— ๋ฐœ๋งค๋œ v3.9.4์ด๋‹ค.

  • Helm v1
    • 2015๋…„ DEIS์˜ ๋‚ด๋ถ€ ํ”„๋กœ์ ํŠธ๋กœ ์‹œ์ž‘
      • 2017๋…„ DEIS๋Š” Microsoft์— ์ธ์ˆ˜
  • Helm v2
    • 2016๋…„ 1์›” : Google ํ”„๋กœ์ ํŠธ์— ํ•ฉ๋ฅ˜
    • 2016 ~ 2018๋…„ : Helm2 ๊ณ ๋„ํ™”(2.0.0 ~ 2.12.2)
    • 2018๋…„ 6์›” : CNCF ํ”„๋กœ์ ํŠธ์— ํ•ฉ๋ฅ˜
  • Helm v3
    • 2019๋…„ 11์›” : ๋ฆด๋ฆฌ์ฆˆ ๋ฐœํ‘œ
    • 2019๋…„ ~ 2021๋…„ : Helm3 ๊ณ ๋„ํ™”(3.0.0 ~3.5.2)

์˜ˆ๋‹น์ดˆ Kubernetes์˜ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋กœ์„œ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ๊ทธ ํ›„ Linux Foundation ์‚ฐํ•˜์˜ ๋น„์˜๋ฆฌ ๋‹จ์ฒด์ธ Cloud Native Computing Foundation(CNCF) ์‚ฐํ•˜๊ฐ€ ๋˜์–ด, ํ˜„์žฌ๋„ ๊ทธ ์ฒด์ œ๋กœ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ๋‹ค. CNCF๋Š” ํด๋ผ์šฐ๋“œ ๊ด€๋ จ ๊ธฐ์ˆ  ๊ฐœ๋ฐœ์„ ์ถ”์ง„ํ•˜๋Š” ๋‹จ์ฒด๋กœ Kubernetes ์ž์ฒด๋„ CNCF ์‚ฐํ•˜์—์„œ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ญ์‚ฌ์  ๋ฐฐ๊ฒฝ ๋•Œ๋ฌธ์— Helm์€ Kubernetes์˜ (์‚ฌ์‹ค์ƒ) ๊ณต์‹ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ผ๊ณ ๋„ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

Helm ํ”„๋กœ์ ํŠธ ์ž์‹ ์ด ์ œ๊ณตํ•˜๋Š” โ€œstable"์ด๋‚˜ โ€œincubatorโ€ ๋“ฑ์˜ ๊ณต์‹ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ๋Š” ์ด๋ฏธ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ Chart๊ฐ€ ๊ณต๊ฐœ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์œ ์ง€์— ์˜ํ•ด ์ž‘์„ฑ๋œ Chart๋„ ๋งŽ์ด ๊ณต๊ฐœ๋˜๊ณ  ์žˆ๋‹ค. ๋˜, ์ด์ „์— ์†Œ๊ฐœํ•œ Kubernetes ๊ด€๋ จ ํˆด์˜ Istio ๋‚˜ Jenkins X ๋ผ๊ณ  ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์—์„œ๋„, Helm์ด ๊ณต์‹์˜ ์„ค์น˜ ๋„๊ตฌ์œผ๋กœ์„œ ์ฑ„ํƒ๋˜์–ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

๋ง๋ถ™์—ฌ, helm์€ ์„ ๋ฐ• ๋“ฑ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฐ์˜ ํ‚ค๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋‹จ์–ด์ด๋‹ค. ๋˜, chart๋Š” ํ–ฅํ•ด์šฉ ์ง€๋„์—์„œ ์œ ๋ž˜ํ•˜๊ณ  ์žˆ๋‹ค.


Helm์˜ ์ฃผ์š” ํŠน์ง•

Helm์€ Go ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Helm ํด๋ผ์ด์–ธํŠธ์™€ Helm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋‘ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

Helm์€ Helm ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด Kubernetes์—์„œ ์‹คํ–‰๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ Linux yum ๋ช…๋ น๊ณผ ๊ฐ™์ด ์„ค์น˜ (๋ฐฐํฌ)ํ•˜๊ณ  ์ œ๊ฑฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ๋Š” ์ฐจํŠธ(Chart)๋ผ๋Š” ํŒจํ‚ค์ง€ํ™”๋œ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋œ๋‹ค. ์ฐจํŠธ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๋˜ํ•œ Artifact Hub๋ผ๋Š” ์‚ฌ์ดํŠธ์—๋Š” ๋‹ค์–‘ํ•œ ์ฐจํŠธ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Helm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Kubernetes ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Kubernetes์™€ ํ†ต์‹ ํ•œ๋‹ค. ํ†ต์‹ ์—๋Š” REST+JSON์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ž์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ Kubernetes ๋น„๋ฐ€์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•œ๋‹ค.

Helm์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์ฐจํŠธ: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ ์ง‘ํ•ฉ์ด๋‹ค.
  • ๊ตฌ์„ฑ: ์ฐจํŠธ ์„ค์น˜์‹œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.
  • ๋ฆด๋ฆฌ์Šค: ์ฐจํŠธ๊ฐ€ ์„ค์น˜๋˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(๋ฆด๋ฆฌ์Šค ์˜ค๋ธŒ์ ํŠธ)์ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฆด๋ฆฌ์Šค๋ผ๊ณ  ํ•œ๋‹ค.

Helm์€ ๋‹ค์Œ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ฐจํŠธ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ
  • ์ฐจํŠธ๋ฅผ ์ฐจํŠธ ์•„์นด์ด๋ธŒ(tgz)๋กœ ํŒจํ‚ค์ง•
  • ์ฐจํŠธ๊ฐ€ ์ €์žฅ๋œ ์ฐจํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ž‘์—…
  • Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์— ์ฐจํŠธ ์„ค์น˜ ๋ฐ ์ œ๊ฑฐ
  • Helm์œผ๋กœ ์„ค์น˜ํ•œ ์ฐจํŠธ์˜ ๋ฆด๋ฆฌ์Šค์ฃผ๊ธฐ ๊ด€๋ฆฌ

Helm ํด๋ผ์ด์–ธํŠธ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์—ญํ• ์€ ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Helm ํด๋ผ์ด์–ธํŠธ

์ตœ์ข… ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋ช…๋ น์ค„ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค์Œ์„ ๋‹ด๋‹นํ•œ๋‹ค.

  • ๋กœ์ปฌ ์ฐจํŠธ ๊ฐœ๋ฐœ
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ด€๋ฆฌ
  • ๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ
  • Helm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ˜‘๋ ฅํ•˜์—ฌ ์ฐจํŠธ๋ฅผ ์ œ์ถœํ•˜๊ฑฐ๋‚˜ ๋ฆด๋ฆฌ์Šค ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ์ œ๊ฑฐ ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Helm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋ชจ๋“  Helm ์ž‘์—…์„ Kubernetes API์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•œ๋‹ค.

  • ์ฐจํŠธ์—์„œ ๋ฆด๋ฆฌ์Šค ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ
  • ๋ฆด๋ฆฌ์Šค ๊ฐ์ฒด๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  Kubernetes์— ์„ค์น˜
  • ๋ฆด๋ฆฌ์Šค ๊ฐ์ฒด๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๊ธฐ

Helm๊ณผ ์œ ์‚ฌํ•œ ๋„๊ตฌ

Helm๊ณผ ์œ ์‚ฌํ•œ ๋„๊ตฌ๋กœ๋Š” Ksonnet, Kapitan, Kustomize, kompose ๋ฐ Ansible์ด ์žˆ๋‹ค.


Helm ๋ช…๋ น์˜ ์˜ˆ

helm install   # ์ฐจํŠธ๋ฅผ ์„ค์น˜ํ•œ๋‹ค.
helm list      # ๋ฆด๋ฆฌ์Šค ๋ชฉ๋ก์„ ํ‘œ์‹œํ•œ๋‹ค. 
helm pull      # ์ฐจํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋กœ์ปฌ๋กœ ํ™•์žฅํ•œ๋‹ค. 
helm repo add  # ์ฐจํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
helm repo list # ์ฐจํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•œ๋‹ค.
helm search    # ์ฐจํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค. 
helm show      # ์ฐจํŠธ์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.
helm uninstall # ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
helm upgrade   # ์ƒˆ ์ฐจํŠธ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค.

์ฐธ๊ณ 

Helm
Helm - The Kubernetes Package Manager.
GitHub - helm/helm: The Kubernetes Package Manager
The Kubernetes Package Manager. Contribute to helm/helm development by creating an account on GitHub.
Artifact Hub
Find, install and publish Cloud Native packages

์ด์ฐฌํฌ (MarkiiimarK)
Never Stop Learning.