연재 시리즈

Helm 시작하기 - 5편. helm 차트 템플릿 값 동적 수정

악분 2021. 11. 23. 20:23
반응형

 

5편에서는 helm 차트 템플릿에 있는 yaml파일 값을 동적으로 수정하는 방법을 설명합니다.

영상에서는 17:35 ~ 22:35에 해당합니다.

https://youtu.be/ajcyC_6velc?t=1055 

 

1. 동적 수정이란?

동적 수정은 helm install(또는 upgrade)명령어를 사용할 때, yaml파일 값을 수정하는 것을 말합니다. helm 차트의 템플릿 특정 필드를 외부에서 주입한 값으로 사용할 때 활용됩니다.

예를 들어 컨테이너 이미지를 템플릿에서 고정으로 설정하지 않고 사용자가 입력한 이미지를 사용할 수 있습니다.

 

2. 사용 방법

동적 수정할 필드를 {{ .Values.xxx }}로 변경해주시면 됩니다. 아래 예제는 containers.image필드를 외부에서 주입받겠다는 설정입니다. {{ .Values.image }}로 설정하면 image라는 이름이 설정된 값을 가져옵니다.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test
  labels:
    app: nginx-test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-test
  template:
    metadata:
      labels:
        app: nginx-test
    spec:
      containers:
      - name: nginx
        image: {{ .Values.image }} <-- 외부에서 값을 수정할 수 있게 설정
        ports:
        - containerPort: 80

 

.Values.image에서 image필드는 values.yaml파일에 설정합니다. 3편에서 빈 내용으로 생성했던 파일입니다. values.yaml파일은 templates디렉터리와 Chart.yaml파일의 같은 경로에 위치해야 합니다.

image: nginx:stable

 

지금까지 내용을 정리하면 values.yaml파일의 내용이 템플릿으로 값으로 치환됩니다.

그림1 템플릿 값 동적 수정

 

3. helm 차트 설치

일반 helm install명령어 그대로 사용하면 valeus.yaml파일의 내용이 템플릿에 치환되어 Release됩니다.

helm install <Release 이름> <차트경로>
반응형