DevOps

[Helm] Helm Chart 생성하기 1편

Sophie소피 2024. 1. 24. 19:48

Helm과 Helm Chart란?

Helm은 Kubernetes 애플리케이션을 관리하기 위한 패키지 관리자이며,

Helm Chart는 Kubernetes 리소스를 정의하고 패키징하는 방법을 담은 템플릿입니다.

이를 통해 반복적인 작업을 줄이고 표준화된 배포를 가능하게 합니다.

실습 환경 설정

먼저 간단한 환경을 설정해봅시다. 터미널에서 다음과 같이 명령어를 입력하여 빈 Helm Chart를 생성합니다.

helm create myfirstchart

이 명령어는 **myfirstchart**라는 이름의 Helm Chart를 생성합니다.

이제 이 Chart를 편집하면서 Helm의 기본 개념을 익혀보겠습니다.

 

간단한 ConfigMap 만들기

실습의 시작은 간단한 ConfigMap을 만들어서 Helm Chart에 포함시키는 것입니다.

 

1. ConfigMap.yaml 수정

myfirstchart/templates 폴더 안에 있는 configmap.yaml 파일을 다음과 같이 수정합니다.

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "myfirstchart.fullname" . }}
data:
  myvalue: |-
    {{ .Values.myvalue | quote }}

여기서 주목할 부분은 **{{ .Values.myvalue | quote }}**입니다.

이는 Helm Chart의 values.yaml 파일에서 정의한 myvalue 값을 가져와서

ConfigMap 안의 myvalue 키에 할당하는 부분입니다.

 

 

2. Values.yaml 수정

myfirstchart/values.yaml 파일을 다음과 같이 수정합니다.

yamlCopy code
# ...
myvalue: "Hello, Helm!"

이제 myfirstchart/templates 폴더 안에 있는 configmap.yaml 파일은 설정된 myvalue 값을 가진 ConfigMap을 생성합니다.

 

3. Helm Chart 적용

bashCopy code
helm install myfirstchart ./myfirstchart

이 명령어는 Helm Chart를 Kubernetes 클러스터에 배포합니다. 배포가 완료되면 ConfigMap이 생성되고,

그 안의 값은 우리가 정의한대로 "Hello, Helm!"이어야 합니다.

 

Helm과 Helm Chart를 사용하여 간단한 Kubernetes 애플리케이션을 관리하는 기본적인 실습 내용이였습니다..

다음 글에서는 더 복잡한 Helm Chart 작성과 활용에 대해 다루어 보겠습니다.