๐Ÿงฉ BE
home

Helm

Date
2025/03/12
Category
Data Engineering
Tag
Kubernetes
Detail

Helm์ด๋ž€?

Helm์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜คํ”ˆ ์†Œ์Šค ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์ด๋‹ค. k8s์šฉ์œผ๋กœ ๊ตฌ์ถ•๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ๊ณต, ๊ณต์œ  ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
Helm์€ chart๋ผ๋Š” ํŒจํ‚ค์ง€ ํ˜•์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ chart๋Š” k8s ๋ฆฌ์†Œ์Šค ์ง‘ํ•ฉ์„ ์„ค๋ช…ํ•˜๋Š” ํŒŒ์ผ ๋ชจ์Œ์ด๋‹ค.
๋‹จ์ผ ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ memcached ํŒŒ๋“œ์™€ ๊ฐ™์€ ๋‹จ์ˆœํ•œ ๊ฒƒ ๋ถ€ํ„ฐ HTTP ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์บ์‹œ ๋“ฑ์ด ํฌํ•จ๋œ ์ „์ฒด ์›น ์•ฑ ์Šคํƒ๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๊ฒƒ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฐจํŠธ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์˜ ํŒŒ์ผ ๋ชจ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์€ ์ฐจํŠธ์˜ ์ด๋ฆ„์ด๋‹ค.
๋”ฐ๋ผ์„œ wordpress๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฐจํŠธ๋Š” wordpress ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋œ๋‹ค.
wordpress/ Chart.yaml LICENSE README.md values.yaml values.schema.json charts/ crds/ templates/ templates/NOTES.txt
Plain Text
๋ณต์‚ฌ
โ€ข
Chart.yaml : ์ฐจํŠธ ์ž์ฒด์˜ ์ด๋ฆ„, ์„ค๋ช…, ๋ฒ„์ „ ์ •๋ณด
โ€ข
values.yaml : ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉํ•  ๊ธฐ๋ณธ ๊ฐ’๋“ค ์ •์˜๋˜์–ด ์žˆ๋‹ค. ํ™˜๊ฒฝ๋ณ„๋กœ ์ด ๊ฐ’์„ ๋ฎ์–ด์”Œ์›Œ์„œ ์žฌ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
templates/ : ์‹ค์ œ Kubernets ๋งค๋‹ˆํŽ˜์ŠคํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ํ…œํ”Œ๋ฆฟ๋“ค์ด ๋“ค์–ด๊ฐ„๋‹ค. deployment.yaml, service.yaml ๋“ฑ ์ต์ˆ™ํ•œ ๋ฆฌ์†Œ์Šค ํ…œํ”Œ๋ฆฟ์ด ๋‹ด๊ธด๋‹ค.
Helm์€ Helm ์ฐจํŠธ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฐจํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ง€์›ํ•œ๋‹ค. ๋ถ„์‚ฐํ˜• ์ปค๋ฎค๋‹ˆํ‹ฐ Helm ์ฐจํŠธ ์ €์žฅ์†Œ๋Š” link iconArtifact Hub์— ์žˆ๋‹ค.
Artifact Hub๋Š” ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ถ„์‚ฐํ˜• Helm ์ฐจํŠธ๋ฅผ ํฌํ•จํ•˜์—ฌ CNCFํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ํŒจํ‚ค์ง€ ๋ฐ ๊ตฌ์„ฑ์„ ์ฐพ๊ณ , ์„ค์น˜ํ•˜๊ณ , ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.
Helm Chart๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด, ์ž์‹ ๋งŒ์˜ ์ฐจํŠธ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ธฐ์กด ์ฐจํŠธ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ํ›จ์”ฌ ์ˆ˜์›”ํ•ด์ง„๋‹ค.

Helm ์„ค์น˜

Helm์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ „์ œ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค.
โ€ข
Kubernetes ํด๋Ÿฌ์Šคํ„ฐ
โ€ข
์„ค์น˜์— ์ ์šฉํ•  ๋ณด์•ˆ ๊ตฌ์„ฑ ๊ฒฐ์ •(์žˆ๋Š” ๊ฒฝ์šฐ)
โ€ข
Helm ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ

Helm ์‚ฌ์šฉ๋ฒ•

Helm์—๋Š” 3๊ฐ€์ง€ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค.
โ€ข
Chart๋Š” Helm Package ์ด๋‹ค. Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ application, tool, service๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค ์ •์˜๊ฐ€ ํฌํ•จ๋œ๋‹ค. apt์˜ dpkg, yum์˜ rpm๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
โ€ข
Repository๋Š” Chart๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์†Œ์ด๋‹ค. Perlโ€™s CPAN archive์™€ Fedora Package Database์™€ ๋น„์Šทํ•˜์ง€๋งŒ, Chart๋Š” Kubernetes ํŒจํ‚ค์ง€ ์šฉ์–ด์ด๋‹ค.
โ€ข
Release๋Š” Kubernetes Cluster์—์„œ ์‹คํ–‰๋˜๋Š” ์ฐจํŠธ์˜ instance์ด๋‹ค. ํ•˜๋‚˜์˜ Chart๋Š” ๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฌ๋Ÿฌ๋ฒˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ค์น˜๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ Release๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. Cluster์—์„œ ๋‘ ๊ฐœ์˜ Database๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ํ•ด๋‹น Chart๋ฅผ ๋‘ ๋ฒˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.