archived-old-homelab

(Project) HomeLab Cluster - Architecture & Plan (1)

date
May 7, 2024
slug
homelab-cluster-architecture-plan
author
status
Public
tags
Archived
summary
HomeLab 클러스터 프로젝트 아키텍처 소개
type
Post
thumbnail
home-k8s-homelab-k8s-0517.drawio.png
category
archived-old-homelab
updatedAt
Oct 1, 2025 06:22 AM
(0517자로 NordVPN Meshnet을 추가한 아키텍처 기반으로 본 포스팅 수정완료했습니다! 참고바랍니다)

Index

  1. Introduction
  1. HomeLab?
  1. Motivation
  1. Goal
  1. Architecture / Cost
  1. Plan
  1. Conclusion
 

Introduction

안녕하세요 Yureutae입니다. 새로운 프로젝트 겸 스터디를 구상했는데, 바로 저비용 HomeLab 클러스터 구축 입니다.
해당 Series는 저만의 Toy Project로 진행하던 중에, Cloud Club 커뮤니티 멤버 중 관심을 가지는 사람들이 많아져 스터디 형태로 전환했습니다.
어떤 한 분야의 기술을 쓰거나 배우는 형태가 아니라, 이제껏 배운 넓은 Computer Science 분야의 지식을 밑바닥부터 내재화하고 체득하는데 좋은 것 같습니다. 특히 환경, 보유 자원에 따라 구성방식이 커스텀 될 수 밖에 없으므로 어떠한 메뉴얼, 도큐먼트, 포스팅을 완전히 따라가지 않고 일일히 상황을 고려해서 적합한 대응을 해야한다는 점에서 유의미 한 것 프로젝트인 것 같습니다. (요즘은 Cloud Service로 쉽게 구축을 하고 best practice architecture 의존을 많이 해서 오히려 이런 경험을 얻기 어려운 것 같습니다.)
 
이 Series 프로젝트 결과물을 통해서, Home Lab 구성을 하시는 분들이 많아지면 좋겠습니다.
 

HomeLab?

HomeLab은 말 그대로 Home Laboratory입니다. 서버환경을 집과 같은 거주장소에 만드는 거죠. 집에서 만들기 때문에 엔지니어별로 구축 스펙이 천차만별일 수 있습니다.
AWS와 같은 CSP (이하 Cloud Service Provider)가 크게 성장하지 않았던 과거에는 실제 프로덕션 용으로도 고려되었습니다. Cloud Service가 크게 성장함에 따라 서버 및 Home Lab 구축에 대한 사람들의 관심이 크게 줄은 것 같고 덕후의 영역에 도달한 것 같습니다.
집에서 그냥 서버 하나 통째로 만든 reddit homelab community 사람들….
하지만 조금만 복잡한 아키텍처를 AWS에 구성하려고 하면 오히려 home lab보다 비용이 많이 발생하는 경우가 생깁니다. 비용관리 자체도 복잡해지는 편이구요. 예를 들어 EKS Cluster 하나 운영하면 기본적으로 EKS 사용비용으로 월 7만원을 지불해야하고, 기타 ELB, S3, EBS, EC2/Fargate 등을 붙이면 더욱 늘어나게 됩니다. 개인용/소규모로 사용하기에 오히려 머리 아파진다는 얘기가 됩니다.
즉, Cloud Service 사용에 대한 고정비용이 Home Lab 구성 및 유지 비용보다 저렴한가?가 요지가 될 것 같습니다. (비용 관련은 5번에서 더 자세히 설명하겠습니다.)
 
 
 

Motivation

공식 프로덕션 용으로 돌릴 서비스는 현재 없습니다. 프로덕션 용으로는 공인 ip 문제도 있고 보안 문제도 있고 트래픽 문제도 있어서 어렵습니다.
저는 개인용, 소규모 프로젝트 인원용으로 다음과 같은 목적을 가지고 Home Lab 클러스터를 만들고 있습니다.
  • CI/CD
  • NAS
  • 지속적인 K8s 관리 및 테스트 경험 (K3s나 MiniKube는 그만….)
  • Application 테스트
  • 모니터링
 
매번 기획은 하고 있었는데 최근 진행을 결심한 계기가 2가지 있습니다. 하나는 최근 Cloud Club에 5기로 들어오신 분 중 DevOps 직무를 준비하며 진짜 home k8s 구축을 하신 분의 스토리를 봐서이고, 나머지 하나는 미니 PC 시장이 급 성장해서입니다.
 
