Day 1:环境搭建与核心概念
目标:搭建K8S环境,理解基础架构和核心对象。
- 环境准备
- 安装Minikube(单机环境)或kubeadm(集群环境)
- 安装kubectl命令行工具,验证集群状态:
kubectl cluster-info
- 学习Master节点(API Server、etcd、Scheduler、Controller Manager)和工作节点(kubelet、kube-proxy)的作用
- 核心对象实践
- Pod:创建一个Nginx Pod并访问:
apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx image: nginx ports: - containerPort: 80
- Deployment:通过Deployment管理Pod副本,实现滚动更新和回滚
- Service:为Pod暴露服务,测试ClusterIP和NodePort类型
- Pod:创建一个Nginx Pod并访问:
- 命令行工具
- 掌握
kubectl get
、kubectl describe
、kubectl logs
等常用命令
- 掌握
Day 2:网络、存储与配置管理
目标:掌握服务发现、持久化存储和配置管理。
- 网络模型
- 理解K8S的Flannel/Calico网络插件,测试Pod间通信
- 部署Ingress资源,通过域名访问服务(需安装Ingress Controller如Nginx)
- 存储管理
- Persistent Volume (PV/PVC):创建PVC挂载到Pod,实现数据持久化
- ConfigMap/Secret:通过ConfigMap配置应用参数,用Secret管理敏感信息(如密码)
- 命名空间与标签
- 创建Namespace隔离环境,使用Labels和Selectors筛选资源
Day 3:进阶操作与实战
目标:学习监控、日志和简单CI/CD流程。
- 监控与日志
- 部署Prometheus+Grafana监控集群资源
- 使用EFK(Elasticsearch+Fluentd+Kibana)收集Pod日志
- 自动化部署
- Helm:通过Chart模板化部署应用(如WordPress)
- CI/CD基础:结合GitHub Actions或Jenkins实现代码提交自动构建镜像并更新到K8S
- 实战项目
- 部署一个多层应用(前端+后端+数据库),使用Deployment、Service、Ingress完成全链路配置
- 模拟故障排查:如Pod无法启动、Service无法访问等
高效学习建议
- 聚焦核心:三天内跳过复杂调度、CRD等高级内容,优先掌握Pod/Deployment/Service/Ingress
- 边学边练:每个知识点配合实验验证(如修改YAML文件观察结果)
- 资源推荐:
- 官方网页:快速查阅API规范
- 《每天5分钟玩转Kubernetes》:适合速成
- Minikube官方教程:简化环境配置
后续学习方向
- 深入原理:调度器、etcd一致性算法、CNI插件
- 生产实践:集群高可用、备份恢复、安全加固(RBAC、Pod安全策略)
- 生态工具:Service Mesh(Istio)、Operator开发
三天速成可建立基础认知,但K8S的精通需结合实际项目持续积累。建议通过小规模实战(如个人博客部署)巩固技能,并逐步探索复杂场景。