이전 글에서 kustomize build를 배웠다면, 여기서 반드시 정리해야 하는 포인트가 하나 있습니다.
kustomize build는 클러스터에 아무것도 배포하지 않습니다.- 그냥 “최종으로 렌더링된 YAML”을 터미널(stdout)로 출력할 뿐입니다.
그래서 kubectl get pods, kubectl get deploy, kubectl get svc를 찍어도 아무것도 생성되지 않은 게 정상입니다.
그럼 “도대체 이 결과를 어떻게 클러스터에 적용하지?”가 이번 내용의 핵심입니다.
1) build 결과를 실제로 적용하는 방법 1: 파이프(|)로 kubectl apply에 전달
정석은 다음 형태입니다.
kustomize build ./k8s | kubectl apply -f -
이 명령이 하는 일(구조 이해가 핵심)
|(pipe)는 Linux/쉘 기능입니다. Kubernetes 전용 문법이 아닙니다.- 왼쪽 명령의 출력(stdout)을 오른쪽 명령의 입력(stdin)으로 넘겨줍니다.
즉,
kustomize build ./k8s
→ 최종 YAML을 출력한다kubectl apply -f -
→-f는 파일/스트림을 의미
→-는 “파일 대신 stdin에서 읽어라”라는 뜻
→ 결과적으로, 방금 build로 만든 YAML을 바로 apply 한다
이렇게 “렌더링 → 적용”이 한 번에 연결됩니다.
2) build 결과를 실제로 적용하는 방법 2: kubectl의 -k 옵션(네이티브)
Kustomize는 kubectl에 내장되어 있으므로, 보통은 아래 한 줄로 끝냅니다.
kubectl apply -k ./k8s
여기서 -k는 “이 디렉터리의 kustomization.yaml을 기준으로 Kustomize 처리해서 적용해라”라는 의미입니다.
실무에서는 대부분 이 형태가 더 많이 쓰입니다(짧고 실수 여지가 적음).
3) 삭제(delete)는 apply와 동일한 패턴(단어만 바뀜)
적용이 가능하면, 삭제도 거의 같은 방식입니다.
방법 1) build + pipe + kubectl delete
kustomize build ./k8s | kubectl delete -f -
- 왼쪽: 최종 YAML 출력
- 오른쪽: 그 YAML에 해당하는 리소스들을 삭제
방법 2) kubectl -k로 삭제
kubectl delete -k ./k8s
4) 빠른 확인: 적용/삭제 후 상태 체크
적용 후
kubectl get deploy,svc
kubectl get pods
라벨을 commonLabels로 붙였다면 라벨로도 확인 가능:
kubectl get deploy,svc -l company=KodeKloud
삭제 후
kubectl get deploy,svc
리소스가 사라졌으면 정상입니다.
5) 실무 팁: 적용 전에 결과를 먼저 “눈으로 보고” 가는 습관
Kustomize는 렌더링 결과가 곧 배포 결과입니다. 그래서 적용 전에 아래를 자주 합니다.
kustomize build ./k8s | less
또는 kubectl 내장:
kubectl kustomize ./k8s | less
(가능한 환경이라면) 변경점만 확인:
kubectl diff -k ./k8s
정리
kustomize build는 출력만 하고, 배포하지 않는다- 배포하려면
kustomize build ... | kubectl apply -f -- 또는 더 간단히
kubectl apply -k ...
- 삭제도 동일하게
kustomize build ... | kubectl delete -f -- 또는
kubectl delete -k ...
-k는 “kustomization.yaml 기준으로 처리”를 의미한다
'CKA' 카테고리의 다른 글
| Kustomize - Transformers (0) | 2026.01.08 |
|---|---|
| Kustomize - 여러 디렉토리 관리 (0) | 2026.01.08 |
| kustomize - kustomization.yaml (0) | 2026.01.08 |
| Kustomize - Install/Setup Kustomize (0) | 2026.01.08 |
| Kustomize - Kustomize vs Helm (0) | 2026.01.08 |