본문 바로가기
스터디/Cloud & k8s

[k8s] Helm과 Chart 란? (쿠버네티스 패키지 매니저)

by zoodi 2022. 11. 1.
728x90

글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다


 

Helm

Helm이란?

쿠버네티스는 도커 컨테이너를 쉽게 관리하고 배포해주는 일종의 컨테이너 오케스트레이션이라고하였습니다~!

Helm은 이러한 쿠버네티스를 파이썬의 pip, Node.js에서 npm의 역할과 같이 쿠버네티스를 패키지로 해서 관리해주는 쿠버네티스 패키지 매니저로 쿠버네티스 클러스터에서 동작하도록 관리합니다.

 

즉, Helm을 사용하면 클러스터에서 배포할 애플리케이션을 쉽게 설치, 업데이트, 삭제가 가능합니다.

 

 

Helm  아키텍처

 

헬름 버전 2와 3의 차이는 명령어와 아키텍처 구조가 다릅니다.

v2와 v3의 가장 큰 차이점중 하나는 tiller의 유무입니다. helm은 안정화된 버전이 v3이지만 n2c에서 제공하는 helm은 v2를 제공하고있습니다. tiller는 클라이언트 환경에 설정하는 것이 아닌 클러스터 내부에 설치해야 됩니다.

 

*공식문서: https://helm.sh/ko/docs/

 

 

Chart

Chart는 helm의 리소스 패키지입니다. 쿠버네티스 클러스터에서 애플리케이션이 기동되기 위한 필요한 리소스들이 포함되어있습니다.

Helm은 Chart(Template)이라는 개념으로 내 애플리케이션을 표현하고, 동적으로 변경 될 수 있는 설정들이있는데 이것을 values라고 합니다.

 

Helm은 하나의 배포 프로젝트를 chart라는 단위로 관리합니다.

Helm chart의 구성요소는 다음과 같습니다.

  • Chart.yaml : 해당 helm chart에 대한 정보가 담겨있다
  • values.yaml : helm chart에서 사용하는 각종 값들에 대한 정의
  • chart dir : 의존하는 chart에 대한 정보가 담겨있음
  • templates: 쿠버네티스를 정의하는 meta file이 정의되어있는 폴더

 

 

Helm chart 작성하는 자세한 방법은 아래 공식 문서를 참조합니다.

*헬름 차트 작성 방법 공식 문서: https://helm.sh/docs/topics/charts/

 

 

 

Repository

chart 저장소로 chart를 모아두고 공유되는 공간으로, 일종의 docker hub 같은 개념입니다,

 

 

Release

쿠버네티스 환경에서 동작되는 서비스들은 release 버전이 존재하는데

Chart + Values로 표현된 애플리케이션을 Kubernetes에 배포하며 생성한 애플리케이션의 인스턴스를 릴리즈(Helm Reelase)라고 부릅니다.

 

Chart - Repository - Release 관계를 정리하면 helm chart repository에서 chart를 찾을 수 있으며 이 헬름 차트는 쿠버네티스를 설명하는 파일의 목록으로 설치할때마다 release 버전이 생성

(helm chart를 원하는 repository에서 검색 후 설치 → 각 설치에 따른 새로운 release 생성)

 

 

728x90

댓글