实验环境介绍:单master节点+3node节点
环境已提前配置完毕,如果你环境还未做,请移步 k8s集群V1.27.3安装
在 k8s 上可以做许多实验来提升你的动手能力和理解。以下是一些常见且有用的实验项目:
1、部署一个简单的应用
实验目标:
部署一个简单的 web 应用,比如 Nginx 或者一个自定义的 Node.js 应用。
实验步骤:
- 创建一个 Deployment。
- 创建一个 Service 来暴露应用。
- 验证应用是否可以通过 Service 访问。
2、使用ConfigMap 和 Secret
实验目标:
学习如何使用 ConfigMap 和 Secret 来管理应用的配置。
实验步骤:
- 创建一个 ConfigMap 存储应用配置。
- 创建一个 Secret 存储敏感信息(如数据库密码)。
- 在 Pod 中挂载 ConfigMap 和 Secret,并验证应用读取配置。
3、滚动更新和回滚
实验目标:
学习如何进行应用的滚动更新和回滚操作。
实验步骤:
- 创建一个 Deployment。
- 更新 Deployment 的镜像版本,观察滚动更新过程。
- 回滚到之前的版本,验证回滚操作。
4、设置资源请求和限制
实验目标:
学习如何为 Pod 设置资源请求和限制,以优化集群资源分配。
实验步骤:
- 创建一个 Deployment,并设置 CPU 和内存的资源请求和限制。
- 使用 kubectl describe 命令查看资源分配情况。
- 观察资源限制对 Pod 行为的影响。
5、使用Horizontal Pod Autoscaler (HPA)
实验目标:
学习如何使用 HPA 实现自动扩展。
实验步骤:
- 创建一个 Deployment,并设置 CPU 或内存的资源请求。
- 创建一个 HPA,设置扩展策略。
- 生成负载,观察 HPA 如何自动扩展 Pod 数量。
6、创建 StatefulSet
实验目标:
学习如何使用 StatefulSet 部署有状态应用,比如数据库。
实验步骤:
- 创建一个 StatefulSet 部署 MySQL 或 MongoDB。
- 创建一个 Headless Service 支持 StatefulSet。
- 验证 StatefulSet 中 Pod 的稳定标识和存储持久性。
7、使用 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC)
实验目标:
学习如何使用 PV 和 PVC 提供持久存储。
实验步骤:
- 创建一个 PersistentVolume。
- 创建一个 PersistentVolumeClaim。
- 在 Pod 中使用 PVC,并验证数据持久性。
8、网络策略 (Network Policy)
实验目标:
学习如何使用 Network Policy 控制 Pod 间的通信。
实验步骤:
- 创建两个不同的命名空间,每个命名空间中部署一个应用。
- 创建 Network Policy,限制应用之间的通信。
- 验证 Network Policy 的效果。
9、使用Helm部署应用
实验目标:
学习如何使用 Helm 部署和管理应用。
实验步骤:
- 安装 Helm。
- 使用 Helm 部署一个 Chart,比如 WordPress。
- 自定义 Chart 的参数,验证应用配置。
10、集成监控和日志
实验目标:
学习如何集成监控和日志系统,比如 Prometheus 和 Grafana。
实验步骤:
- 部署 Prometheus 和 Grafana。
- 配置 Kubernetes 的监控指标和告警规则。
- 部署 EFK (Elasticsearch, Fluentd, Kibana) 或 Loki 进行日志收集和分析。
接下来的一段时间里我会把上边的实验全部通过实验环境做一遍,来了解和掌握k8s的核心概念和操作技能。希望这些能帮助你在实际工作中更好地使用和管理 Kubernetes 集群。