Part II. 아키텍처
CloudNativePG가 PostgreSQL을 어떻게 Kubernetes 위에서 운영하는지 그 뼈대를 살펴봅니다. Operator가 Cluster CRD를 읽어 Pod와 PVC를 만드는 전체 구조, Cluster 주변에 붙는 여러 Custom Resource의 관계, Pod 안에서 postgres 프로세스를 대신 지키는 인스턴스 매니저, 어떤 장애가 발생했을 때 무엇이 자동으로 복구되고 무엇이 사람 손을 필요로 하는지, 그리고 본체 밖에서 기능을 덧붙이는 CNPG-I 플러그인 규격을 차례로 정리합니다.
- 2.1 전체 아키텍처 — Operator·Cluster·Pod·PVC 관계와 primary/replica, multi-AZ, 서비스
- 2.2 Custom Resource 지도 — Backup, Pooler, Database, ImageCatalog 등이 Cluster를 참조하고 소유하는 관계
- 2.3 인스턴스 매니저 — Pod 안 PID 1이 postgres를 관리하는 구조와 probe
- 2.4 장애 모델 — 장애 유형별 처리: self-healing과 수동 개입
- 2.5 CNPG-I 플러그인 구조 — gRPC 확장 규격, 배치와 mTLS 발견, 제어 경로와 데이터 경로