04. Week4 Helm (미진행) - chuirang/DevOps GitHub Wiki
yaml 과 kubernetes -> spec 과 status
The package manager for Kubernetes
애플리케이션을 위해 여러개의 yaml 필요 (Deployment, hpa, service, configmap, etc)
이러한 애플리케이션이 여러 개 라면?
-> 애플리케이션을 package 개념으로 관리 (chart) _ 최근 다양한 오픈소스는 간단한 설치를 위해 helm chart 를 제공
image update를 명령형이 아닌 선언형으로, yaml을 수정해야 한다면?
하나의 애플리케이션이 여러개의 환경에 실행되야 한다면?
-> templating Engine (1) define a common blueprint (2) Dynamic values are replaced by placeholders
출처: https://developer.ibm.com/blogs/kubernetes-helm-3/
출처: https://developer.ibm.com/blogs/kubernetes-helm-3/
helm (client) : 사용자 CLI 바이너리
tiller : helm client의 요청을 받아 apiserver 로 REST 요청을 전달하는 서버 역할 (Helm v2에서만 사용되며, Helm v3에서는 helm client 가 직접 apiserver로 요청 전달)
chart: 애플리케이션을 구성하는 Kubernetes 객체 정의 및 설정의 묶음
release: Kubernetes 위에 배포된 애플리케이션
wonkilee.lee@u2004-master:~/04_helm$ helm create my-nginx
Creating my-nginx
wonkilee.lee@u2004-master:~/04_helm$ ls
my-nginx
wonkilee.lee@u2004-master:~/04_helm$ cd my-nginx
wonkilee.lee@u2004-master:~/04_helm/my-nginx$ tree .
.
┌── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── NOTES.txt
│ ├── serviceaccount.yaml
│ ├── service.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml
mychart
directory : name of chart
Chart.yaml
: metadata of chart
values.yaml
: (default) values for the template files (helm install --values=dev-values.yaml )
charts/
directory : chart dependencies
templates/
: template files