상세 컨텐츠

본문 제목

Helm Chart 구조

Helm

by yiaw 2021. 11. 5. 10:09

본문

Helm Chart의 구조를 살펴보자 

 

먼저 Helm Chart의 구조를 살펴 보기위해 Sample Chart를 생성 해보자 

 

% helm create sample
Creating sample

% ls -altr
total 4
drwx------. 20 vm vm 4096 May 17 16:50 ..
drwxr-xr-x.  4 vm vm   93 May 17 22:35 sample
drwxrwxr-x.  3 vm vm   20 May 17 22:35 .

 

tree 명령어를 통해서 sample이라는 Directory 구조를 살펴 보자 

tree 명령어가 존재 하지 않다면 "yum install tree" (CentOS 기준) 
% tree sample
sample
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml

3 directories, 10 files

 

먼저 sample Directory 내용을 살펴볼때 파일과 디렉토리의 쓰임새를 나눠 설명하겠다. 

 

1. charts (dir)

charts는 sample (가칭) 이라는 charts에서 사용하는 sub Charts 등을 모아두는 공간이 된다.

우리가 만약 어떠한 서비스 제품을 install 할 때 필요한 third party 부분의 chart라고  생각하면 편하다.

 

좀 더 직관적으로 표현하자면

 

a라는 서비스를 Deploy 하기 위해서는 mariadb가 필요하다. 

물론 mariadb를 따로 서비스 Deploy를 할 수 도 있지만 관리를 2번 해야한다는 번거로움이 생김으로 

a라는 서비스를 Deploy시 mariadb를 같이 Deploy 시키고 싶다. 

이런경우 a라는 chart 안에 charts 라는 디렉토리에 mariadb charts를 넣어둔다면 한번의 install 명령어로 설치가 가능 해진다. 

 

 2. templates (dir)

앞선 Helm Chart 란 무엇인가. ? 에서 설명했듯이 Helm Chart는 뼈대와 살이라는 표현을 사용했다. 

이 templates에서는 주로 k8s 리소스등의 뼈대를 구성하여 작성한다. 

 

3. values.yaml

뼈대에 살을 구성하기위한 value들의 모음집이다. 

각 프로젝트 성격에 따라 복수개로 관리할수도 있다. 

 

4. Chart.yaml

Chart에 대한 기본정보를 담고있는 Yaml 파일이다. 

chart의 이름, chart의 버전, application의 버전, 의존성 등등을 작성해논다. 

 

 

각 구조에 대해 간단하게 설명을 작성하였고 자세한 사항은 아래 정식 홈페이지를 방문하여 읽어보는것을 추천한다.

https://helm.sh/ko/docs/topics/charts/

 

 

 

'Helm' 카테고리의 다른 글

Helm 설치  (0) 2021.11.05
Helm Chart 란 무엇인가. ?  (0) 2021.11.05

관련글 더보기

댓글 영역