[Kubernetes] Helm

곽우현·2022년 7월 18일
0

Kubernetes

목록 보기
5/5
post-thumbnail

helm

helm은 쿠버네티스 패키지 매니저이다. 우리가 알고있는 패키지 매니저는 apt, yum, pip, npm 등이 있다. 이런 툴들과 비슷하게 플랫폼의 패키지를 관리한다.
helm을 이용하여 원하는 패키지를 쿠버네티스에 손쉽게 설치할 수 있다. helm 패키지 또한 YAML 형식으로 구성되어 있으며, 이것을 chart라고 한다.
chart는 helm의 리소스 패키지로, k8s cluster에서 애플리케이션이 기동되기 위해 필요한 모든 리소스들이 포함되어 있다.
helm chart의 구조는 크게 Chart.yaml, values.yaml, template 디렉토리 구조로 구성된다.

1. Chart

  • Chart.yaml : 차트의 metadata(차트이름, 버전 등)
  • values.yaml : 사용자가 원하는 값들을 변수로 설정하는 파일이다.(커스터마이징)
  • tamplate : 설치할 리소스 파일들이 존재하는 디렉토리이다. 해당 디렉토리 안에는 Deployment, Service등과 같은 쿠버네티스 리소스가 YAML 파일 형태로 들어가 있다. 각 파일들의 설정값은 비워져 있고 values.yaml에서 설정한 값들로 채워진다.

2. Repository (저장소)

차트의 저장소로서, 차트를 모아두고 공유하는 장소이다. (Docker hub와 비슷)

3. Release

쿠버네티스 클러스터에서 돌아가는 app(chart instance)들은 모두 고유의 release 버전을 가지고 있다.

👉 helm은 chart를 쿠버네티스에 설치하고, 설치할때마다 release 버전이 생성되며, 새로운 chart를 찾을때 repository에서 찾을 수 있다.


Install

curl -ssl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
# 버전 확인
helm version --short
# repository 추가
helm repo add stable https://charts.helm.sh/stable

Chart

# chart list 확인
helm search repo stable
# chart 업데이트 
helm repo update
profile
주니어 Java 개발자

0개의 댓글