매번 생각만하고 있었고 귀찮고 돈이 부족해서 안하고 있었는데, 주변에서 홈서버 클러스터 구축 사례를 실제로 보니 자극을 크게 받았습니다. 물론 저도 연구실 서버들을 활용해서 온프레미스 클러스터를 구축해보았으나, 제 소유가 아니고 네트워크 관리 자체는 학교 전산실 담당에게 귀속되어 있어서 불편한 점이 여간 한 두가지가 아니라 구축할 이유는 늘어가고 있었습니다.
돈이 부족해서 라즈베리파이 5 여러개 사서 저비용으로 만들어볼까 고민했었습니다. 때마침 닥터케이 님 영상이 알고리즘타고 많이 올라와서 구매 직전이었던 것 같습니다.
썸네일을 보고 구매 버튼 누르기 직전이었던 www
뭐 결국 구매 직전에 고민하던 것은 아래와 같습니다.
  • 마더보드에 불과한데 저 성능에 저 가격?은 너무하지 않나…
    • 고등학교 때 라즈베리파이 4를 갖고놀았는데 그거에 비해 가격이 2.x 배 정도되는 것 같습니다…
    • 유튜브 4k도 힘들게 돌려?
    • 케이스 등은 따로?
  • 5v 5A라는 해괴망측한 차지타입
    • 여분으로 구입 자체도 어렵습니다 ㅋㅋㅋ
    • 소프트웨어만 고려하고 싶은데 괜히 짜증나는…
 
 
그렇게 2주쯤 고민하고 있었는데, 알리익스프레스의 한국 적극적 진출로 인해 고민이 해결되었습니다.
아ㅋㅋㅋ 어떻게 사무용 컴퓨터가 12만원 ㅋㅋㅋ
N100 미니 PC의 존재는 진즉 알고 있었는데, 아무리 연구실 봉급을 받는다해도 개당 평균 25만원은 좀 힘들더라구요. 할인을 해도 20만원 초반대라 좀 부담스러웠습니다. 그런데 알리에서 미친 할인 + 유튜버 할인으로 RAM 16GB/SSD 128GB 기준으로 개당 12만 5000원까지 줄일 수 있게 되었습니다. 이때다 싶어서 3개를 구매했죠.
여튼 4k 모니터처럼 미니 pc도 평균 이 가격대로 내려올 것이라고 생각되고, 라즈베리파이와 미친 성능차이 + 단순 마더보드가 아닌 완제품 이라는 장점 등을 고려해서 해당 프로젝트를 기획하게 되었습니다.
 
 
 
 

Goal

그래서 프로젝트의 목표를 다시 정리하자면, 저비용 Home Lab 클러스터 구축입니다.
  • 누구든지 제품만 구한다면 Home Lab 클러스터를 “쉽게” 구축할 수 있도록 과정을 정리
  • 클러스터의 물리적 위치가 이동되더라도 쉽게 이관할 수 있도록 (포터블)
  • 복잡한 세팅 없이 바로 클러스터로 접근할 수 있도록
  • 비용은 최대한 저렴하게
 
여러 포스팅을 봤는데, 홈서버 우분투부터 시작해서 k8s 클러스터 프로비저닝까지 트러블슈팅없이 자동화하는 것은 매우 까다로웠던 것 같습니다. 특히 해당 클러스터의 물리적인 위치 자체가 변경된다면 처음부터 다시 노가다 세팅해야 할 필요가 생기는 것 같…
여튼 핵심은 “누구든지” “쉽게” “포터블한” “저렴하게”라는 키워드입니다. 아래 아키텍처 등을 통해 좀더 자세히 설명해보겠읍니다.
 
 
 

Architecture & Cost

 

240504자 포스팅 아키텍쳐

(아래 0517자 아키텍쳐로 변경되었습니다.)
대충 짜본 구조입니다. 이번 포스팅은 아키텍처와 내부 구성요소 및 비용에 대해만 간단하게 안내하겠습니다. 이후 포스팅에서 왜 이렇게 구성했는 지에 대해서 디테일하게 설명하겠습니다.
notion image
 
라우터 B와 연결된 영역이 HomeLab의 영역이고 나머지는 기존 홈 네트워크의 영역(통신사 모뎀, PC, 프린터, 스마트폰, 메인 공유기)이라고 보시면 될 것 같습니다.

240517자 포스팅 아키텍쳐(수정)

  • 위 0504 아키텍처에서 NordVPN Meshnet을 추가했습니다. Router A에 대한 HomeLab Cluster Network의 독립성이 더 증가했다고 보시면 될 것 같습니다.
  • 각 디바이스에 Meshnet ip가 부여되고 P2P로 통신이 가능하므로 Router B에서 Port를 열어줘야하는 번거로운 행위를 할 필요가 없어졌습니다.
  • DMZ나 Twin ip 등을 사용하지 않고 애플리케이션 deploy 때만 Port-forwarding을 하기 때문에 보안적인 측면에서도 향상을 이뤘습니다.
 
