Kubernetes의 복잡함 없이 서버 간 컨테이너 앱을 배포하는 도구 Uncloud

4 days ago 5

  • Uncloud는 Kubernetes 없이도 여러 서버에 컨테이너화된 웹 애플리케이션을 배포하고 확장할 수 있는 오픈소스 도구
  • Docker Compose 기반 워크플로우를 유지하면서, 무중단 배포·자동 HTTPS·서버 간 스케일링을 지원
  • 중앙 제어 플레인 없이 각 머신이 WireGuard 기반 P2P 네트워크로 연결되어, 일부 서버가 오프라인이어도 클러스터 운영 유지
  • Caddy 리버스 프록시를 통한 자동 HTTPS, 내장 DNS 기반 서비스 디스커버리, 로드밸런싱 기능 포함
  • 클라우드·온프레미스 혼합 환경에서도 동일한 방식으로 배포 가능해, 인프라 제어권과 비용 예측성을 확보

PaaS 유사 워크플로우

  • Heroku나 Fly.io처럼 간단한 배포 경험을 제공하면서도 서버와 데이터에 대한 완전한 제어권 유지
    • 요청 단위 과금이 아닌 예측 가능한 비용 구조
    • 벤더 종속성 없음, 표준 SSH 도구로 디버깅 가능
  • Docker Compose 친화적 구조로, 빌드·푸시·배포를 한 명령으로 수행
    • 이미지 레지스트리 불필요, 무중단 롤링 배포 지원
    • 여러 머신에 걸친 복제 스케일링 가능

저유지보수형 설계

  • 컨트롤 플레인이나 쿼럼 관리 불필요, 관리 복잡도 최소화
  • 포트 개방 없이 안전한 머신 간 통신 지원
  • 자동 서비스 탐색Let's Encrypt 기반 HTTPS 자동 발급 기능 내장

작동 방식

  • 복잡한 클러스터 대신 간단한 머신 네트워크로 구성, 유지보수 부담 없이 안정적 인프라 제공
  • 각 머신은 WireGuard 메시 네트워크에 참여해 자동 피어 탐색 및 NAT 트래버설 수행
    • 컨테이너는 고유 IP를 받아 서버 간 직접 통신 가능
  • 완전 분산형 구조로, 중앙 제어 노드 없이 각 머신이 클러스터 상태를 동기화
    • 일부 머신이 오프라인이어도 클러스터 운영 지속
  • Docker 유사 CLI로 전체 인프라 제어
    • 단일 머신 SSH 접근만으로 배포·모니터링·스케일링 수행 가능

주요 기능

  • 어디서나 배포 가능: 클라우드 VM, 전용 서버, 온프레미스 등 모든 Linux 머신 지원
  • 자동 HTTPS: 내장 Caddy 리버스 프록시로 무설정 TLS 인증서 발급 및 HTTPS 활성화
  • 로드밸런싱: 여러 머신에 분산된 컨테이너 복제본 간 트래픽 분배
  • 서비스 디스커버리: 내장 DNS가 네트워크 내 서비스 위치를 자동 추적
  • Infrastructure as Code: 기존 Docker Compose 파일로 전체 앱 스택 정의 가능
  • 벤더 종속성 없음: 클라우드와 자체 하드웨어를 자유롭게 혼합 사용 가능

오픈소스 개발 참여

  • Uncloud는 활발히 개발 중인 오픈소스 프로젝트
  • 개발 진행 상황과 신규 기능을 구독으로 받아볼 수 있으며, GitHub 이슈Discord 서버를 통해 기여 가능

Read Entire Article