헤맨 만큼 고도화된, Runway DB 인프라 구성 개선기
36
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

Runway DB 인프라 구성 개선기

이 게시물은 Runway AI 플랫폼의 Kubernetes 환경에서 데이터베이스 인프라를 구축하고 고도화한 과정을 공유합니다.

초기 구성과 문제점

  • 초기에는 단일 PostgreSQL pod를 k8s.Deployment로 배포했으나, 이는 stateful 애플리케이션에 부적합
  • 고가용성 요구에 대응하기 위해 bitnami/postgresql-ha Helm 차트를 이용한 PostgreSQL-HA 클러스터를 도입
  • 복제와 장애 극복 기능을 갖췄으나, 복잡한 장애 시 Split Brain 문제 발생

대체 솔루션 검토 및 선택

  • Split Brain 문제를 해결하기 위해 cloudnative-pg(cnpg), zalando/postgres-operator, CrunchyData/postgres-operator 중 검토
  • 폐쇄망 환경 자동 복구와 높은 자동화 수준을 고려해 cloudnative-pg를 최종 선택

cloudnative-pg의 장애 대응

  • Kubernetes API를 직접 사용하여 클러스터 상태 감지 및 자동 복구 수행
  • failover 시 primary pod 상태 추적 후 새로운 leader 선출
  • Split Brain 방지 및 Standby 서버 장애 시 데이터 동기화 방식 개선

적용 및 기대 효과

  • 기존 bitnami/postgresql-ha의 한계 극복
  • Runway 인프라의 안정성과 신뢰성 강화
  • AI 플랫폼 인프라 안정성 향상을 위한 개선 과정 참고 가능

연관 게시글