๐Ÿš€ Helm ์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ํ•ต์‹ฌ Cheat Sheet ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

Helm์€ Kubernetes์šฉ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ, ์ฐจํŠธ(chart) ๊ธฐ๋ฐ˜ ๋ฐฐํฌยท์—…๊ทธ๋ ˆ์ด๋“œยท๋กค๋ฐฑ์„ ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด Cheat Sheet๋Š” Helm์˜ ๊ฐœ๋…, ์„ค์น˜ ๋ฐฉ๋ฒ•, ํ•ต์‹ฌ ๋ช…๋ น์–ด๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Helm์€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŒจํ‚ค์ง•ยท๋ฐฐํฌยท๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
Chart(ํ…œํ”Œ๋ฆฟ ๊ทธ๋ฃน) โ†’ Release(๋ฐฐํฌ ์ธ์Šคํ„ด์Šค) โ†’ Repository(์ฐจํŠธ ์ €์žฅ์†Œ) ํ๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์น˜ยท์—…๊ทธ๋ ˆ์ด๋“œยท๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

:pushpin: ์š”์•ฝ

์ด ๊ธ€์€ Helm์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋น ๋ฅด๊ฒŒ ๋ณต์Šตํ•˜๋ ค๋Š” ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์‹ค๋ฌด ์ค‘์‹ฌ Cheat Sheet์ž…๋‹ˆ๋‹ค. Helm์˜ **๊ธฐ๋ณธ ๊ฐœ๋…(ChartยทReleaseยทRepository)**๋ถ€ํ„ฐ ์„ค์น˜ ๋ฐฉ๋ฒ•, **๊ฐ€์žฅ ์ž์ฃผ ์“ฐ์ด๋Š” ํ•ต์‹ฌ ๋ช…๋ น์–ด(install, upgrade, rollback, repo ๊ด€๋ฆฌ)**๊นŒ์ง€๋ฅผ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ•ด,

:backhand_index_pointing_right: Kubernetes ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•˜๊ณ  ์ผ๊ด€๋˜๊ฒŒ ๋ฐฐํฌยท์šด์˜ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์ง€์‹์„ ๋น ๋ฅด๊ฒŒ ์Šต๋“ํ•˜๋Š” ๋ฐ ๋ชฉ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • :bullseye: ๋Œ€์ƒ: Helm ์ž…๋ฌธ์ž ๋ฐ ์‹ค๋ฌด ๋ณต์Šต ํ•„์š”์ž
  • :puzzle_piece: ๋ฒ”์œ„: ๊ฐœ๋… โ†’ ์„ค์น˜ โ†’ ํ•„์ˆ˜ ๋ช…๋ น์–ด
  • :gear: ๋ชฉํ‘œ: Helm์„ โ€œ์™œ ์“ฐ๋Š”์ง€โ€๋ณด๋‹ค โ€œ๋ฐ”๋กœ ์“ฐ๊ธฐโ€์— ์ดˆ์ 

:pushpin: Helm Cheat Sheet ํ•ต์‹ฌ ๋‚ด์šฉ

์•„๋ž˜๋Š” Helm Cheat Sheet: Everything You Need to Know to Start Using Helm์˜ ์ „์ฒด ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ตฌ์กฐ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.

1) :puzzle_piece: Helm์˜ ์ •์˜ ๋ฐ ํ•ต์‹ฌ ๊ฐœ๋…

  • Helm์ด๋ž€?
    Kubernetes๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ, ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ •์˜ยทํŒจํ‚ค์ง€ยท๋ฐฐํฌยท์—…๊ทธ๋ ˆ์ด๋“œยท๋กค๋ฐฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ. ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์—†์ด CLI๋กœ ์ž‘๋™ํ•จ.

  • ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ

    • Chart: Kubernetes ๋ฆฌ์†Œ์Šค ์ •์˜ ๋ฐ ํ…œํ”Œ๋ฆฟ ๋ฌถ์Œ.
    • Release: ์ฐจํŠธ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌ๋œ ์ธ์Šคํ„ด์Šค.
    • Repository: ์ฐจํŠธ ์ €์žฅยท๊ณต์œ  ์žฅ์†Œ.
    • Values: ์„ค์น˜ ์‹œ ์‚ฌ์šฉ์ž ์„ค์ •๊ฐ’ ์ ์šฉ
  • ๊ธฐ๋Šฅ

    • ์„ค์น˜ยท์—…๊ทธ๋ ˆ์ด๋“œยท๋กค๋ฐฑ
    • ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ์ผ๊ด€๋œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ
    • ์˜์กด์„ฑ ์ •์˜ ๋ฐ ํ…œํ”Œ๋ ˆ์ดํŒ… ์ ์šฉ

