Uncloud는 여러 대의 Docker 호스트를 하나의 클러스터처럼 묶어주는 경량 컨테이너 오케스트레이션 도구입니다. 복잡한 쿠버네티스 대신, 익숙한 Docker & Docker Compose 경험을 유지하면서도 멀티 서버 운영, HTTPS, 로드밸런싱까지 한 번에 해결할 수 있도록 설계되었습니다. 

 

주요 특징은 다음과 같습니다. 

 

  • 멀티 환경 지원: 클라우드 VM, 온프레미스 서버, 집에 있는 맥미니 등 위치나 제공자에 상관없이 하나의 클러스터로 묶어서 사용 가능
  • Docker Compose 기반: 새로운 DSL을 배울 필요 없이 기존 compose.yaml로 서비스 정의
  • 무중단 배포: 롤링 업데이트로 서비스 중단 없이 새 버전 배포 (실패 시 롤백 기능도 준비 중)
  • Unregistry 연동: 외부 레지스트리 없이 직접 서버에 이미지를 빌드/푸시하고, 부족한 레이어만 전송해 빠르고 효율적인 배포
  • 서비스 디스커버리 & 로드밸런싱: 내장 DNS로 컨테이너 간 통신을 단순화하고, 트래픽을 여러 서버에 분산
  • 자동 WireGuard 메쉬 네트워크: 서버 간에 자동으로 안전한 프라이빗 네트워크를 구성해 컨테이너가 서로의 IP로 직접 통신
  • 중앙 컨트롤 플레인 없음: 완전 분산 구조로, 일부 서버가 다운되어도 클러스터 운영 지속
  • Managed DNS + 자동 HTTPS: *.cluster.uncloud.run 형태의 도메인과 Let’s Encrypt 기반 TLS 발급/갱신, Caddy 리버스 프록시가 내장

 

사용 방법도 단순합니다. 로컬에 Uncloud CLI를 설치한 뒤, SSH로 서버에 접속해 uc machine init으로 첫 머신을 초기화하고, uc run 명령어로 이미지를 배포하면 지정한 도메인으로 HTTPS 서비스가 바로 올라옵니다. DNS A 레코드만 서버 IP로 연결해주면 됩니다. 

 

내부적으로는 각 머신에 uncloudd 데몬과 CRDT 기반 분산 SQLite DB인 corrosion을 설치해, 별도의 중앙 서버 없이도 클러스터 상태를 서로 동기화합니다. WireGuard 서브넷을 자동으로 할당하고, Docker 브리지 네트워크와 연결해 컨테이너 네트워킹을 구성합니다. 새로운 머신을 추가하면 자동으로 새 서브넷과 키 교환까지 처리됩니다. 

 

정리하자면,

 

  • “쿠버네티스는 너무 무겁고 운영이 부담스럽다”
  • “그래도 여러 대 서버를 묶어서 HTTPS, 로드밸런싱, 배포 자동화는 하고 싶다”

 

이런 개발자에게 Uncloud는 딱 중간 지점에 있는 실용적인 선택지입니다. 단일 서버 PaaS의 편리함과 자가 호스팅 인프라의 자유도를 함께 가져가고 싶은 분들이 한 번 살펴볼 만한 오픈소스 프로젝트입니다.

https://github.com/psviderski/uncloud

 

GitHub - psviderski/uncloud: A lightweight tool for deploying and managing containerised applications across a network of Docker

A lightweight tool for deploying and managing containerised applications across a network of Docker hosts. Bridging the gap between Docker and Kubernetes ✨ - psviderski/uncloud

github.com

 

반응형

Pangolin은 WireGuard 기반 터널과 Traefik 리버스 프록시를 결합한 셀프 호스팅 터널형 리버스 프록시 서버입니다. 대시보드 UI와 ID 관리 기능을 통해 인터넷에 내부 리소스를 안전하게 노출할 수 있는 솔루션입니다.

 

 

주요 기능

 

  • 구성: WireGuard 터널 및 Traefik 리버스 프록시 자동 설정, Docker 기반 손쉬운 배포 
  • 인증 및 권한 관리: SSO/OAuth2/OIDC 지원(무료), 역할 기반 접근 제어, 핀코드/패스워드, 일회용 공유 링크 
  • 보안:
    • 내부 리소스의 외부 포트 개방 불필요
    • Let’s Encrypt로 자동 SSL 인증서 발급 
  • 대시보드 & 사용자 경험: UI 리프레시, 글로벌 테이블 검색, 리소스 가시성 설정 
  • 고급 설정:
    • 멀티 도메인 지원, IP/CIDR/URL 경로 기반 접근 규칙 
    • CrowdSec 통합 설치 스크립트로 보안 강화 

 

 

구성 요소

 

  • Newt: WireGuard 터널을 설정 + TCP/UDP 프록시 역할을 수행하는 user-space 클라이언트 
  • Gerbil: WireGuard 인터페이스 관리 서버
  • Badger: Traefik 인증용 미들웨어 플러그인

https://github.com/fosrl/pangolin

 

GitHub - fosrl/pangolin: Tunneled Reverse Proxy Server with Identity and Access Control and Dashboard UI

Tunneled Reverse Proxy Server with Identity and Access Control and Dashboard UI - fosrl/pangolin

github.com

 

반응형

Headscale은 Tailscale 컨트롤 서버의 오픈 소스 자체 호스팅 구현체입니다. 

Tailscale은 WireGuard 기반의 현대적인 VPN으로, NAT 트래버설을 통해 네트워크의 컴퓨터들 사이에 오버레이 네트워크를 구축합니다.

Headscale은 이러한 Tailscale의 컨트롤 서버를 자체적으로 호스팅할 수 있도록 설계되어, 개인 프로젝트나 소규모 오픈 소스 조직에 적합한 단일 Tailscale 네트워크(tailnet)를 제공합니다.    

Headscale은 SQLite와 PostgreSQL 데이터베이스를 지원하며, 구성 및 ACL 정책을 파일로 관리하여 버전 컨트롤 시스템과의 통합이 용이합니다. 또한, gRPC 및 REST API를 통해 다양한 기능을 제어할 수 있으며, 여러 커뮤니티 주도의 웹 인터페이스와 통합하여 사용할 수 있습니다.

https://github.com/juanfont/headscale

 

GitHub - juanfont/headscale: An open source, self-hosted implementation of the Tailscale control server

An open source, self-hosted implementation of the Tailscale control server - juanfont/headscale

github.com

 

반응형

+ Recent posts