LabHub

ブログ

LabHub — ブラウザで本物のサーバーを触りながら学ぶハンズオン学習プラットフォームを公開しました

한국어English日本語中文

読むだけでは身につかないものがあります。

chmod 600 が何を意味するのかは、一段落あれば説明できます。ところが実際にサーバーの前に座ると手が動きません。ファイルがどこにあるのか、権限がいまどうなっているのか、変えたあと何で確認するのか — それは自分で打ってみないと体に残りません。

そこで作りました。https://labhub.hopto.org

何なのか

ブラウザで本物の Linux サーバーを触りながら学ぶハンズオン学習プラットフォームです。

コースを開いてラボ開始を押すと、Kubernetes クラスタ上にその人専用のコンテナが即座に作られます。ブラウザ内のターミナルからそのコンテナにつないで課題を解きます。ステップごとに採点ボタンを押すと、サーバーがコンテナ内の実際の状態を検査して合否を返します。ラボを終えるか制限時間が過ぎると、コンテナは消えます。

インストールするものはありません。仮想マシンを作る必要も、クラウドのアカウントを開く必要もありません。ブラウザさえあれば十分です。

何が入っているのか

ラーニングパス12
コース73
ラボ261 本 · 2,058 ステップ
クイズ303 本 · 1,876 問
理論319 本

ラーニングパスはこう分かれています。

どう使うのか

1. ログインします。Google アカウントで始めても、名前だけ入れて見て回っても構いません。名前だけの場合、記録はそのブラウザの中にだけ残ります。

2. ラーニングパスを選びます。何から学べばいいか分からなければ IT 基礎から始めてください。目標がはっきりしているなら (たとえば CKA 資格)、そのパスに直接入れば大丈夫です。

3. モジュールを順番にたどります。各モジュールは 3 種類のレッスンで構成されます。

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 したり本物のログを見たりすることはできません。その領域はラボの代わりに理論とクイズで扱います。試験が筆記で問う部分はほとんど手前側なので準備に支障はありませんが、分かって使っていただくほうがよいでしょう。

料金

いまはほとんどが無料です。

Pro で分けた基準は収益ではなく資源です。負荷テストと LLM サービングのラボは、ほかのラボより CPU とメモリをはるかに多く使います。アカウントごとに 7 日間の体験が一度できます。

ここまで安くできる理由は単純です。自宅にあるサーバー 7 台の上で動いているからです。クラウド費用がなく、限界費用は電気代だけです。海外の有料プラットフォームが月 3〜4 万ウォンであることを考えると、その差がそのまま価格に反映されます。

知っておくとよい制約

誇張なしに書きます。

作った話

技術的にどう作ったか — 特権のないコンテナの中に Kubernetes を入れる方法、ラボ Pod を隔離する 5 つの層、その過程で踏んだ罠 — は別の記事にまとめました。

フィードバックを待っています

画面の右下にフィードバックボタンがあります。ラボが終わると星評価を聞くこともあります。

内容が間違っている、ヒントが役に立たなかった、こんなコースがあるとうれしい — 何でも構いません。一人で作っているので、実際に使ってみた人の話がいちばん正確な入力です。

https://labhub.hopto.org

コメント

まだコメントはありません。

ログインするとコメントできます