방구석 긱을 위한 저전력 3노드 k3s 홈랩 클러스터 구축기
중고 미니 PC(N100) 3대로 구성한 저전력 고효율 쿠버네티스 홈 인프라. 전력 소모 25W 미만에서 구동되는 프로덕션급 셀프호스팅 환경을 공유합니다.
방구석 긱을 위한 저전력 3노드 k3s 홈랩 클러스터 구축기
엔지니어라면 누구나 한 번쯤 집 한구석에서 24시간 조용히 돌아가는 나만의 작은 데이터센터를 꿈꿔봤을 것입니다. 클라우드 비용 청구서의 압박 없이, 마음껏 분산 시스템을 실험하고 직접 만든 서비스들을 영구히 셀프호스팅할 수 있는 환경.
이번 포스트에서는 인텔 12세대 Alder Lake-N (N100) 기반 초소형 미니 PC 3대를 엮어 저전력 k3s 클러스터를 구축한 과정과 실측 벤치마크, 그리고 운영 노하우를 정리합니다.
1. 하드웨어 스펙 및 빌드 구성
| 부품 | 스펙 | 개수 | 비고 |
|---|---|---|---|
| Node Machine | Intel N100 (4C/4T, TDP 6W) | 3대 | Fanless 초소형 미니 PC |
| RAM | DDR5 4800MHz 16GB SO-DIMM | 3개 | 노드당 16GB (총 48GB) |
| Storage (OS/Data) | NVMe PCIe 3.0 M.2 1TB SSD | 3개 | Ceph/Longhorn 분산 스토리지용 |
| Network Switch | 2.5GbE 5포트 비관리형 스위치 | 1대 | 노드 간 내부 패킷 병목 해소 |
| Power | 12V 5A DC 어댑터 & 멀티탭 | 1셋 | 대기전력 통합 측정 플러그 연결 |
총 전력 소비량 측정 결과
- Idle (유휴 상태): 클러스터 3대 + 스위치 전체 합산 14.8W
- Full Load (빌드 파이프라인 가동 시): 최대 38.2W
- 월 예상 전기요금: 한 달 내내 24시간 가동 기준 약 2,000원 ~ 3,500원 내외
2. 왜 k8s 대신 k3s인가?
표준 Kubernetes는 etcd, kube-apiserver, kube-scheduler, cloud-controller-manager 등 수많은 컴포넌트가 분리되어 있어 마스터 노드 하나만 띄워도 메모리를 2~3GB 이상 점유합니다.
반면 Rancher의 k3s는:
- SQLite 또는 임베디드 etcd를 지원하여 단일 바이너리로 패키징되어 있습니다.
- 미사용 클라우드 드라이버 제거로 메모리 풋프린트가 512MB 미만입니다.
- Helm, Traefik(Ingress Controller), Local-path-provisioner가 기본 내장되어 부트스트래핑이 즉시 완료됩니다.
# 1번 노드 (Server 노드 설치)
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--cluster-init --disable=traefik" sh -
# 클러스터 토큰 확인
cat /var/lib/rancher/k3s/server/node-token
# 2, 3번 노드 (Worker 합류)
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.1.100:6443 K3S_TOKEN="<TOKEN>" sh -
3. 분산 스토리지: Longhorn 세팅
홈랩의 가장 큰 문제는 노드 하나가 꺼졌을 때 스테이트풀(Stateful) 애플리케이션의 데이터가 유실되지 않도록 하는 것입니다. 우리는 Longhorn을 설치하여 3개 노드의 NVMe를 하나의 분산 블록 볼륨 풀로 묶었습니다.
- Replication Count: 3 (노드 1대가 완전히 물리적으로 고장나도 서비스 무중단)
- Snapshot & S3 Backup: Cloudflare R2 버킷으로 매일 새벽 자동 증분 백업 구성
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: chronicle-db-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 20Gi
4. 긱한 포인트: Tailscale 서브넷 라우터 + Cloudflare Tunnel
집 밖에서도 공인 IP 노출이나 포트포워딩 없이 클러스터 내부 도메인(.geek.internal)으로 바로 접속할 수 있도록 Tailscale Kubernetes Operator를 올렸습니다.
외부에 공개할 서비스(예: geek-story.com 쇼케이스 데모)는 Cloudflare Zero Trust Tunnel 컨테이너를 통해 인바운드 방화벽을 100% 닫은 채 안전하게 퍼블릭 트래픽을 중계합니다.
5. 결론 및 긱 지수 평가
- 가성비: ★★★★★ (초기 비용 약 50만원으로 나만의 평생 무제한 PaaS 완성)
- 전력/발열/소음: ★★★★★ (팬리스 알루미늄 케이스로 완전 무소음)
- 자유도: ★★★★★ (깃허브 웹훅으로 자동 배포되는 나만의 프로덕션 환경)
방구석에서 인프라를 직접 조립하고 운영하는 경험은 어떤 클라우드 콘솔 클릭 질보다 엔지니어링의 본질을 깊이 체감하게 해줍니다. 이제 이 클러스터 위에서 우리가 만들 긱한 서비스들을 하나씩 띄워볼 차례입니다!