연재 시리즈

Helm 시작하기 - 1편. helm이란?

악분 2021. 11. 19. 23:21
반응형

안녕하세요. 이 시리즈는 helm을 처음 공부하는 사람을 위한 입문서입니다.

 


1편에서는 영상 0:00 ~ 7:15 내용을 정리한 글입니다.
https://youtu.be/ajcyC_6velc?t=10

 

1. Helm이란?

Helm은 공식문서 소개에서 패키지 관리 매니저라고 소개합니다.
패키지라는 것은 템플릿(templates)과 기타파일로 구성된 파일을 의미합니다. 오늘날 패키지징 된 압축파일을 helm 차트(chart)라고 부릅니다.

그림1 helm홈페이지 소개글(참고자료: https://helm.sh/)

 

2. helm차트 구성

helm 차트는 쿠버네티스 yaml파일을 그룹화 한 ①템플릿(templates)과 ②기타 파일을 압축한 파일입니다.

[그림 2] 예제에서는 nginx pod를 배포하기 위한 deployment.yaml과 service.yaml파일을 템플릿으로 그룹화 하였습니다.

그림 2 helm 차트 구조 시각화


기타 파일은 정말 많은 파일들로 구성되어 있습니다. 공식문서( [그림 3])에서 기타파일이 여러개 있는 것으로 알 수 있습니다. 모두 다 필요하지 않고 일부만 필수파일입니다.

그림3 helm 차트 설명(참고자료: https://helm.sh/docs/topics/charts/#the-chart-file-structure)

 

3. helm은 언제 사용될까?

단순히 yaml파일만 만들어서 쿠버네티스 리소스를 만들면 되지, 굳이 여러 파일을 만들어서 쿠버네티스 리소스를 배포할까요?

저의 생각은 쿠버네티스 공통된 리소스를 쉽게 관리하기 위해서입니다.

helm을 붕어빵 기계로 비유할 수 있는데요. 단팥 붕어빵 기계, 크림 붕어빵 기계 등 각 주제에 맞는 붕어빵 기계를 만들 수 있습니다. 그리고 붕어빵 기계로 똑같은 많은 붕어빵을 만들 수 있죠. 만약 붕어빵 기계가 없더라면 하나하나씩 붕어빵을 만들어야 합니다. helm도 마찬가지로 helm install로 공통 설정을 쿠버네티스에 일괄되게 배포할 수 있습니다. 더불어 수정, 삭제도 쉽게 할수 있습니다. helm으로 배포된 리소스만 수정하면 되니까요.

그림4 helm 차트 설치

 

4. 참고자료

  • 아이콘: flaticon.com
반응형