Kubernetes에서의 PostgreSQL 확장의 미래: 불변성과 유연성의 조화
가브리엘레 바르톨리니
2025년 3월 18일
PostgreSQL이 가장 인기 있고 다재다능한 데이터베이스 엔진으로 자리 잡은 데에는 확장(Extensions)의 역할이 매우 중요했습니다. 그러나 Kubernetes에서 PostgreSQL 확장을 관리하는 것은 여전히 큰 도전 과제였습니다. 하지만 PostgreSQL 18이 출시되면 상황이 달라질 것입니다.
CloudNativePG는 이제 두 가지 혁신적인 기능인 extension_control_path 옵션과 **이미지 볼륨(Image Volumes)**을 통해 획기적인 전환점을 맞이하고 있으며, 이를 통해 확장 관리 방식이 완전히 변화할 것입니다.
불변(Immutable) 확장의 대가
Kubernetes 환경에서는 불변성을 유지하는 컨테이너 이미지가 필수적입니다. 즉, PostgreSQL 컨테이너 이미지도 보안 표준을 유지하고 업데이트를 체계적으로 관리하기 위해 읽기 전용(RO, Read-Only) 상태를 유지해야 합니다.
하지만 PostgreSQL의 가장 큰 장점은 확장성을 제공하는 데 있습니다. 지금까지 CloudNativePG에서 PostGIS, pgvector와 같은 서드파티 확장을 실행하려면 컨테이너 이미지 내부에 확장을 포함해야 했습니다. 하지만 이러한 방식에는 다음과 같은 문제가 있었습니다.
- 컨테이너 이미지 용량 증가 (Bloated images)
- 확장 옵션 제한 (Limited extension options)
- 운영 복잡성 증가 (Operational complexity)
이 문제를 해결하기 위해 PostgreSQL과 Kubernetes 양쪽에서 개선이 필요했습니다.
불변성과 확장성을 동시에 충족하는 두 가지 핵심 혁신
이제 PostgreSQL과 Kubernetes에 두 가지 새로운 기능이 추가되면서 불변성을 유지하면서도 확장을 동적으로 로드할 수 있는 길이 열렸습니다.
1️⃣ PostgreSQL 18의 extension_control_path
옵션 (제안 중)
✅ 여러 개의 디렉터리를 확장 파일 경로로 지정할 수 있도록 지원
✅ 기존의 단일 시스템 전역 확장 디렉터리 제한을 해제
2️⃣ Kubernetes의 ImageVolume
기능 (Kubernetes 1.31 알파 버전 도입, 1.33에서 베타 출시 예정)
✅ 컨테이너 이미지를 읽기 전용(RO) 불변 볼륨으로 마운트 가능
✅ PostgreSQL 확장을 독립적인 OCI 호환 컨테이너 이미지로 패키징 가능
✅ CloudNativePG 클러스터 내부의 특정 디렉터리에 확장 마운트 가능
이 패치 작업에 참여한 개발자, 확장을 선언적으로 배포하는 방법, 내부적으로 어떻게 작동하는지에 대한 자세한 내용은 제 블로그에서 확인할 수 있습니다.
CloudNativePG로 혁신의 문을 열다
이 새로운 접근 방식은 PostgreSQL 확장을 개발하는 사람들과 이를 사용하는 사람들 간의 간극을 좁히는 것을 목표로 합니다.
그리고 이제 다음 단계로 나아가야 합니다:
PostgreSQL 확장의 배포 방식 혁신.
PostgreSQL 확장 개발자들은 이제 OCI(오픈 컨테이너 이니셔티브) 이미지를 RPM 및 Debian 패키지와 동등한 주요 배포 방식으로 받아들여야 합니다.
OCI 이미지로 확장을 패키징하면 PostgreSQL 운영자(Operator) 이미지와 확장을 분리할 수 있으며, 이를 통해 다음과 같은 이점을 얻을 수 있습니다.
✅ 확장을 동적으로 설치 가능 (이미지를 다시 빌드할 필요 없음)
✅ 핵심 데이터베이스 이미지를 최소화하여 가벼운 운영 가능
✅ 확장의 테스트 및 업그레이드 간소화
✅ 불변성을 유지하면서도 보안성과 유지보수성 향상
CloudNativePG와 함께 Postgres 확장의 미래를 열어가다
이러한 혁신적인 기능을 통해 PostgreSQL 확장은 불변성을 유지하면서도 유연성을 갖춘 방식으로 발전할 것입니다.
또한, 최근 CloudNativePG가 Cloud Native Computing Foundation(CNCF) Sandbox에 채택되면서, 우리는 Postgres의 무한한 가능성을 이제 막 열어가고 있다고 믿습니다.
이러한 발전은 벡터 GIS, 시계열 데이터베이스, AI 워크로드 등 다양한 분야에서 폭넓게 활용될 것입니다.
우리는 앞으로 펼쳐질 미래를 기대하고 있으며, 여러분도 이러한 기술 혁신을 적극 활용해 보시길 바랍니다!
자세한 내용은 블로그 원문에서 확인해 주세요.
원문: The Immutable Future of PostgreSQL Extensions in Kubernetes with CloudNativePG