Helm
- ์ฌ๋ฌ๊ฐ์ง k8s yaml๋ค์ package๋ก ๊ด๋ฆฌํ๊ณ ์ถ์๋ ์ฌ์ฉํ๋ ๋๊ตฌ์ด๋ค.
Concept
- Chart
- Kubernetes์ Resource๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ชจ๋ ๊ฒ์ด ์ ์ ๋ ๊ฒ
- (homebrew formula, apt dpkg, yum rpm file๊ณผ ๋์ผํ ์ปจ์
)
- Repository
- Chart๋ฅผ ์ ์ฅ ๋ฐ ๊ณต์ ํ ์ ์๋ ๊ณต๊ฐ
- Release
- Chart๋ฅผ ํตํด Kubernetes์ Resource๋ก instanceํ ํ ๊ฒ
Helm Getting Started
brew install helm
- Helm Repository ๋ฑ๋กํ๊ธฐ
helm repo add stable https://charts.helm.sh/stable
helm repo list
- Helm์ ํตํด ์ธ์คํด์คํ ํด๋ณด๊ธฐ
helm install stable/mysql --generate-name
- ์ธ์คํด์ค ํ์ธํ๊ธฐ
helm ls
- Helm์ ํตํด ์ธ์คํด์คํ ๋ค์ ์ ๊ฑฐํ๊ธฐ
helm uninstall smiling-penguin
Helm Chart์ ๋ํด
โฏ helm create helm-example
Creating helm-example
.
โโโ helm-example
โโโ Chart.yaml - Chart์ ์ ๋ณด๋ฅผ ์ ์ํ๋ ํ์ผ๋ก Chart์ ์ด๋ฆ, ๋ฒ์ ๋ฑ์ ์ ์
โโโ charts - dependency chart ํ์ผ๋ค์ด ํด๋น ๋๋ ํ ๋ฆฌ ์๋์ ์๊ธฐ๊ฒ ๋ฉ๋๋ค.
โโโ templates - k8s ๋ฆฌ์์ค ํ
ํ๋ฆฟ์ด ๋ณด๊ด๋๋ ๋๋ ํ ๋ฆฌ
โย ย โโโ NOTES.txt - Chart๋ฅผ ์ค์น ํ ์ถ๋ ฅ๋๋ ๋ด์ฉ์ ์ ์
โย ย โโโ _helpers.tpl
โย ย โโโ deployment.yaml
โย ย โโโ hpa.yaml
โย ย โโโ ingress.yaml
โย ย โโโ service.yaml
โย ย โโโ serviceaccount.yaml
โย ย โโโ tests
โย ย โโโ test-connection.yaml
โโโ values.yaml - ํ
ํ๋ฆฟ์ ์ฌ์ฉ๋ ๋ณ์๋ค์ ๋ชจ์๋์ ํ์ผ
4 directories, 10 files
- templats
- ์์ฝ์ด๋ค์ ํตํด
values.yaml
๊ฐ์ ์ฝ์ด ์ฃผ์
ํ์ฌ ์คํํ ์ ์๋ค.
{{- define "nginx.fullname" }}
{{/* ... */}}
{{ end -}}
- chart hook
- ์ฐจํธ๊ฐ ์คํํ๋ ๊ณผ์ ์ ์ํ๋ pod๋ค์ ์คํํ ์ ์๋ค.
annotations:
"helm.sh/hook": post-install
Reference