이것저것 해보고 싶은 것도 많고, 예전부터 갖고 싶었던 비싼 장난감을 이번 기회에 직접 구축해보고자 했습니다. 2학기에 알바하며 번 돈으로 홈랩을 구축해야했기 때문에 예산은 7~80만원 정도로 잡았고, 저예산(?)이기 때문에 라즈베리파이를 사용하기로 했습니다. 주된 실습 요소 중에 쿠버네티스가 있기 때문에 OS + K8s 설치 후에도 넉넉한 용량이 필요하여 8GB RAM + 256GB 를 노드 한 개의 기준으로 잡았습니다.
Hardware
- Raspberry Pi 5 (8GB RAM) * 3대
- Raspberry Pi 5 정품 액티브 쿨러 * 3대
- SSD(삼성전자 / PM9B1 M.2 NVMe 256GB 벌크) * 3개
- 쉴드 보드(Suptronics / PCle M.2 2230 2280 NVMe 미니 상판 [X1001]) * 3개
- 스위칭 허브(TP Link / TL-SG105 IGMP) * 1개
- 어댑터 및 케이블(아트뮤 / 100W 5A 전용) * 1개/3개
- 추가 랜선 * 3개
- Cluster case(UCTRONICS / 금속 랙) * 1대
-> 약 840,000만원 정도 나왔습니다...하하..
Raspberry Pi 5 (8GB RAM)


- 먼저, 라즈베리파이 5 (8GB RAM) 3대 입니다.
- 8GB 모델로 구매한 이유는
4GB를 하자니 부족한 것 같고, 16GB를 하자니 너무 비싸서.. 라즈베리파이에 설치할 OS 및 기본 시스템(다음 포스팅에 남기겠지만, 대략 0.5 ~ 1.0GB 정도) + K8s Control Plane(약 1.5 ~ 2.0 GB), 시스템 에드온 등을 고려했을 때 4GB는 애플리케이션을 올릴 넉넉한 공간이 부족할 것 같아서 8GB 모델을 채택했습니다.
- 또 마스터 노드의 최소 사양은 2코어인데, 다행히도 라즈베리파이 4, 5 모델은 모두 4코어로 쿠버네티스 실습을 위한 홈랩에 적합합니다.
Raspberry Pi 5 정품 액티브 쿨러 * 3대


- 다음은 정품 액티브쿨러 입니다. 여러 액티브 쿨러 제품이 있는데 굳이
정품을 구매한 이유는, 가격이 크게 비싸지도 않고 PWM 제어(OS 차원에서 CPU 온도가 높을 때/높아질수록 팬 속도를 올림)가 가능하며 라즈베리파이 전용 팬 커넥터에 연결되기 때문입니다.

- 후면을 보게 되면 초기에는 기름종이(?) 같은 얇은 종이가 부착되어 있는데 흰 종이를 제거 후 라즈베리파이 본체에 알맞게 붙이면 됩니다.(스티커의 접착력이 약하진 않은 것 같아서 여러번 떼었다 붙였다 반복하면 보드가 손상될까봐 한 번에 붙였습니다.)
SSD(삼성전자 / PM9B1 M.2 NVMe 256GB 벌크) * 3개

- RAM뿐만 아니라 SSD도 비싼 것 같습니다.
- 벌크 버전(노트북, 데스크탑에서 추출한 미사용 중고품 느낌)으로 매물을 찾았습니다.
- NVMe(비휘발성 메모리 익스프레스): 기존의 HDD나 느린 SSD에서 쓰던 방식(SATA) 대신, 메모리의 속도를 최대한 활용하기 위해 만든 최신 통신 규격입니다. SATA보다 5~10배 이상 빠르다고 하는데, K8s의 DB인 etcd가 디스크 쓰기 속도에 민감하다고 하여 좋은 걸로 달아줬습니다.
- 모델명에는 명시되어 있지 않지만 사이즈는 2280 입니다. (22mm(폭) x 80mm(길이))
쉴드 보드(Suptronics / PCle M.2 2230 2280 NVMe 미니 상판 [X1001])