NordVPN Meshnet은 회원가입만하면 10개의 디바이스까지 무료로 사용이 가능함 ㅋㅋ
NordVPN Meshnet은 회원가입만하면 10개의 디바이스까지 무료로 사용이 가능함 ㅋㅋ
 

Home Lab 구성요소

Router B (내부망 구성 용)

쿠팡 반품은 신이야
쿠팡 반품은 신이야
  • 연구실이든 집이든 공유기 남는 포트가 없어요…
  • 허브 모드로 사용 시, 추후 이관이 어렵습니다. 연구실에서 자취방으로 옮겨야하는 상황이나 이사하는 상황이 생기면 네트워크 관련 영역을 싹 갈아야합니다. 따라서 내부망을 원 홈네트워크 대역과 분리하여 구성합니다.
  • DDNS, QOS, 고정 ip 관리를 원 홈네트워크와 별도로 구성하고 싶습니다.
  • Router A에 부담을 줄이고 싶습니다. K8s 노드 내부 통신의 경우 굳이 A를 거칠 필요없이 Router B 단에서 처리해버리면 되니까요.
  • Switch와 Router 가격 차이가 그렇게 크지 않…..
  • iptime이 국산이라는 걸 알고 tplink를 채택했습니다. (1Gbps, ddns 등등을 만족하는)
 

Master Node

  • N100 중에 포트가 다양하고 usb 3.1 + c type 통신이 가능한 것을 12만원에 구했습니다.
지금은 조금 가격이 있네요. 저는 16/128을 13만원에 업어왔습니다.
지금은 조금 가격이 있네요. 저는 16/128을 13만원에 업어왔습니다.
  • 얘는 Ubuntu Desktop 버전으로 설치합니다. Master로 두고 디버깅 필요할 때 모니터 한번씩 연결하려구요. (지금은 후회 중입니다…그냥 Ubuntu Server로 설치할 껄…)
  • DAS랑 HDD를 싸게 구했기 때문에 여기에 DAS를 c type으로 연결 후 NAS + NFS도 운용하려합니다.

Worker Nodes

  • 워커노드는 언제든 확장 가능할 수 있게 고려해야겠읍니다 (기억은 안나지만 kubeadm 잘 건드리면 되지 않을까…)
n100을 단종시키고 n200으로 교체해서 가격이 엄청 올랐네요. 저는 16/128을 12만원에 업어왔습니다.
n100을 단종시키고 n200으로 교체해서 가격이 엄청 올랐네요. 저는 16/128을 12만원에 업어왔습니다.
 

Data Storage

HDD/SSD

복불복 리퍼제품 ㅋㅋ 저장장치 가격들이 너무 올라서….
복불복 리퍼제품 ㅋㅋ 저장장치 가격들이 너무 올라서….
  • pv / pvc (nfs + dynamic provisioning) + NAS 수행하려면 좀 넉넉한 hdd/ssd가 필요합니다.
  • 예전 연구실 클러스터는 마스터 노드의 ssd에 nfs (network file system) 을 구성해서 pv/pvc를 세팅했는데, 마스터 노드의 root volume에 의존하면 안되겠죠…? + Mini PC 분해 및 용량 확장이 번거로울 것 같습니다.
  • Mini PC들이 일단 내장 SATA 방식과 nvme 방식을 지원하는데 SATA에는 디폴트로 ssd가 박혀있고, HDD를 SATA로 연결해도 물리적인 크기 때문에 외부로 빼야합니다.
  • Network Adapt 목적이 큰 데, 어차피 Read/Write 속도가 인터넷 속도를 못 따라오기 때문에 HDD를 선택했습니다.
  • 추후 Read/Write 속도를 높일 필요가 있는 작업이 있는 경우, nvme를 달아주도록 하겠습니다. (n100 조사 결과 어차피 달아도 원래 ssd 속도는 안나오는…)
 

DAS (Direct Attached Storage)

반품 제품으로 싸게 구했…..
반품 제품으로 싸게 구했…..
  • 시놀로지 NAS라는게 있지만 OS 편의성, 안정성 이외에는 정말 가성비가 떨어지는 제품입니다.
  • 저는 Master Node가 좀 놀 것 같아서 NAS/NFS 역할을 추가로 맡길 생각이라 DAS (Direct Attached Storage)를 찾게 되었습니다.
  • mini pc라 HDD 어댑터 접근성이 떨어지는데, 얘를 쓰면 usb c/b로 연결할 수 있습니다. (속도도 충분)
  • 리눅스에서 RAID 구성을 해도 되지만 얘로는 매우 쉽게 구성할 수 있습니다. 어차피 노드가 5개 이상이 되지 않아서 RAID 0, 1 이외에는 당분간 의미도 없습니다. 저는 RAID 0를 사용할 예정입니다.
  • NAS는 NextCloud로 구성할 생각인데 좀 더 찾아봐야겠읍니다.
 

