13. Helm
- 1 1. Helm
- 1.1 1.1 Helm 구성 요소
- 1.2 1.2 Helm 주요 명령어
- 1.3 1.3 Helm 설치
- 1.4 1.4 Helm Chart 예제
1. Helm
Kubernetes 애플리케이션의 패키지 매니저로 애플리케이션을 정의, 설치 및 업그레이드 가능합니다.
애플리케이션을 패키지 형태로 배포하고 관리하기 쉽게 만들어 줍니다.
Helm을 사용하여 애플리케이션을 배포하면 일관성과 재사용성을 높일 수 있습니다.
복잡한 쿠버네티스 리소스를 효율적으로 관리할 수 있습니다.
1.1 Helm 구성 요소
(1) 차트(Chart): Helm에서 애플리케이션을 패키징한 형태로, Kubernetes 리소스 템플릿과 값 파일을 포함합니다. 차트는 애플리케이션의 모든 구성 요소와 그 관계를 정의합니다.
(2) 릴리즈(Release): 특정 차트를 Kubernetes 클러스터에 설치한 인스턴스를 의미합니다. 동일한 차트를 여러 번 설치하여 여러 릴리즈를 만들 수 있습니다.
(3) 레포지토리(Repository): 차트를 저장하고 공유하는 장소입니다. 공개된 레포지토리를 통해 다양한 차트를 다운로드할 수 있으며, 자체 레포지토리를 만들어 내부적으로 사용할 수도 있습니다.
(4) 값 파일(Values File): 차트에서 사용할 변수 값을 정의한 파일입니다. 기본값 파일과 사용자 정의 값 파일을 통해 차트의 설정을 쉽게 변경할 수 있습니다.
1.2 Helm 주요 명령어
helm search
: 차트를 검색합니다.helm install
: 차트를 설치하여 릴리즈를 만듭니다.helm upgrade
: 기존 릴리즈를 업그레이드합니다.helm rollback
: 릴리즈를 이전 버전으로 롤백합니다.helm list
: 설치된 릴리즈 목록을 표시합니다.helm delete
: 릴리즈를 삭제합니다.
1.3 Helm 설치
13/00-helm-install.txt
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
Helm 최신 버전(24.05.31)
wget https://get.helm.sh/helm-v3.15.1-linux-amd64.tar.gz
tar xvf helm-v3.15.1-linux-amd64.tar.gz
cd linux-amd64/
cp helm /usr/local/bin
1.4 Helm Chart 예제
1.4.1 Kube-prometheus-stack
쿠버네티스 모니터링을 위한 커스텀된 Chart를 제공합니다.
13/01-kube-prometheus-stack.txt
Repo 추가
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
사용 가능한 차트 리스트 확인
차트 다운로드
차트 파일 확인
설치
접속을 위해 서비스타입을 변경합니다.