- 쉴드 보드(혹은 HAT)는 PCIe FPC 단자를 M.2 슬롯으로 변환해주는 역할을 가집니다.
- (라즈베리파이 진영의 공식 명칭은 HAT(Hardware Attached on Top)이라고 하네요. Shield는 아두이노 진영에서 쓰던 명칭이라고 합니다.)
- 파란색 포스트잇처럼 보이는 부품은 FPC(Flexible Printed Circuit)케이블 입니다. 직역하면 유연하게 구부러지는 인쇄 회로(?)가 될 것 같습니다. 보드의 PCIe 포트와 쉴드 보드 사이에서 고속 데이터를 주고 받는 통로 역할을 합니다.
- 주의: 결합을 할 때 파란색 띠 부분이 바깥쪽을 향해야합니다.
스위칭 허브(TP Link / TL-SG105 IGMP)

- 여러 대의 네트워크 장비(노드 여러 개)를 하나의 네트워크로 묶어주는 데이터 중계 장치입니다.
- Latency가 거의 없게 하고 싶었기에 유선 연결이 필수였고, 가정용 홈랩이기에 스위치를 구매했습니다.
- 1000Mpbs를 지원하기 때문에 쿠버네티스 실습을 하기에 적합하다고 생각합니다.
추가 랜선 * 3개

랜선은 긴거 사세요..
- 스위치 -> 라즈베리파이 로 연결할 추가 LAN선 입니다. 길이 가늠을 적절히 못해서 다소 짧습니다.. 다시 돌아간다면 차라리 긴 LAN선을 구매하고 선 정리를 깔끔하게 할 것 같습니다..
SD카드(16GB)

- 초기 라즈베리파이(출고 직후)는 OS가 없는 상태입니다. (본체에 내장 하드 또한 없는 상태구요.) 그렇기 때문에 첫 부팅을 위해 OS Image 가 구워진 micro SD 혹은 USB를 꽂아주어야 합니다.
- 에러가 가장 많이 발생했지만 트러블 슈팅이 안 되었던 부분인데 1호기는 SD카드로 OS 설치가 잘 되었지만 2호기, 3호기를 설치할 때 계속 에러가 발생했습니다. 원인 불명이기에 OS Image만 50번은 설치한 것 같습니다..(Erase - Download - Erase - Download - ...) 개인적인 경험상 SD카드보다 USB가 훨씬 안정적이었습니다.
Cluster case(UCTRONICS / 금속 랙) * 1대

- 이왕 돈 쓰는거
개쩌는 클러스터 랙을 갖고 싶었습니다. 다만 현재까지 구성한 하드웨어를 살펴보면 라즈베리파이5 - 정품 액티브 쿨러 - 쉴드 보드 - SSD 가 위로 적층되어 있는 구조입니다. 이 부품들이 넉넉히 수납이 되며 라즈베리파이5와 호환이 되는 랙이 많지는 않았습니다.(라즈베리파이 4와 5는 단자 구성이 살짝 다르므로 호환되는 클러스터 케이스/랙을 꼭 확인하셔야 합니다.)
- 해외배송 제품뿐이라 Amazon에서 비행기 타고 오는 중입니다.
결합
(액티브쿨러 장착 후 위에서 본 모습)

(액티브쿨러 장착 후 후면)

- LAN 및 USB 포트를 왼쪽에 위치했을 때 기준, 왼쪽 상단 / 오른쪽 하단에 액티브 쿨러 고정장치가 들어갑니다.
(쉴드보드 장착)

- 앞서 언급했듯이
FPC 케이블의 파란면이 바깥쪽 입니다.
(쉴드보드 + SSD)

- SSD카드 삽입의 경우 보드와 30도 정도 각을 이룬 상태에서 슥 밀어넣으면 들어갑니다.(불안하지만 부러지진 않았습니다.)
(OS 설치 및 접속 중)

- 하드웨어 부품 조립 후 부팅 및 SSH 접속을 하는 중입니다. 근처의 작은 정전기(스파크)로 쇼트가 날 수 있다고 하여 A4 용지를 바닥에 깔고 작업했습니다.
마무리
역시 하드웨어는 어려운 것 같습니다.. 똑같은 세팅인데 1, 2, 3호기 모두 각각의 이슈들이 발생했습니다. 하드웨어 준비가 완료되었으니 다음 포스팅은 OS 설치 및 초기 설정을 다루도록 하겠습니다. 감사합니다. :)