読むだけでは身につかないものがあります。
chmod 600 が何を意味するのかは、一段落あれば説明できます。ところが実際にサーバーの前に座ると手が動きません。ファイルがどこにあるのか、権限がいまどうなっているのか、変えたあと何で確認するのか — それは自分で打ってみないと体に残りません。
そこで作りました。https://labhub.hopto.org
何なのか
ブラウザで本物の Linux サーバーを触りながら学ぶハンズオン学習プラットフォームです。
コースを開いてラボ開始を押すと、Kubernetes クラスタ上にその人専用のコンテナが即座に作られます。ブラウザ内のターミナルからそのコンテナにつないで課題を解きます。ステップごとに採点ボタンを押すと、サーバーがコンテナ内の実際の状態を検査して合否を返します。ラボを終えるか制限時間が過ぎると、コンテナは消えます。
インストールするものはありません。仮想マシンを作る必要も、クラウドのアカウントを開く必要もありません。ブラウザさえあれば十分です。
何が入っているのか
| ラーニングパス | 12 |
| コース | 73 |
| ラボ | 261 本 · 2,058 ステップ |
| クイズ | 303 本 · 1,876 問 |
| 理論 | 319 本 |
ラーニングパスはこう分かれています。
- IT 基礎 — コンピュータ構成、オペレーティングシステム、ネットワーク、データベースの概念
- Linux & ターミナルマスタリー — ファイルと権限、シェルスクリプティング、vim、tmux、障害対応
- コンテナマスタリー — Docker の基礎からイメージビルド、名前空間と cgroup、コンテナセキュリティ
- Kubestronaut — KCNA、KCSA、CKA、CKAD、CKS の 5 資格
- Golden Kubestronaut — 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. ログインします。Google アカウントで始めても、名前だけ入れて見て回っても構いません。名前だけの場合、記録はそのブラウザの中にだけ残ります。
2. ラーニングパスを選びます。何から学べばいいか分からなければ IT 基礎から始めてください。目標がはっきりしているなら (たとえば CKA 資格)、そのパスに直接入れば大丈夫です。
3. モジュールを順番にたどります。各モジュールは 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% 終えると修了証が発行され、番号で真偽を確認できます。
資格を準備するなら
Kubernetes の資格は、別のパス 2 本で扱います。
Kubestronaut は、KCNA、KCSA、CKA、CKAD、CKS の 5 つをすべて取ると CNCF が与えるタイトルです。Golden Kubestronaut は、そこに CNCF のすべての資格と LFCS まで加えたものです。
資格ごとに試験の出題範囲をモジュールに分け、ラボでは実際に kubectl を打ちます。ラボコンテナの中に本物の Kubernetes コントロールプレーンが立つので、API オブジェクトを作り、スケジューリングを調整し、RBAC を検証し、etcd をバックアップ・復旧することが全部そのまま動きます。
ただし正直に書いておきます。この環境には実際のコンテナランタイムがないので、ワークロード Pod に kubectl exec したり本物のログを見たりすることはできません。その領域はラボの代わりに理論とクイズで扱います。試験が筆記で問う部分はほとんど手前側なので準備に支障はありませんが、分かって使っていただくほうがよいでしょう。
料金
いまはほとんどが無料です。
- 無料 — ほとんどのコース、60 分のラボセッション、同時 1 個のラボ
- Pro (月 9,900 ウォン) — 資源を多く使うコース (負荷テスト、LLM サービング)、AI ラボ助教、セッション延長、修了証
Pro で分けた基準は収益ではなく資源です。負荷テストと LLM サービングのラボは、ほかのラボより CPU とメモリをはるかに多く使います。アカウントごとに 7 日間の体験が一度できます。
ここまで安くできる理由は単純です。自宅にあるサーバー 7 台の上で動いているからです。クラウド費用がなく、限界費用は電気代だけです。海外の有料プラットフォームが月 3〜4 万ウォンであることを考えると、その差がそのまま価格に反映されます。
知っておくとよい制約
誇張なしに書きます。
- 同時に開けるラボは 1 つです。ラボコンテナは高価な資源なので、ウィンドウを閉じて忘れるとそのまま無駄になります。新しいラボを開くには、既存のものを先に終える必要があります。
- セッションには制限時間があります。画面に残り時間が表示され、残りが少なくなると延長できます。時間が過ぎると自動で回収されます。
- ラボコンテナはインターネットが遮断されています。必要なものはすべてイメージに入っていて、インターネットがどうしても必要なラボにだけ個別に開けています。セキュリティのためです。
tcpdumpのような一部のツールは動作しません。パケットキャプチャに必要なカーネル権限を与えていないからです。ネットワーク診断はss、dig、getentで設計しました。- 個人が運営しています。可用性の保証はありません。自宅のインターネットが切れると接続できません。
作った話
技術的にどう作ったか — 特権のないコンテナの中に Kubernetes を入れる方法、ラボ Pod を隔離する 5 つの層、その過程で踏んだ罠 — は別の記事にまとめました。
フィードバックを待っています
画面の右下にフィードバックボタンがあります。ラボが終わると星評価を聞くこともあります。
内容が間違っている、ヒントが役に立たなかった、こんなコースがあるとうれしい — 何でも構いません。一人で作っているので、実際に使ってみた人の話がいちばん正確な入力です。