원본과 변경 정의의 분리
원본 리소스 파일은 그대로 두고 적용할 변경을 별도의 정의에 기록한다. 템플릿 문법을 원본에 삽입하는 방식 대신 Kubernetes 객체 구조를 이해해 설정을 조정한다. 최종 결과는 변경 사항이 반영된 YAML이다.
공통 기반과 환경별 오버레이
여러 환경이 공유하는 리소스를 기반으로 두고 각 환경의 오버레이에서 필요한 패치를 추가한다. 오버레이도 다른 기반과 변경 사항을 참조하는 kustomization이다. 공통 설정과 환경 차이를 나누면 같은 내용을 반복 작성하는 일을 줄일 수 있다.
생성한 설정의 활용
대상 디렉터리의 정의를 빌드해 최종 리소스 설정을 출력한다. 이 결과를 Kubernetes에 적용하거나 배포 관리 도구의 입력으로 활용할 수 있다. 원본을 직접 바꾸지 않으므로 원본 관리자의 변경과 별도의 환경별 조정을 구분해 관리하기 쉽다.
관련 문서
Helm / Argo CD / Flux GitOps / 깃 / YAML / API