모든 Kubernetes 객체가 같은 네 키 가진 YAML 문서
Kubernetes manifest 가 엄격한 모양 따라: apiVersion, kind, metadata, spec. 클러스터 API server 가 manifest 읽고 그 kind 의 OpenAPI schema 로 검증, state 조정. 모든 Deployment, Service, ConfigMap, Ingress, Job, CronJob — 다 같은 네 키 봉투.
네 키 봉투
apiVersion— 어느 API 그룹 + 버전이 이 객체 소유 (예: Deployment 는apps/v1, Service 는v1).kind— 리소스 타입 (Deployment,Service,ConfigMap, …).metadata— 이름, namespace, label, annotation.spec— 원하는 state. 모양은 kind 마다 다름.
한 논리적 service 의 multi-document 파일
일반 service 가 Deployment + Service + ConfigMap + (옵션) Ingress 로 출시, --- 로 구분된 한 파일의 네 문서. kubectl apply -f stack.yaml 가 한 번에 다 적용.
원칙: manifest 는 원하는 state, 명령 아님. 클러스터가 작성한 거 향해 조정. 그래서 YAML — declarative, idempotent — 가 Kubernetes 에 맞는 포맷; 명령형 shell script 는 잘못된 모양.