1.Why use helm
1. Helm을 사용해야 하는 이유
기존의 YAML 파일 사용
- cluster에서 app을 생성하고 배포하기 위해 사용
- service, pod, configmap 등의 yaml 파일이 필요
BUT
- 각 App마다 다수의 yaml 파일 존재
- 각 배포 환경마다 다수의 app이 존재 그리고
- yaml은 정적파일이기 때문에 resource 별로 파일 필요
- 위와 같이 많은 resource를 관리하면 다수의 yaml 파일에 대한 유지보수가 힘들어짐
HELM이 필요
2. Helm이란
- Kubernetes pakage manager
-
하나의 template을 통해 yaml 파일을 동적으로 생성하게 해주는 Tool
- Helm 구조
장점1
- 기존 yaml 파일 배포 방식
- app 생성
- QA환경 배포
-> 1번과 2번 과정을 보면 매우 유사한 형식의 ymal 파일들이 조금씩만 바뀌어서 반복되고 있는 것을 확인할 수 있음
- Helm을 이용한 배포 방식
-> 기존의 방식과 달리 변화하는 부분을 변수처리하고 helm command에서 이를 변경해 가면서 설치함
-> 새로운 yaml 파일을 추가할 필요 없이 명령만 추가해주면 됨.
장점2
- 오픈소스들을 쉽게 kubernetes에 배포할 수 있음
- 오픈소스를 배포하는 사람들은 자신의 프로그램을 다른사람들이 쉽게 사용할 수 있도록하는 것.
- 제품별로 module을 나누어 원하는 module만 설치할 수 있도록 함
- 사용자 환경에 따라 사용할 수 있는 명령어 정리해 놓아야 함