文章目录
- Kubernetes 存储实战:NFS PV/PVC、ConfigMap 与探针测试(完整修正版)
- 1. 环境信息回顾
- 2. 核心概念回顾
- 3. 准备工作
- 3.1 所有 K8s 节点安装 NFS 客户端
- 3.2 NFS 服务器上创建应用目录
- 3.3 镜像准备与导入(离线环境关键步骤)
- 4. 静态 PV/PVC 创建(为 MySQL 基础方案)
- 5. 部署 Nginx 无状态应用
- 5.1 创建 ConfigMap
- 5.2 创建 Deployment
- 5.3 创建 Service
- 6. 部署 MySQL 有状态应用
- 方案一:单实例 + 静态 PVC(简单,适合学习)
- 6.1.1 创建 MySQL ConfigMap
- 6.1.2 创建 StatefulSet(单副本)
- 方案二:多副本 + 动态供给(推荐,可实现扩展)
- 6.2.1 部署 NFS Provisioner
- 6.2.2 使用动态供给的 StatefulSet
- 7. 持久化测试
- 7.1 单实例静态 PVC 验证
- 7.2 动态供给多副本验证(可选)
- 8. 探针测试
- 8.1 Nginx 探针测试
- 测试 readinessProbe
- 测试 livenessProbe
- 8.2 MySQL 探针测试
- 测试 readinessProbe
- 测试 livenessProbe
- 测试 startupProbe(可选)
- 9. 扩容与优化
- 9.1 无状态应用水平扩缩容
- 9.2 有状态应用扩展
- 9.3 资源优化建议
- 10. 交付物 SOP
- 10.1 部署清单
- 10.2 部署 SOP
- 10.3 验证检查表
- 10.4 运维手册要点
- 11. 总结
Kubernetes 存储实战:NFS PV/PVC、ConfigMap 与探针测试(完整修正版)
本实验基于您的离线 K8s 集群(v1.24.17 + containerd + NFS),深入演示存储相关核心概念,并正确区分有状态与无状态应用:
- Nginx→ 无状态应用,使用 Deployment + ConfigMap + 探针,不依赖持久化。
- MySQL→ 有状态应用,使用 StatefulSet + PVC + NFS,实现数据持久化。
1. 环境信息回顾
| 项目 | 值 |
|---|---|
| Kubernetes 版本 | v1.24.17(三主两从 HA) |
| 容器运行时 | containerd 1.6.21 |
| 虚拟 VIP | 192.168.30.140:6443 |
| Pod 网段 | 10.244.0.0/16 |
| Service 网段 | 10.96.0.0/12 |