Kubernetes 学习路线图
总体路径
阶段一:基础入门(1-2 周)
↓
阶段二:核心工作负载(2-3 周)
↓
阶段三:网络与存储(2-3 周)
↓
阶段四:开发生态(3-4 周)
↓
阶段五:安全与可观测性(2-3 周)
↓
阶段六:进阶生态(持续学习)阶段一:基础入门
目标:理解 K8s 核心概念,能够部署简单应用
- [ ] 理解容器化基础(Docker)
- [ ] 搭建本地集群(minikube / kind / k3s)
- [ ] 掌握 kubectl 基本操作
- [ ] 理解 K8s 核心架构(API Server、etcd、Scheduler、Controller Manager、kubelet)
- [ ] 理解声明式 API 和控制循环
实践项目:部署一个 Nginx + Redis 应用
bash
# 推荐工具
minikube start --cpus=4 --memory=8g
# 或
kind create cluster --config kind-config.yaml阶段二:核心工作负载
目标:熟练使用各种工作负载资源
- [ ] Pod 生命周期、健康检查、资源限制
- [ ] Deployment 滚动更新、回滚
- [ ] StatefulSet 有状态应用(部署 MySQL 主从)
- [ ] DaemonSet(部署 Node Exporter)
- [ ] Job & CronJob(定时任务)
- [ ] ConfigMap & Secret 配置管理
- [ ] HPA 自动伸缩
实践项目:部署一个完整的微服务应用(前端 + 后端 + 数据库)
阶段三:网络与存储
目标:理解 K8s 网络模型,掌握存储配置
- [ ] K8s 网络模型(Pod 网络、Service 网络)
- [ ] Service 类型(ClusterIP、NodePort、LoadBalancer)
- [ ] Ingress 配置(Nginx Ingress Controller)
- [ ] CNI 插件(安装 Calico 或 Cilium)
- [ ] NetworkPolicy 网络隔离
- [ ] PV/PVC/StorageClass 存储配置
- [ ] 动态存储制备
实践项目:配置完整的网络策略,实现三层架构隔离
阶段四:开发生态
目标:能够开发 K8s 工具和 Operator
- [ ] client-go 基础(Clientset、Informer、WorkQueue)
- [ ] 理解 Informer 机制和 Reconcile 模式
- [ ] 定义 CRD
- [ ] 使用 kubebuilder 开发 Operator
- [ ] 实现 Webhook(Mutating + Validating)
- [ ] Helm Chart 开发
- [ ] Kustomize 多环境配置
实践项目:开发一个简单的 Operator(如 MySQL Operator)
go
// 最小可用 Operator 示例
// 监听 MyApp CR,自动创建 Deployment + Service阶段五:安全与可观测性
目标:掌握生产级安全配置和监控体系
- [ ] RBAC 权限控制
- [ ] ServiceAccount 最小权限
- [ ] Pod Security Standards
- [ ] NetworkPolicy 网络隔离
- [ ] etcd 加密
- [ ] Prometheus + Grafana 监控
- [ ] EFK/Loki 日志收集
- [ ] Jaeger 链路追踪
- [ ] OpenTelemetry 集成
实践项目:为生产集群配置完整的安全策略和监控告警
阶段六:进阶生态
目标:掌握云原生生态全貌
- [ ] Istio 服务网格(流量管理、mTLS、可观测性)
- [ ] Argo CD GitOps 工作流
- [ ] Argo Workflow 复杂工作流
- [ ] KEDA 事件驱动伸缩
- [ ] Knative Serverless
- [ ] 多集群管理(Karmada / Cluster API)
- [ ] Gateway API
推荐学习资源
官方文档
书籍
- 《Kubernetes in Action》(第二版)
- 《Programming Kubernetes》(O'Reilly)
- 《Cloud Native Go》
实践平台
- Killercoda - 免费在线 K8s 环境
- Play with Kubernetes
- KodeKloud
认证
- CKA(Certified Kubernetes Administrator)- 运维向
- CKAD(Certified Kubernetes Application Developer)- 开发向
- CKS(Certified Kubernetes Security Specialist)- 安全向
实用工具清单
bash
# 集群管理
kubectl # 官方 CLI
k9s # TUI 管理界面
lens # GUI 管理界面
kubectx # 快速切换集群/命名空间
stern # 多 Pod 日志聚合
# 开发工具
kubebuilder # Operator 开发框架
helm # 包管理器
kustomize # 配置管理
skaffold # 本地开发工作流
tilt # 本地开发工作流
# 调试工具
kubectl-debug # 调试容器
kube-capacity # 资源使用情况
popeye # 集群健康检查
trivy # 安全扫描
# 网络工具
cilium # eBPF 网络
hubble # 网络可观测性