k8s

[Helm 작성하기 (1)] Helm 차트 구조

Joon0464 2023. 2. 3. 10:41

헬름이란?


  • 쿠버네티스 애플리케이션을 패키지 형태로 손쉽게 관리하는 도구

헬름 차트의 구조는 다음과 같다.

mychart/
    Chart.yaml
    values.yaml
    charts/
    temlplate/
    ....
  • template/ 디렉토리는 템플릿 파일들이 들어있다.(deployment.yaml, service.yaml 등)
  • values.yaml 는 차트의 기본값들을 가지고있는 파일이다.
  • Chart.yaml 은 차트에 대한 설명을 포함하는 파일이다.

차트생성

다음 명령어로 간단하게 차트를 생성할 수 있다.

$ helm create mychart

다음과 같이 헬름차트가 생성된다.

mychart/templates/ 살펴보기

  • NOTES.txt : 차트의 도움말로 helm install 할 때 사용자에게 표시된다.
  • deployment.yaml : 쿠버네티스의 디플로이먼트를 생성하기 위한 기본 매니페스트 파일
  • service.yaml : 디플로이먼트의 서비스 엔드포인트를 생성하기 위한 기본 메니페스트 파일
  • _helpers.tp : 차트 전체에서 다시 사용할 수 있는 템플릿 헬퍼를 지정 -> 추후 자세히 다룰 예정

가이드를 통해 차트를 직접 만들게 될 것이므로 다음 명령어를 수행한다.

$ rm -rf mychart/template/*

 

간단한 첫 번째 템플릿 생성하기


처음으로 ConfigMap을 생성해 볼 것이다. mychart/template/configmap.yaml 을 생성하고 아래의 내용을 넣어준다.

apiVersion: v1
kind: ConfigMap
metadata:
  name: mychart-configmap
data:
  myvalue: "Hello World"

이제 다음 명령어로 helm install 을 테스트 해본다.

$ helm install test ./mychart