돈 없는 고등학생의 현실 DevOps
1. 시작 — 돈 없는 고등학생의 무모한 도전입니다
어느 날 저는 결심하였습니다.
"비록 자금은 부족하지만, 저만의 PaaS를 만들어보겠습니다."
클라우드 서버 월 구독료는 부담스러웠습니다.
그래서 선택한 것은 라즈베리파이 4B (2GB RAM) 와 64GB SD 카드였습니다.
사실 이 라즈베리파이는 새 제품이 아니며, 친구에게 3만 원을 주고 중고로 구입하였습니다.
이 작은 컴퓨터를 로컬 데이터센터로 삼아, K3s라는 경량 쿠버네티스 배포판을 설치하였습니다.
curl -sfL https://get.k3s.io | sh -
네임스페이스를 생성하고, GitOps를 위해 GitHub 리포지토리와 연결하였습니다. 이 때 까지만 해도 드디어 저는 저만의 PaaS가 생겼다고 생각했습니다. 🤯
2. 잠깐 — 쿠버네티스와 K3s, 그리고 PaaS 개념입니다
이번 프로젝트를 준비하면서 저는 쿠버네티스의 기본 개념을 새롭게 정리하였습니다.
쿠버네티스 기본 구조입니다
- 클러스터(Cluster): 애플리케이션을 실행하는 전체 환경입니다. 여러 대의 서버(노드)로 구성됩니다.
- 마스터 노드(Master Node): 클러스터의 두뇌 역할을 하며, 스케줄링, API 서버, 상태 관리 등을 담당합니다.
- 워커 노드(Worker Node): 실제로 컨테이너가 실행되는 곳입니다. 마스터 노드의 지시를 받아 애플리케이션을 구동합니다.
여기서 마스터 노드와 워커 노드가 같은 인스턴스에 존재할 수도 있고, 아닐 수도 있습니다.
그중 마스터노드와 워커 노드를 통합한 것이 바로 K3s 입니다.
K3s의 특징입니다
- 경량화된 쿠버네티스 배포판으로, IoT나 엣지 컴퓨팅 환경에서 사용하기 좋습니다.
- 단일 바이너리 형태로 제공되며 설치가 매우 간단합니다.
- 마스터와 워커 노드가 통합된 형태로 동작할 수 있어, 단일 장비에서도 전체 쿠버네티스 기능을 체험할 수 있습니다.
- 로컬 환경에서 DevOps 실습을 하기에 적합합니다.
PaaS(Platform as a Service)란?
PaaS는 개발자가 인프라 관리 없이 애플리케이션을 배포하고 운영할 수 있도록 플랫폼을 제공하는 서비스입니다. 서버 세팅, 네트워크 구성, 스케일링 등을 자동화해 주어 개발자는 코드 작성에만 집중할 수 있습니다.
3. 관측의 시작 — Grafana와의 첫 만남입니다
어찌저지 K3s와 Traefik 설정을 마쳐 Https가 적절하게 발급되고 FluxCD를 통해 GitOps가 동작하는 것을 확인한 이후, 서비스 운영에 가장 중요한 모니터링 시스템을 구축하기로 하였습니다.
서비스 운영에서 가장 중요한 것은 관측(Monitoring) 입니다. 그래서 저는 Prometheus + Grafana를 설치하였습니다.
helm repo add grafana https://grafana.github.io/helm-charts
helm install grafana grafana/grafana -n monitoring
웹 브라우저에서 Grafana 대시보드가 표시되었을 때, 매우 뿌듯하였습니다. CPU, 메모리, 네트워크 사용량 그래프가 실시간으로 변동하는 모습을 확인할 수 있었습니다.
4. 현실 체크 — 라즈베리파이의 한계입니다
하지만 며칠 지나지 않아 현실을 깨달았습니다.

- CPU 사용률이 항상 50% 이상입니다.
- Grafana와 Prometheus만 켜두었는데 RAM 사용량이 1.6GB 중 1.4GB에 달하였습니다.
- SD 카드 I/O는 매일 과부하 상태였습니다.
kubectl top nodes
이 명령어로 확인한 리소스 사용량은, 마치 "살려주세요"라고 외치는 라즈베리파이의 절규 같았습니다. 😭
5. 판단 — 이상과 현실의 간극입니다
처음에는 멋있어 보였습니다. 집에서 K3s 클러스터를 운영하고, GitOps와 모니터링 스택까지 구축하였으니 말입니다. 그러나 현실은 가혹하였습니다.
- 학생 입장에서 클라우드는 비쌌습니다.
- 로컬 장비는 성능이 부족했습니다.
돈이 없이는 DevOps도 못하는 현실이라니.. 정말 슬픕니다.
6. 배운 점입니다
- 관측은 필수입니다 — Grafana가 없었다면 이런 판단을 내리지 못했을 것입니다.
- 리소스는 무한하지 않습니다 — 특히 RAM과 I/O는 금방 한계에 도달합니다.
- 이상과 현실의 균형이 필요합니다 — 비용과 성능 사이에서 최적점을 찾는 것이 DevOps의 시작입니다.
7. 마무리입니다
평소 컨테이너 기술에는 관심이 많았지만, 쿠버네티스는 마치 벽처럼 느껴졌습니다. 그러나 이번에 K3s를 통해 쿠버네티스의 일부분을 직접 체험하고 나니, 이제는 쿠버네티스와 조금 더 친근해진 느낌이 들었습니다.
앞으로 더 깊이 공부해보고 싶은 의욕이 생겼으며,
더 나아가 쿠버네티스를 원활히 돌릴 수 있는 미니 PC를 직접 구축하기로 결심하였습니다..!
이미 구매를 위한 마음의 준비는 끝난 상태입니다. 🚀
P.S. 나중에는 K8s + 빵빵한 모니터링 시스템 까지 구축해서 돌아오도록 하겠습니다. 😎
참고로 귀여운 라즈베리파이 4B는 컨테이너 몇개 띄워놓고 잘 사용중입니다 ^o^
이번 주말에 하루종일 K3s 구축했는데 결국 도커로 돌아가게됫네요,,,