2) :inbox_tray: ์„ค์น˜ & ์ดˆ๊ธฐ ์„ค์ •

  • Helm ์„ค์น˜ ๋ฐฉ๋ฒ•

    • ๋ฐ”์ด๋„ˆ๋ฆฌ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ
    • ํ”Œ๋žซํผ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € (macOS Homebrew, Windows Chocolatey ๋“ฑ)
    • ์Šคํฌ๋ฆฝํŠธ ์„ค์น˜
    • ์†Œ์Šค ๋นŒ๋“œ ์„ค์น˜ ๊ฐ€๋Šฅ
  • ์„ค์น˜ ํ™•์ธ

helm version

3) :rocket: Chart, Release & Repository ๊ฐœ๋… ์ƒ์„ธ

  • Chart ๊ตฌ์กฐ
    • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(Chart.yaml), ๊ธฐ๋ณธ๊ฐ’(values.yaml), ํ…œํ”Œ๋ฆฟ ๋””๋ ‰ํ† ๋ฆฌ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋จ.
  • Release
    • ํ•˜๋‚˜์˜ ์„ค์น˜ ์ธ์Šคํ„ด์Šค์ด๋ฉฐ ๋™์ผ ์ฐจํŠธ๋ฅผ ์—ฌ๋Ÿฌ Release๋กœ ๋ฐฐํฌ ๊ฐ€๋Šฅ.
  • Repository
    • ์™ธ๋ถ€ ๋˜๋Š” ๋‚ด๋ถ€ ์ €์žฅ์†Œ์—์„œ ์ฐจํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๊ด€๋ฆฌํ•จ.

4) :gear: ํ•„์ˆ˜ Helm ๋ช…๋ น์–ด Cheat Sheet

  • :pushpin: ๋ฐฐํฌ/์—…๊ทธ๋ ˆ์ด๋“œ/๋กค๋ฐฑ
๋ช…๋ น์–ด ์„ค๋ช…
helm install <name> <chart> ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์ฆˆ ์„ค์น˜
helm upgrade <name> <chart> ๋ฆด๋ฆฌ์ฆˆ ์—…๊ทธ๋ ˆ์ด๋“œ
helm upgrade --install <name> <chart> ๋ฆด๋ฆฌ์ฆˆ ์—†์œผ๋ฉด ์„ค์น˜, ์žˆ์œผ๋ฉด ์—…๊ทธ๋ ˆ์ด๋“œ
helm rollback <name> <revision> ์ง€์ • revision์œผ๋กœ ๋กค๋ฐฑ

  • :open_file_folder: ๋ฆด๋ฆฌ์ฆˆ & ์ €์žฅ์†Œ ๊ด€๋ฆฌ
๋ช…๋ น์–ด ์„ค๋ช…
helm list ๋ฆด๋ฆฌ์ฆˆ ๋ชฉ๋ก
helm uninstall <name> ๋ฆด๋ฆฌ์ฆˆ ์ œ๊ฑฐ
helm repo add <name> <url> ์ €์žฅ์†Œ ์ถ”๊ฐ€
helm repo update ์ €์žฅ์†Œ ์—…๋ฐ์ดํŠธ
helm repo list ์ €์žฅ์†Œ ๋ชฉ๋ก
helm search repo <term> ์ €์žฅ์†Œ ๋‚ด ์ฐจํŠธ ๊ฒ€์ƒ‰
helm search hub <term> Artifact Hub ์ „์ฒด ๊ฒ€์ƒ‰
  • :magnifying_glass_tilted_left: ์กฐํšŒ ๋ฐ ์„ค์ •
๋ช…๋ น์–ด ์„ค๋ช…
helm show values <chart> ๊ฐ’ ํ…œํ”Œ๋ฆฟ ๋ณด๊ธฐ
helm pull <chart> --untar ์ฐจํŠธ ์•„์นด์ด๋ธŒ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์••์ถ• ํ•ด์ œ
helm env Helm ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์ธ

5) :test_tube: ๊ณ ๊ธ‰ ์˜ต์…˜ ๋ฐ ํ™œ์šฉ

  • Custom Values ์ ์šฉ
helm install <name> <chart> --values custom-values.yaml

๋˜๋Š”

helm install <name> <chart> --set key=value
  • ํ—ฌ๋ฆ„ ํ”Œ๋Ÿฌ๊ทธ์ธ
    • Helm ๊ธฐ๋Šฅ ํ™•์žฅ์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜/๊ด€๋ฆฌ ๊ฐ€๋Šฅ.
    • ์˜ˆ: diff, secrets ๋“ฑ. Faun

[์ถœ์ฒ˜] Helm Cheat Sheet: Everything You Need to Know to Start Using Helm