반응형
- helm 시리즈 목차
- 1편 helm이란? : https://malwareanalysis.tistory.com/193
- 2편 helm 설치 : https://malwareanalysis.tistory.com/194
- 3편 helm차트 생성: https://malwareanalysis.tistory.com/195
- 4편 helm 차트 설치, 조회, 삭제: https://malwareanalysis.tistory.com/196
- 5편 helm 차트 템플릿 값 동적 수정: https://malwareanalysis.tistory.com/197
- 6편 values.yaml 오버라이딩: https://malwareanalysis.tistory.com/198
- 7편 Release Object사용: https://malwareanalysis.tistory.com/200
- 8편 namespace설정: https://malwareanalysis.tistory.com/201
- 9편 Release 업그레이드: https://malwareanalysis.tistory.com/202
- 10편 Rollback: https://malwareanalysis.tistory.com/203
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파일의 내용이 템플릿으로 값으로 치환됩니다.
3. helm 차트 설치
일반 helm install명령어 그대로 사용하면 valeus.yaml파일의 내용이 템플릿에 치환되어 Release됩니다.
helm install <Release 이름> <차트경로>
반응형
'연재 시리즈' 카테고리의 다른 글
Helm 시작하기 - 7편. Release Object사용 (0) | 2021.11.25 |
---|---|
Helm 시작하기 - 6편. values.yaml 오버라이딩 (0) | 2021.11.23 |
Helm 시작하기 - 4편. helm 차트 설치, 조회, 삭제 (0) | 2021.11.22 |
Helm 시작하기 - 3편. helm 차트 생성 (0) | 2021.11.22 |
Helm 시작하기 - 2편. helm 설치 (0) | 2021.11.22 |