읽어서는 늘지 않는 것들이 있습니다.
chmod 600 이 무슨 뜻인지는 한 문단이면 설명됩니다. 그런데 정작 서버 앞에 앉으면 손이 안 움직입니다. 파일이 어디 있는지, 권한이 지금 어떤 상태인지, 바꾸고 나서 뭘로 확인하는지 — 그건 직접 쳐 봐야 몸에 남습니다.
그래서 만들었습니다. https://labhub.hopto.org
무엇인가
브라우저에서 진짜 리눅스 서버를 만지며 배우는 실습 플랫폼입니다.
코스를 열고 실습 시작을 누르면, 쿠버네티스 클러스터에 그 사람 전용 컨테이너가 즉시 만들어집니다. 브라우저 안의 터미널로 그 컨테이너에 붙어서 과제를 풉니다. 단계마다 채점 버튼을 누르면 서버가 컨테이너 안의 실제 상태를 검사해서 통과 여부를 알려 줍니다. 실습을 마치거나 제한 시간이 지나면 컨테이너는 사라집니다.
설치할 것이 없습니다. 가상머신을 만들 필요도, 클라우드 계정을 열 필요도 없습니다. 브라우저만 있으면 됩니다.
무엇이 들어 있나
| 러닝패스 | 12 |
| 코스 | 73 |
| 실습 | 261개 · 2,058단계 |
| 퀴즈 | 303개 · 1,876문항 |
| 이론 | 319편 |
러닝패스는 이렇게 나뉩니다.
- IT 기초 — 컴퓨터 구조, 운영체제, 네트워크, 데이터베이스 개념
- 리눅스 & 터미널 마스터리 — 파일과 권한, 셸 스크립팅, vim, tmux, 장애 대응
- 컨테이너 마스터리 — 도커 기초부터 이미지 빌드, 네임스페이스와 cgroup, 컨테이너 보안
- 쿠버스트로너트 — KCNA, KCSA, CKA, CKAD, CKS 다섯 자격증
- 골든 쿠버스트로너트 — CNCF 전 자격증 (PCA, ICA, CCA, CAPA, KCA, OTCA, CGOA, CNPA, CBA, LFCS)
- SRE / DevOps — CI/CD, IaC, 관측성, 부하 테스트, Git 실전
- FDE — 낯선 시스템 디버깅, 고객 데이터 다루기, 로그로 원인 찾기, 장애 커뮤니케이션
- 데이터 & AI — SQL 실전, 데이터 파이프라인, LLM 엔지니어링
- 플랫폼 엔지니어링 — Ansible, Terraform, Helm, CRD와 오퍼레이터, Istio, GitOps
- 시스템 관리자 — 패키지 관리, 네트워크 진단, SSH와 전송, 가상화, Slurm, RHEL
- 한국 SI 실무 — SI 프로세스, Tomcat/nginx 운영, 기업 인증, EAI 연동, DB 운영
- 클라우드 네이티브 — MSA, 큐와 비동기, Redis, S3와 SeaweedFS, Keycloak, LLM 서빙
어떻게 쓰나
1. 로그인합니다. 구글 계정으로 시작하거나, 이름만 입력하고 둘러봐도 됩니다. 이름만 쓰면 그 브라우저에서만 기록이 유지됩니다.
2. 러닝패스를 고릅니다. 무엇부터 배워야 할지 모르겠으면 IT 기초부터 시작하세요. 목표가 뚜렷하면 (예를 들어 CKA 자격증) 그 패스로 바로 들어가면 됩니다.
3. 모듈 순서대로 따라갑니다. 각 모듈은 세 종류의 레슨으로 구성됩니다.
- 이론 — 개념을 먼저 깝니다. 왜 이렇게 설계됐는지를 설명합니다
- 실습 — 전용 컨테이너에서 직접 해 봅니다. 7~8단계로 나뉘어 있습니다
- 퀴즈 — 이해했는지 확인합니다. 오답에는 왜 틀렸는지 해설이 붙습니다
4. 단계마다 확인 버튼을 누릅니다. 통과하면 축하 효과가 뜨고, 틀리면 힌트를 볼 수 있습니다. 힌트는 정답을 통째로 알려 주지 않고, 무슨 명령을 어떤 이유로 쓰는지를 알려 줍니다.
5. 끝나면 종료 버튼을 누릅니다. 컨테이너가 즉시 반납됩니다. 창을 그냥 닫아도 자동으로 회수되니 걱정하지 않아도 됩니다.
찾는 것이 있으면 어디서든 Cmd+K 또는 Ctrl+K 를 누르세요. 코스와 실습을 이름으로 바로 찾습니다.
왜 이 방식이 효과가 있나
정답 코드가 아니라 실제 상태를 봅니다
대부분의 온라인 코딩 학습은 학습자가 제출한 코드를 정답과 비교합니다. 그러면 같은 결과를 다른 방법으로 만든 사람이 틀렸다고 판정됩니다.
LabHub 의 채점 스크립트는 컨테이너 안에서 실행되어 시스템의 실제 상태를 확인합니다. 예를 들어 /root/work 디렉터리를 만들라는 단계는 이렇게 검사합니다.
[ -d /root/work ] && echo "work 디렉터리 있음" \
|| { echo "/root/work 디렉터리가 없습니다"; exit 1; }
mkdir 로 만들든 install -d 로 만들든 상관없습니다. 결과가 맞으면 통과입니다. 그리고 실패했을 때는 지금 상태가 어떤지를 알려 줍니다. "틀렸습니다" 가 아니라 "현재 권한은 644 입니다" 라고 말합니다.
실패해도 아무것도 망가지지 않습니다
실습 컨테이너는 완전히 격리돼 있습니다. rm -rf 를 쳐도, 시스템 파일을 날려도, 무한 루프를 돌려도 자기 컨테이너만 죽습니다. 다음에 다시 시작하면 깨끗한 환경이 새로 뜹니다.
이게 학습에서 생각보다 큽니다. 망가뜨릴까 봐 조심스럽게 만지면 배우는 속도가 느려집니다. 마음껏 부술 수 있어야 합니다.
이론과 실습이 붙어 있습니다
개념만 읽으면 며칠 뒤에 사라지고, 실습만 하면 왜 그렇게 하는지 모른 채 손만 익습니다. 그래서 모듈마다 이론을 먼저 깔고, 실습으로 손을 움직이고, 퀴즈로 확인하는 순서를 지켰습니다.
이론은 매뉴얼 번역이 아닙니다. 예를 들어 파일 디스크립터를 다루는 이론에서는 이런 이야기가 나옵니다 — df 는 여유가 있다는데 쓸 수 없다면, inode 가 고갈됐거나 삭제됐지만 아직 열려 있는 파일이 공간을 붙들고 있는 것이고, 재기동하는 순간 복구 기회가 사라진다는 것.
진도가 계속 보입니다
학습 중에도 왼쪽에 코스 목차가 떠 있습니다. 전체 진행률, 모듈별 진행 링, 레슨마다 완료 체크. 어디까지 왔는지 확인하려고 목차로 나갔다 들어오는 왕복이 없습니다.
XP 와 레벨, 연속 학습일, 뱃지도 있습니다. 코스를 100% 끝내면 수료증이 발급되고, 번호로 진위를 확인할 수 있습니다.
자격증을 준비한다면
쿠버네티스 자격증은 별도 패스 두 개로 다룹니다.
쿠버스트로너트 는 CNCF 가 KCNA, KCSA, CKA, CKAD, CKS 다섯 개를 모두 따면 주는 타이틀입니다. 골든 쿠버스트로너트 는 거기에 CNCF 의 모든 자격증과 LFCS 까지 더한 것입니다.
각 자격증마다 시험 출제 범위를 모듈로 나누고, 실습에서 실제 kubectl 을 칩니다. 실습 컨테이너 안에 진짜 쿠버네티스 컨트롤 플레인이 뜨기 때문에, API 오브젝트를 만들고 스케줄링을 조정하고 RBAC 을 검증하고 etcd 를 백업·복구하는 것이 전부 실제로 동작합니다.
다만 정직하게 적어 둡니다. 이 환경은 실제 컨테이너 런타임이 없어서 워크로드 파드에 kubectl exec 하거나 진짜 로그를 보는 것은 안 됩니다. 그 영역은 실습 대신 이론과 퀴즈로 다룹니다. 시험이 지필로 묻는 부분은 대부분 앞쪽이라 준비에는 지장이 없지만, 알고 쓰시는 편이 좋겠습니다.
요금
지금은 대부분 무료 입니다.
- 무료 — 대부분의 코스, 60분 실습 세션, 동시 1개 실습
- Pro (월 9,900원) — 자원을 많이 쓰는 코스(부하 테스트, LLM 서빙), AI 실습 조교, 세션 연장, 수료증
Pro 로 나눈 기준은 수익이 아니라 자원입니다. 부하 테스트와 LLM 서빙 실습은 다른 실습보다 CPU 와 메모리를 훨씬 많이 씁니다. 계정당 7일 체험이 한 번 가능합니다.
이렇게 쌀 수 있는 이유는 단순합니다. 집에 있는 서버 일곱 대 위에서 돌아가기 때문입니다. 클라우드 비용이 없고, 한계비용이 전기료뿐입니다. 해외 유료 플랫폼이 월 3~4만 원인 것을 생각하면 그 차이가 그대로 가격에 반영됩니다.
알아 두면 좋은 제약
과장 없이 적습니다.
- 동시에 열 수 있는 실습은 하나입니다. 실습 컨테이너는 비싼 자원이라, 창을 닫고 잊어버리면 그대로 낭비됩니다. 새 실습을 열려면 기존 것을 먼저 끝내야 합니다.
- 세션에는 제한 시간이 있습니다. 화면에 남은 시간이 표시되고, 얼마 안 남으면 연장할 수 있습니다. 시간이 지나면 자동으로 회수됩니다.
- 실습 컨테이너는 인터넷이 막혀 있습니다. 필요한 것은 전부 이미지에 들어 있고, 인터넷이 꼭 필요한 실습에만 따로 열어 둡니다. 보안 때문입니다.
tcpdump같은 일부 도구는 동작하지 않습니다. 패킷 캡처에 필요한 커널 권한을 주지 않기 때문입니다. 네트워크 진단은ss,dig,getent로 설계했습니다.- 개인이 운영합니다. 가용성 보장이 없습니다. 집 인터넷이 끊기면 접속이 안 됩니다.
만드는 이야기
기술적으로 어떻게 만들었는지 — 특권 없는 컨테이너 안에 쿠버네티스를 넣는 방법, 실습 파드를 격리하는 다섯 개의 층, 그 과정에서 밟은 함정들 — 은 별도의 글에 정리했습니다.
피드백을 기다립니다
화면 오른쪽 아래에 피드백 버튼이 있습니다. 실습이 끝나면 별점을 물어보기도 합니다.
내용이 틀렸다거나, 힌트가 도움이 안 됐다거나, 이런 코스가 있으면 좋겠다거나 — 무엇이든 좋습니다. 혼자 만들고 있어서 실제로 써 본 사람의 이야기가 제일 정확한 입력입니다.