Notice
Recent Posts
Recent Comments
관리 메뉴

즐겁게, 코드

Helm을 통해 템플릿에서 변수화된 값 사용하기 본문

☁️ 클라우드/Kubernetes

Helm을 통해 템플릿에서 변수화된 값 사용하기

Chamming2 2022. 4. 13. 12:40

헬름을 통해 얻을 수 있는 장점 중 하나는 개발자가 사용할 이미지 및 포트 번호 등의 값을 하드코딩할 필요 없이 변수화해 사용할 수 있다는 것입니다.

 

설치 링크 에서 헬름을 설치한 다음, helm create <이름>을 통해 새로운 헬름 차트 를 생성합니다.

TIP - 헬름 차트란?

헬름 차트는 작성한 어플리케이션(디플로이먼트, 서비스 등의 YAML 템플릿 조합)을 쿠버네티스의 패키지 형태로 제작한 결과물이며, 생성한 헬름 차트는 퍼블릭 또는 프라이빗 레포지토리에 업로드해 다른 사람(팀원)들과 공유할 수 있습니다.

helm create로 생성된 헬름 차트 형태 (helm-practice)

이제 헬름으로 변수화된 값의 템플릿을 만든 후 이를 기반으로 파드를 만들어 보겠습니다.

  • 파드 템플릿 예시 (헬름 사용 전)
apiVersion: v1
kind: Pod
metadata:
  name: first-helm
spec:
  containers:
    - name: practicing-helm
      image: spacesangsoo/myHello
      port: 80

헬름을 사용하기 전까지는 이렇게 사용할 이미지명, 컨테이너 포트 등이 모두 하드코딩해야 했는데요, 헬름을 사용하면 values.yaml 파일을 통해 하드코딩된 값들을 변수화해 관리할 수 있게 됩니다.

  • values.yaml 의 값을 활용해 변수를 사용하는 모습
# values.yaml

name: first-helm
container:
  name: practicing-helm
  port: 80
  image: spacesangsoo/myhello
  tag: latest
apiVersion: v1
kind: Pod
metadata:
  name: {{ .Values.name }}
spec:
  containers:
    - name: {{ .Values.container.name }}
      image: {{ .Values.container.image }}
      ports:
      - containerPort: {{ .Values.container.port }}

이제helm install <헬름 이름> <Chart.yaml이 위치한 경로> 을 입력하면, 헬름 차트가 쿠버네티스에 설치되며 차트에 포함된 파드 및 컴포넌트들이 실행됩니다.

헬름 차트 인스톨에 성공한 모습
헬름 차트 설치와 동시에 템플릿에 명시된 파드가 실행되는 모습

이제 values.yaml 을 수정하는 것만으로도 Service, ConfigMap 등의 템플릿에서 사용되는 포트 번호, 이미지 이름 등의 정보를 변경할 수 있습니다.

반응형
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