Dev/KUBERNETES

Harbor HA 환경에서 PostgreSQL 로컬스토리지 사용하면 안 되는 이유 3가지

Andrea.K 2025. 7. 16. 13:24
반응형

Harbor HA 환경에서 PostgreSQL/Redis 로컬스토리지 사용 가능 여부

💡 핵심 답변: "기술적으로는 가능하지만, 실제로는 하면 안 됩니다"

Harbor의 고가용성(HA) 환경에서 PostgreSQL과 Redis를 로컬스토리지로 사용하는 것은 고가용성의 목적 자체를 무너뜨리는 모순된 구성입니다.

🚨 왜 문제가 될까요?

1. 단일 장애점(Single Point of Failure) 생성

  • 하나의 노드가 다운되면 그 노드의 DB/Redis 데이터가 모두 사라집니다
  • 다른 Harbor 인스턴스들이 정상이어도 데이터베이스 없이는 동작할 수 없습니다

2. 데이터 불일치 문제

  • 여러 Harbor 인스턴스가 각각 다른 로컬 DB를 사용하게 되면 데이터 동기화가 불가능합니다
  • 사용자별로 다른 데이터를 보게 되는 심각한 문제 발생

3. 장애 복구 불가능

  • 로컬스토리지의 데이터는 노드 장애 시 복구가 어렵거나 불가능합니다
  • 백업/복원 메커니즘도 복잡해집니다

✅ 올바른 구성 방법

운영 환경 (권장)

Harbor Instance 1 ─┐
Harbor Instance 2 ─┼─→ 외부 PostgreSQL 클러스터
Harbor Instance 3 ─┘    외부 Redis 클러스터

개발/테스트 환경 (허용 가능)

Single Harbor Instance → 내장 PostgreSQL/Redis

🎯 실무 관점에서의 조언

언제 로컬스토리지를 사용할 수 있나요?

  • 개발자 개인 테스트 환경
  • 임시 데모나 PoC 환경
  • 데이터 유실이 문제없는 실험 환경

절대 사용하면 안 되는 경우:

  • 실제 운영 환경
  • 중요한 컨테이너 이미지가 저장되는 환경
  • 서비스 연속성이 중요한 환경

결론

Harbor HA를 구성하는 이유는 "무중단 서비스"를 위함입니다. 로컬스토리지 사용은 이 목적과 정반대의 결과를 가져오므로, 반드시 외부의 고가용성 데이터베이스 클러스터를 사용해야 합니다.

 

반응형