앞에서 WordPress를 설치할 때는 “기본값 그대로(default values)”로 설치했습니다. 하지만 실제로는 대부분 기본값을 그대로 쓰지 않고 환경에 맞게 값을 바꿔서 설치합니다. Helm에서 이 “값 변경”은 결국 values.yaml의 값을 어떻게 오버라이드(override)하느냐 문제로 귀결됩니다.
강의 예시처럼 WordPress 블로그 이름이 기본으로 User's Blog로 잡혀있는 상황을 생각해봅시다.
- WordPress Deployment 템플릿(
templates/deployment.yaml) 안에서 - 블로그 이름을 환경변수로 주입하고
- 그 값은
.Values.xxx형태로values.yaml에서 가져옵니다. - default
values.yaml에User's Blog가 설정되어 있으니, 설치하면 그 이름으로 뜨는 겁니다.
그럼 “설치할 때” 이 값을 바꾸는 방법은 크게 3가지입니다.
1) --set으로 커맨드라인에서 즉시 오버라이드하기
Helm은 helm install이 한 번에 차트를 가져오고 바로 배포까지 진행되기 때문에, 설치 과정 중간에 values.yaml을 직접 수정할 “시간”이 없습니다. 그래서 가장 간단한 방식이 --set입니다.
예시: 블로그 이름과 유저 이메일을 설치 시점에 변경
helm install my-wp bitnami/wordpress \
--set wordpressBlogName="Helm Tutorials" \
--set wordpressEmail="john@example.com"
포인트:
--set <key>=<value>형태로values.yaml의 “키 경로”를 지정합니다.--set은 여러 번 붙여서 여러 값을 동시에 바꿀 수 있습니다.- 기본
values.yaml보다 우선해서 적용됩니다(override).
실무 팁:
- 단발성 테스트나 “몇 개 값만” 바꿀 때는
--set이 편합니다. - 값이 많아지면 커맨드가 길어져서 유지보수가 어려워집니다.
2) 커스텀 values 파일을 만들어 -f/--values로 적용하기 (권장)
--set으로 오버라이드할 값이 많아지면, 보통은 별도 파일로 관리합니다. 강의에서는 customvalues.yaml을 만드는 흐름입니다.
예시: customvalues.yaml
wordpressBlogName: "Helm Tutorials"
wordpressEmail: "john@example.com"
그리고 설치할 때 이 파일을 넘깁니다.
helm install my-wp bitnami/wordpress -f customvalues.yaml
# 또는
helm install my-wp bitnami/wordpress --values customvalues.yaml
동작 방식:
- 차트의 기본
values.yaml위에 customvalues.yaml이 덮어씌워집니다(override)
실무에서 이 방식이 가장 흔한 이유:
- Git으로 관리하기 좋고
- 환경별(dev/stg/prod)로 파일을 분리하기 쉬움
- 커맨드가 짧아지고 재현성이 올라감
예: 환경별 패턴
helm upgrade --install my-wp bitnami/wordpress -n blog -f values-prod.yaml
3) 차트를 로컬로 받아서 values.yaml 자체를 수정한 뒤 설치하기 (helm pull --untar)
“나는 정말 차트 내부의 values.yaml(또는 템플릿)을 직접 수정하고 싶다”면, 차트를 먼저 내려받아 로컬에서 편집한 뒤 설치할 수 있습니다.
3-1) 차트 다운로드 (압축 형태)
helm pull bitnami/wordpress
이러면 보통 .tgz 형태로 내려받습니다.
3-2) 다운로드와 동시에 압축 해제까지 (--untar)
helm pull bitnami/wordpress --untar
그러면 로컬에 wordpress/ 같은 디렉토리가 생기고 그 안에:
Chart.yamlvalues.yamltemplates/
등 차트 구성요소가 그대로 들어있습니다.
3-3) values.yaml 편집 후, 로컬 경로로 설치
# values.yaml 수정 후
helm install my-wp ./wordpress
포인트:
helm install <release> <chart>에서<chart>는- 원격 repo의
bitnami/wordpress일 수도 있고 - 로컬 디렉토리 경로
./wordpress일 수도 있습니다.
- 원격 repo의
실무 팁(중요):
- 공개 차트를 “로컬로 풀어서 직접 수정”하면, 이후 차트 업데이트가 나올 때 업그레이드 추적이 어려워질 수 있습니다.
- 그래서 가능한 한:
- (우선)
-f values.yaml로 커스터마이징하고 - (정말 필요할 때만) 로컬로 풀어서 템플릿까지 수정하는 방식을 권장합니다.
- (우선)
커스터마이징 방식 선택 기준 요약
- 값이 1~3개고 빠르게 테스트:
--set - 값이 여러 개고 재현성/환경 분리 필요:
-f customvalues.yaml(가장 권장) - 차트 구조/템플릿 자체를 바꿔야 함:
helm pull --untar후 로컬 설치
바로 써먹는 예시 커맨드 모음
# 1) --set 오버라이드
helm install my-wp bitnami/wordpress \
--set wordpressBlogName="Helm Tutorials" \
--set wordpressEmail="john@example.com"
# 2) custom values 파일 사용
helm install my-wp bitnami/wordpress -f customvalues.yaml
# 3) 차트를 로컬로 받아 수정 후 설치
helm pull bitnami/wordpress --untar
# (wordpress/values.yaml 수정)
helm install my-wp ./wordpress'CKA' 카테고리의 다른 글
| Helm - 정리 (1) | 2026.01.07 |
|---|---|
| Helm - Lifecycle Management(Upgrade/Rollback) (0) | 2026.01.07 |
| Helm - CLI (0) | 2026.01.07 |
| Helm - Charts (0) | 2026.01.07 |
| Helm - Components (0) | 2026.01.07 |