쿠버네티스 환경에서 다양한 리소스를 각각 관리하지 않고 하나의 패키지로 관리하는 도구이다. 리눅스 환경에서 yum, apt 등이 애플리케이션에 필요한 모든 라이브러리를 패키지 형태로 제공하는 것과 유사하다.
헬름 차트는 애플리케이션 설치에 사용되는 네트워크, 스토리지, 보안과 관련된 여러 쿠버네티스 리소스를 묶어놓은 패키지이다. 헬름 차트를 통해 애플리케이션을 설치할 때 개별 리소스마다 하나씩 별도로 설치하지 않고 헬름 차트 하나로 일괄 설치 가능하다.
Chart.yaml | 차트에 대한 정보가 담긴 YAML 파일 |
---|---|
LICENSE | 차트의 라이선스 정보가 담긴 텍스트 파일 |
README.md | 해당 차트에 대한 설명을 포함한 README 파일 |
values.yaml | 차트의 기본 템플릿 변수 파일 |
charts/ | 차트에 종속된 차트들을 포함하는 디렉터리 |
crds/ | 커스텀 자원 정리 |
templates/ | values 파일과 같이 유효한 쿠버네티스 manifest 파일을 생성하는 템플릿 디렉터리 |
templates/NOTES.txt | 차트 사용법을 설명하는 텍스트 파일 |
다양한 헬름 차트를 저장하고 공유하는 저장소로, 리눅스 패키지 관리 도구인 yum의 repository와 동일한 기능을 한다. 이는 로컬에 원격 repository 주소를 등록해서 사용할 수 있고, 각 repository별로 지원하는 애플리케이션 목록은 helm search 명령어로 확인 가능하다.
5## 리포지토리 목록 조회
$ helm repo list
NAME URL
bitnami <https://charts.bitnami.com/bitnami>
...
## 리포지토리 내 설치 가능한 애플리케이션 조회
$ helm search repo bitnami
NAME CHART VERSION APP VERSION
DESCRIPTION
bitnami/airflow 12.5.5 2.3.2 Apache
Airflow is a tool to express and execute...
헬름은 템플릿을 사용해 설치와 관련된 파일을 관리한다. 템플릿이란 일정한 형식 또는 포맷을 의미하며, 사용자는 이름, 날짜 등의 특정 변수만 수정하면 해당 파일을 사용 가능하다. 헬름은 여러 템플릿 파일에서 공통으로 사용하는 변수를 단일 values.yaml 파일에서 관리한다. 해당 파일만 수정하면 전체 템플릿 파일에서 사용하는 변수를 한꺼번에 수정할 수 있다.