Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
클라우드/DevOps

CRD와 Operator Pattern: Kubernetes API 확장의 핵심 아키텍처

CRD(Custom Resource Definition)는 선언적 API로 새로운 리소스 타입을 정의하고, Operator Pattern은 CRD와 컨트롤러를 결합하여 도메인 특화 자동화를 구현합니다. 이 둘의 조합은 복잡한 애플리케이션의 라이프사이클을 자동으로 관리합니다.

2026.09.28  ·  23회  · 

CRD와 Operator의 관계

CRD(Custom Resource Definition)는 Kubernetes API 서버에 새로운 리소스 타입을 등록하기 위한 메커니즘입니다. CRD는 스키마 정의만 제공하며 실제 비즈니스 로직은 포함하지 않습니다. 반면 Operator는 CRD로 정의한 커스텀 리소스를 감시하고 관리하는 컨트롤러입니다.

Operator Pattern의 핵심은 '조정 루프(Reconciliation Loop)'입니다. 컨트롤러는 지속적으로 원하는 상태(spec)와 현재 상태(status)를 비교하고, 차이가 있으면 일치시키기 위한 작업을 수행합니다. 이는 사람이 수동으로 수행하던 운영 작업을 자동화하는 원리입니다.

아키텍처 설계 시 고려사항

실무에서는 하나의 Operator가 하나의 CRD만 관리하는 '단일 책임 원칙'을 따르는 것이 권장됩니다. 다중 CRD를 단일 컨트롤러로 관리하면 복잡도가 급증하고 테스트 및 유지보수가 어려워집니다. 또한 컨트롤러의 reconcile 함수는 멱등성을 보장해야 하므로, 같은 작업을 여러 번 수행해도 결과가 동일해야 합니다.

Operator Framework, Kubebuilder, Kopf 같은 프레임워크를 사용하면 보일러플레이트 코드를 줄이고 안정적인 구현이 가능합니다. 상태 관리, 버전 관리, 보안 정책 등은 클러스터 운영 관점에서 신중하게 설계해야 합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원