Backend
Helm 환경별 Values 오버라이드 전략
Helm에서 공통 값과 환경별 값 오버라이드를 안정적으로 운영하는 구조를 정리합니다.
Helm 환경별 Values 오버라이드 전략
문제 정의
환경(dev/int/stage/prod)이 늘면 값 파일이 복제되고 drift가 생깁니다. 핵심은 공통값과 환경값의 경계를 명확히 두는 것입니다.
권장 구조
values.application.yaml: 앱 공통values.infra.yaml: 인프라 공통<env>/values.*.yaml: 환경 오버라이드
병합 순서
오버라이드는 뒤 파일이 앞 파일을 덮습니다.
helm template my-service \
-f values.infra.yaml \
-f values.application.yaml \
-f int/values.infra.yaml \
-f int/values.application.yaml \
./int
운영 규칙
- 공통 파일에는 "모든 환경에서 진짜 공통"만 둠
- 환경 파일에는 차이값만 기록
- 시크릿은 values 직접 저장 금지(외부 secret store 연동)
자주 하는 실수
- 환경별 파일에 공통값을 복붙해 drift 유발
- 병합 순서를 팀마다 다르게 사용
- 실환경 적용 전
helm template검증 생략
요약
Helm values 전략의 핵심은 파일 개수가 아니라 규칙 일관성입니다. 병합 순서와 값 경계를 고정하면 GitOps 운영 안정성이 크게 올라갑니다.