Rack

근데 이렇게 만들면 어떻게 portable이 되냐?라고 생각하실 수 있습니다. 그래서 구글링을 좀 많이 해봤는데, 아무리 뒤져도 mini pc rack 같은 건 나오지 않더라구요. 웬 전산실에 있을만한 거대한 서버 랙만 나오고;;; 알리나 쿠팡을 뒤져도 잘 안나옵니다. 나와도 아크릴인데 통풍이 잘 안될 거 같은…
 
그러던 중에, 예전 Intel의 Mini PC인 NUC가 생각났고 NUC Rack을 검색해보니까 딱 제가 원하던 사이즈가 나왔습니다.
이거 출처를 타고타고 가보니까, r/homelab 이라는 서브 reddit에 저 같이 순수 재미로 홈서버 구축, 데스크테리어하는 분들이 많더라구요. 거기서 좀 자료를 얻고 있습니다.
그래서 저 frame은 어디서 구하는데?는 구하지 못합니다. 3D 프린터로 뽑아야해서 Printable이라고 해놨더라구요. 여튼 제 목표는 저기 한층 한층에 mini pc, switch, ssd/hdd를 올려두고 필요하면 가로, 세로로 확장할려고 합니다. 선만 잘 정리하면 쪼그매서 예쁠 것 같네요.
이런 구조로 쉽게 만들 수 있다고하면 잘 팔릴듯
이런 구조로 쉽게 만들 수 있다고하면 잘 팔릴듯
….는 귀찮아서 그냥 대충 만들었습니다. 생각보다 모델링이라는게 접근성이 어렵더라구요…가성비도 안좋고…
아래처럼 브릭 스튜디오 기반으로 레고 모델링을 했는데 얘도 비용이 만만찮게 나오고, 배송도 복잡+오래 걸렸습니다.
아  ㅋㅋㅋ 3시간 날림 ㅋㅋㅋㅋ 열심히 모델링했는데…
아 ㅋㅋㅋ 3시간 날림 ㅋㅋㅋㅋ 열심히 모델링했는데…
그래서 대충 야매로 만들었습니다. 다이소에서 개밥 책상? 가져오고 초강력 양면테이프를 사용했습니다. 디자인은 겁나 구리네요
선 정리 힘들다고 ㅋㅋㅋ
선 정리 힘들다고 ㅋㅋㅋ
 

Cost

지금까지 든 비용을 정리하면 아래와 같습니다. (DAS는 순수 재미로 산거라 뺐습니다. SATA 어댑터 사면 2000원이에용)
  • mini pc * 3 ⇒ 38만원 쯤
  • Router ⇒ 3만원 쯤
  • 각종 케이블 총합 ⇒ 2만원쯤
  • HDD ⇒ 4만원쯤
총합 47만원 정도
여기서 mini pc 한대를 줄여도 되기 때문에, 최종적으론 33만원으로 k8s 클러스터를 만들 수 있다는 얘기가 됩니다.(노드당 16GB/128GB, cpu core 4)
여기서 n100 전기세 관련 레퍼런스를 찾아보니, 24/7 내내 돌려도 한 대당 월 1500원 정도(11kwh)가 나온다고 합니다.
 
같은 스펙으로 aws 내 서비스를 활용해 구성한다면…온디맨드 기준 (당근 선결제하면 많이 줄고, fargate 쓰면 또 줄고겠지만…) 최소 월 340$ ⇒ 462,731원이 나오게됩니다.
 
더 줄이고 줄여서 10만원대로 만든다 한들 3~4개월정도면 Home Lab이 이득이 되죠.
이렇게 비용적인 측면에선 합리화가 가능할 것 같습니다 ㅎㅎ
 
 

Plan

구축 계획은 다음과 같습니다. 스터디 원들과 함께하기 때문에 단계별로 만들었는데, 막상 속도를 낸다면 2주 안에 끝낼 것 같습니다.
  1. Ubuntu 및 네트워크 구성
  1. nfs and nas by docker 구축 (nextcloud or openmediavault)
  1. k8s 구축
  1. monitoring 세팅
  1. private gitlab & private jenkins & argo cd 구성
  1. 애플리케이션 프로비저닝
  1. 회고
 
 

Conclusion

다음 포스팅은 Ubuntu 구성 과정에 대해서 정리하겠습니다.
Plan과 달리 중간중간 구축과정에서 겪었던 어려움, 트러블 슈팅 등을 섞어서 포스팅할 것 같습니다. 많은 관심과 응원 부탁드립니다!