Raspberry Pi 클러스터를 활용한 쿠버네티스 홈랩 구축 경험

Building my homelab

작성자
발행일
2026년 01월 06일

핵심 요약

  • 1 라즈베리 파이 클러스터를 구축하여 쿠버네티스 홈랩을 성공적으로 설정하고 네트워크 벤치마킹 및 자동화 과정을 수행했습니다.
  • 2 단일 라즈베리 파이에서 시작하여 이더넷 스위치를 통해 두 대의 파이로 확장된 네트워크 환경에 kubeadm으로 쿠버네티스 클러스터를 설치했습니다.
  • 3 수동 구축 후 Ansible 플레이북으로 자동화하고, 워커 노드에 2TB SSD와 local-path-provisioner를 통합하여 스토리지 기능을 확장했습니다.

도입

지난 한 달간 라즈베리 파이 클러스터 구축 프로젝트에 착수하여 궁극적으로 쿠버네티스 클러스터를 목표로 삼았습니다. 직장에서의 네트워크 벤치마킹 경험을 바탕으로 실제 네트워크를 구축하고 실험하는 기회로 활용하고자 했습니다. 초기 단계에서는 우분투 서버 24.04가 설치된 단일 라즈베리 파이에 Nginx 서버를 구동했으며, DigitalOcean 드롭렛과 SSH 터널을 설정하여 공용 인터넷에서 Nginx 서버에 접근하는 것을 성공적으로 구현했습니다.

네트워크 구축 및 벤치마킹

이후 이더넷 스위치와 케이블을 구매하여 두 대의 라즈베리 파이로 네트워크를 확장했습니다. 두 파이 모두 wlan0과 eth0에 연결되도록 설정하고, iperf3를 사용하여 두 인터페이스 간 트래픽 벤치마킹을 수행했습니다. 한 대의 파이를 NAT 게이트웨이로 설정하는 목표는 미완료되었으나, 모뎀, 라우터, 스위치의 작동 방식에 대해 흥미로운 학습 기회가 되었습니다.

쿠버네티스 클러스터 설치

기본 네트워크 구성이 완료된 후, kubeadm을 사용하여 쿠버네티스 클러스터를 설치했습니다. 쿠버네티스 문서의 kubeadm 가이드는 매우 명확하고 따르기 쉬웠습니다. 클러스터 내 모든 통신이 wlan0 대신 스위치를 통해 eth0 IP 주소로 이루어지도록 apiserver의 advertiseUrl을 구성했습니다. 클러스터가 가동된 후, kubeconfig를 라즈베리 파이에서 노트북으로 scp하여 kubectl을 성공적으로 사용할 수 있었습니다.

자동화 및 스토리지 확장

수동으로 모든 과정을 수행한 후, Ansible 플레이북을 작성하여 모든 전제 조건을 설치하고 kubeadm으로 클러스터를 가동하는 과정을 자동화했습니다. 관련 플레이북과 스크립트는 sreeram-venkitesh/homelab에서 확인할 수 있습니다. 기본 클러스터가 실행된 후, 플레이북을 사용하여 여러 번 클러스터를 해체하고 재구축하며 안정화했습니다. 또한, 워커 노드 라즈베리 파이에 2TB SSD 드라이브를 마운트하고 local-path-provisioner를 설치하여 SSD 내 서브디렉토리를 PVC(Persistent Volume Claim) 볼륨으로 활용할 수 있도록 구성했습니다. 이 기능 또한 Ansible 플레이북에 추가되었습니다.

사용 기술

  • Raspberry Pi 4

  • Ubuntu Server 24.04

  • Nginx

  • iperf3

  • DigitalOcean Droplet

  • Kubernetes

  • kubeadm

  • Ansible

  • local-path-provisioner

  • SSD

결론

오랫동안 염원했던 라즈베리 파이 기반 쿠버네티스 홈랩 구축 프로젝트를 성공적으로 시작하게 되어 기쁩니다. 네트워크 구성, 쿠버네티스 배포, 자동화 및 스토리지 통합 등 다양한 기술적 경험을 습득할 수 있었습니다. 향후에는 클러스터에 노드를 추가하고, NAT 게이트웨이를 설정하며, 자가 호스팅 서비스(Immich, Sure)를 클러스터로 이전하고, 백업 자동화를 구현할 계획입니다. 또한, 물리적인 외관 개선을 위한 케이스/랙 구매, PoE 스위치 도입 또는 통합 전원 어댑터 구매 등 다음 단계를 구체적으로 구상하고 있습니다. DigitalOcean Slack의 #homelab 채널에서 얻은 동기 부여를 바탕으로 앞으로도 지속적인 업데이트를 공유할 예정입니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!