Skip to content

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》

实践平台

认证

  • 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        # 网络可观测性

最后更新:

本站内容由 褚成志 整理编写,仅供学习参考