有些东西光靠读是学不会的。
chmod 600 是什么意思,一段话就能讲清楚。可真的坐到服务器前面,手却动不了。文件在哪里、权限现在是什么状态、改完之后用什么来确认 — 这些只有自己敲过才会留在身上。
所以我做了这个。https://labhub.hopto.org
这是什么
一个在浏览器里操作真实 Linux 服务器来学习的实操平台。
打开课程、点下开始实验,Kubernetes 集群上会立刻创建出属于这个人的专属容器。你从浏览器内的终端连上这个容器来解题。每一步点击评分按钮,服务器就会检查容器内的实际状态并告诉你是否通过。实验结束或超过时限,容器就消失。
没有什么要安装的。不用建虚拟机,也不用开云账号。有浏览器就够了。
里面有什么
| 学习路径 | 12 |
| 课程 | 73 |
| 实验 | 261 个 · 2,058 步 |
| 测验 | 303 个 · 1,876 题 |
| 理论 | 319 篇 |
学习路径是这样划分的。
- IT 基础 — 计算机组成、操作系统、网络、数据库概念
- Linux 与终端精通 — 文件与权限、shell 脚本、vim、tmux、故障处理
- 容器精通 — 从 Docker 基础到镜像构建、命名空间与 cgroup、容器安全
- Kubestronaut — KCNA、KCSA、CKA、CKAD、CKS 五张认证
- 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 与 Operator、Istio、GitOps
- 系统管理员 — 包管理、网络诊断、SSH 与传输、虚拟化、Slurm、RHEL
- 韩国 SI 实务 — SI 流程、Tomcat/nginx 运维、企业认证、EAI 集成、DB 运维
- 云原生 — MSA、队列与异步、Redis、S3 与 SeaweedFS、Keycloak、LLM 服务化
怎么用
1. 先登录。可以用 Google 账号开始,也可以只填个名字先逛逛。只填名字的话,记录只保存在那个浏览器里。
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% 会发结业证书,可以凭编号验证真伪。
如果你在准备认证
Kubernetes 认证由两条独立的路径来覆盖。
Kubestronaut 是把 KCNA、KCSA、CKA、CKAD、CKS 这五张全部拿下之后,CNCF 授予的头衔。Golden Kubestronaut 则是在此之上再加上 CNCF 的全部认证和 LFCS。
每张认证都把考试大纲拆成模块,实验里敲的是真正的 kubectl。实验容器里会起一个真的 Kubernetes 控制平面,所以创建 API 对象、调整调度、验证 RBAC、备份和恢复 etcd,全都是真的在跑。
不过我如实写清楚。这个环境没有真正的容器运行时,所以对业务 Pod 执行 kubectl exec 或者看真实日志是做不到的。那一块用理论和测验来覆盖,而不是实验。考试以笔试形式考的部分大多落在前面这段能跑通的范围里,所以不影响备考,但还是知道了再用比较好。
费用
现在大部分是免费的。
- 免费 — 大部分课程、60 分钟的实验会话、同时 1 个实验
- Pro (每月 9,900 韩元) — 吃资源的课程 (压力测试、LLM 服务化)、AI 实验助教、会话延长、结业证书
划到 Pro 的标准不是收益,是资源。压力测试和 LLM 服务化的实验,比其他实验吃掉的 CPU 和内存多得多。每个账号可以有一次 7 天试用。
能做到这么便宜,原因很简单。它跑在我家里的七台服务器上。没有云费用,边际成本只有电费。想想海外的付费平台每月 3~4 万韩元,这个差额就直接反映在价格上了。
值得先知道的限制
不夸张地写。
- 同时只能开一个实验。实验容器是昂贵的资源,关掉窗口忘掉就等于白白浪费。要开新实验,得先把手上这个结束掉。
- 会话有时间限制。屏幕上会显示剩余时间,快到点时可以延长。超时会自动回收。
- 实验容器的外网是封住的。需要的东西都打进了镜像,只有确实需要联网的实验才单独开口。这是出于安全考虑。
tcpdump之类的部分工具跑不起来。因为没有给它抓包所需的内核权限。网络诊断是用ss、dig、getent来设计的。- 由个人运维。没有可用性保证。家里断网就连不上。
做的过程
技术上是怎么做的 — 怎么把 Kubernetes 塞进没有特权的容器里、隔离实验 Pod 的五个层次、过程中踩到的坑 — 写在另一篇文章里。
期待反馈
屏幕右下角有反馈按钮。实验结束后有时会问你打几星。
内容有错、提示没帮上忙、希望有某某课程 — 什么都行。我一个人在做,实际用过的人的反馈是最准确的输入。