一份贴合上班族节奏的 K8s + Helm 学习计划。
总周期约 6-8 周,每天投入 1-2h,碎片时间利用到位即可。
一、你的时间拼图
| 时段 |
非加班日 (周三/周五) |
加班日 (周一/二/四) |
周末 |
| 🚇 通勤早 (8:00-9:00) |
听播客/看文档 |
同上 |
— |
| 💼 工作 (9:00-18:00) |
上班 |
上班 |
— |
| 🚇 通勤晚 (18:00-19:00) |
回顾/默写概念 |
— |
— |
| 🌙 晚间自由 |
19:00-21:30 黄金 2.5h |
21:00-22:30 仅 1.5h |
全天可安排 3-4h |
| 😴 睡觉 |
23:00 前 |
23:00 前 |
自由 |
策略总结:
- 🚇 通勤 → 理论输入(听、看、记)
- 🌙 晚间 → 动手实践(敲命令、写 YAML、搭集群)
- 🎯 加班日只做”最小动作”(复习 + 1 个知识点)
- 📅 周末集中攻坚(打通周中没消化的硬骨头)
二、学习路线总览(6-8 周)
| 阶段 |
内容 |
周期 |
| 第 1 周 |
K8s 核心概念 + 环境搭建 |
7 天 |
| 第 2 周 |
Pod、Workload 资源 |
7 天 |
| 第 3 周 |
网络、Service、Ingress |
7 天 |
| 第 4 周 |
存储、ConfigMap、Secret |
7 天 |
| 第 5 周 |
Helm 基础(Chart、模板、 values) |
7 天 |
| 第 6 周 |
Helm 进阶(依赖、Hook、测试) |
7 天 |
| 第 7 周 |
综合项目:用 Helm 部署一套微服务 |
7 天 |
| 第 8 周 |
复习 + 面试/认证备考 |
7 天 |
三、通勤时间利用指南(每日必做)
🚇 早通勤(1h)— 新知识输入
推荐资源(提前下载离线):
播客/音频: - "Kubernetes Podcast from Google" — 每周一集,了解业界动态 - "The Podlets Podcast" — 深入 K8s 原理
视频(提前缓存): - B站:CloudNative 实战系列 - YouTube: "Kubernetes in 1 Hour" 等速通视频
文档: - 官方文档第一遍过概念:kubernetes.io/docs/concepts/ - 使用 k8s cheat sheet PDF 作为随身参考
|
每日任务清单:
| 天 |
早通勤任务 |
| 周一 |
听 1 集 K8s 播客 + 记 3 个关键词 |
| 周二 |
看 1 段 K8s 视频(15-20min) |
| 周三 |
读官方文档一节 + 画思维导图(手机备忘录) |
| 周四 |
复习这周前三天学过的概念 |
| 周五 |
整理本周知识点到笔记 App |
🚇 晚通勤(1h)— 回顾与巩固
不加班 → 回顾当天所学,用手机写总结笔记。
加班 → 闭眼休息或听轻音乐,不硬学。
四、晚间学习计划
非加班日晚间(19:00-21:30)— 黄金 2.5h
19:00-19:30 晚饭 + 放松 19:30-19:45 回顾通勤笔记(激活记忆) 19:45-21:00 动手实践(核心时间段) 21:00-21:15 写学习日志 / 记 bug 和心得 21:15-21:30 放松、准备睡觉
|
加班日晚间(21:00-22:30)— 轻量 1h
21:00-21:30 到家 + 快速收拾 21:30-22:00 只做 1 个"最小动作"(看 1 个命令效果/改 1 个 YAML) 22:00-22:15 记录当天学到的 1 个知识点 22:15-22:30 准备睡觉
|
⚠️ 加班日不要贪多,保持连续性的 1h 比硬撑 3h 效果好。
五、每日学习内容(按周展开)
第 1 周:K8s 基础 + 环境
| 天 |
晚间动手内容 |
时间预算 |
| 周五(今晚) |
安装 minikube / kind / Docker Desktop(带 K8s)✅ |
1h |
| 周六 |
跑通 kubectl get nodes,熟悉命令行;了解 Pod 概念 |
2h |
| 周日 |
跑第一个 Nginx Pod:kubectl run nginx --image=nginx + expose |
2h |
| 周一 🕐 |
看 kubectl 常用命令:get/describe/logs/exec/delete |
1h |
| 周二 🕐 |
了解 namespace 概念,创建/切换 namespace |
1h |
| 周三 |
理解 YAML 格式,手写第一个 pod.yaml |
2h |
| 周四 🕐 |
用 kubectl apply -f 部署并对比 run 的区别 |
1h |
第 2 周:Pod 与 Workload
| 天 |
内容 |
| 周五 |
ReplicaSet + Deployment:滚动更新、回滚 |
| 周六 |
StatefulSet:有状态应用部署 |
| 周日 |
DaemonSet + Job/CronJob:守护进程与批处理 |
| 周一 🕐 |
复习:三种 Workload 的适用场景对比 |
| 周二 🕐 |
实战:用 Deployment 部署一个 Web 应用 |
| 周三 |
Pod 生命周期:InitContainer、探针(liveness/readiness/startup) |
| 周四 🕐 |
手写一个带健康检查的 Deployment |
第 3 周:网络
| 天 |
内容 |
| 周五 |
Service 类型:ClusterIP / NodePort / LoadBalancer |
| 周六 |
Ingress + Ingress Controller |
| 周日 |
网络策略 NetworkPolicy |
| 周一 🕐 |
复习 Service 和 Ingress 区别 |
| 周二 🕐 |
实战:用 Service + Ingress 暴露应用 |
| 周三 |
DNS 与服务发现(CoreDNS 原理) |
| 周四 🕐 |
画一个完整的 K8s 网络流转图 |
第 4 周:存储与配置
| 天 |
内容 |
| 周五 |
ConfigMap + Secret:配置与敏感信息管理 |
| 周六 |
Volume:emptyDir、hostPath、PVC/PV |
| 周日 |
StorageClass + 动态供给 |
| 周一 🕐 |
复习 ConfigMap/Secret 注入方式 |
| 周二 🕐 |
实战:用 ConfigMap 配置 Nginx |
| 周三 |
手写一个有状态应用(MySQL + PV) |
| 周四 🕐 |
对比 static PV 和 dynamic PV 的差异 |
第 5 周:Helm 基础
| 天 |
内容 |
| 周五 |
Helm 安装 + 核心概念(Chart / Release / Repository) |
| 周六 |
helm search / install / upgrade / rollback 基本操作 |
| 周日 |
Chart 目录结构解析:Chart.yaml / values.yaml / templates/ |
| 周一 🕐 |
用 Helm 部署一个应用(如 nginx ingress) |
| 周二 🕐 |
values.yaml 覆盖:--set / -f |
| 周三 |
模板语法(一):内置对象、Values、模板函数 |
| 周四 🕐 |
读一个开源 Chart(如 bitnami/nginx)的 templates 目录 |
第 6 周:Helm 进阶
| 天 |
内容 |
| 周五 |
模板语法(二):条件判断 if/else、循环 range |
| 周六 |
命名模板(define/template)与 include |
| 周日 |
Chart 依赖管理(dependencies / subcharts) |
| 周一 🕐 |
复习 Helm 模板语法要点 |
| 周二 🕐 |
写一个自定义 Chart(简单 Web 应用) |
| 周三 |
Helm Hook:预/后置任务(migration、验证) |
| 周四 🕐 |
写一个有 Hook 的 Chart(数据库 Migrate 场景) |
第 7 周:综合项目
这一周动手搭建一个完整的微服务应用,并用 Helm 管理全部组件。
项目: 博客系统微服务化 架构: - Frontend: Nginx + React (Deployment + Service + Ingress) - Backend: Spring Boot / Go (Deployment + ConfigMap) - Database: MySQL (StatefulSet + PVC) - Cache: Redis (Deployment + Service) - 日志: EFK / LPL (可选) 管理方式: 一个 umbrella Chart 包含以上所有子 Chart
|
| 天 |
内容 |
| 周五 |
设计架构 + 搭建基础 Chart 骨架 |
| 周六 |
实现前端服务 Chart |
| 周日 |
实现后端服务 Chart(带 ConfigMap) |
| 周一 🕐 |
配置 Service 和 Ingress 暴露 |
| 周二 🕐 |
加上 MySQL 和 Redis 子 Chart |
| 周三 |
联调测试:helm install 一键部署 |
| 周四 🕐 |
优化:制作覆盖 values、增加健康检查 |
第 8 周:复习 + 备考
| 天 |
内容 |
| 周五 |
整理所有学习笔记,形成自己的知识图谱 |
| 周六 |
刷题:K8s 面试题 / CKAD 模拟题 |
| 周日 |
模拟面试:用自己的话讲一遍核心概念 |
| 周一 🕐 |
查漏补缺:翻看还没掌握的点 |
| 周二 🕐 |
总结学习心得,写一篇博客输出 |
| 周三 |
整理自己的 Helm Chart 到 GitHub |
| 周四 🕐 |
写学习复盘,规划下一步方向 |
六、环境搭建
本地环境要求
| 工具 |
最低版本 |
说明 |
| Docker Desktop |
20.10+ |
自带 K8s 集群(macOS/Windows) |
| minikube |
v1.30+ |
轻量本地集群 |
| kubectl |
v1.28+ |
K8s 命令行工具 |
| Helm |
v3.12+ |
K8s 包管理器 |
推荐一键安装
choco install kubernetes-cli helm minikube
brew install kubectl helm minikube
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
快速启动集群
minikube start --cpus=4 --memory=8g kubectl get nodes
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm search repo bitnami/nginx
|
七、学习工具推荐
| 用途 |
工具 |
| 笔记 |
Obsidian / Notion / 飞书文档 |
| 思维导图 |
XMind / 飞书思维导图 |
| 命令行录屏 |
asciinema(记录实操回放) |
| K8s 可视化 |
k9s(终端 UI) / Lens(桌面端) |
| YAML 校验 |
kubectl explain / helm lint |
| 在线实验 |
Play with Kubernetes (killer.sh) |
| 刷题 |
CKAD 模拟题 / killer.sh |
八、小技巧
- 学一个做一个:看完一个概念,立刻
kubectl 敲一遍,不要光看不练
- 用别名省时间:
alias k=kubectl,alias kgp='kubectl get pods'
- 日报驱动学习:每周写一篇 K8s 学习笔记发博客,输出倒逼输入
- 加班日稳住节奏:哪怕只看 10 分钟文档也要保持每日连续性
- 善用
kubectl explain:比查文档快,随时随地查资源字段
alias k='kubectl' alias kgp='k get pods' alias kgs='k get svc' alias kgd='k get deployment' alias kaf='k apply -f' alias kdf='k delete -f'
|
九、学习计划时间表(日历视图)
每周重复节奏
周一 🕐 加班日 → 最小动作(复习 + 1 知识点) 周二 🕐 加班日 → 最小动作 周三 🌟 自由日 → 动手实践(2h) 周四 🕐 加班日 → 最小动作 周五 🌟 自由日 → 动手实践(2h) 周六 🎯 → 集中攻坚(3-4h) 周日 🎯 → 集中攻坚(3-4h)
|
每周保底投入: 4 天×1h(加班日) + 2 天×2h(自由日晚) + 2 天×3h(周末) ≈ 14h/周
坚持这个节奏,6 周就能从零到上手干活 💪