MySQL 如何使用 PV 和 PVC?- 每天5分钟玩转 Docker 容器技术(154)
博客专区 > CloudMAN 的博客 > 博客详情
MySQL 如何使用 PV 和 PVC?- 每天5分钟玩转 Docker 容器技术(154)
CloudMAN 发表于1周前
MySQL 如何使用 PV 和 PVC?- 每天5分钟玩转 Docker 容器技术(154)
  • 发表于 1周前
  • 阅读 494
  • 收藏 12
  • 点赞 3
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: 本节演示如何为 MySQL 数据库提供持久化存储。

本节演示如何为 MySQL 数据库提供持久化存储,步骤为:

  1. 创建 PV 和 PVC。

  2. 部署 MySQL。

  3. 向 MySQL 添加数据。

  4. 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到其他节点。

  5. 验证数据一致性。

首先创建 PV 和 PVC,配置如下:

mysql-pv.yml

mysql-pvc.yml

创建 mysql-pv 和 mysql-pvc

接下来部署 MySQL,配置文件如下:

PVC mysql-pvc Bound 的 PV mysql-pv 将被 mount 到 MySQL 的数据目录 var/lib/mysql

MySQL 被部署到 k8s-node2,下面通过客户端访问 Service mysql

kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -h mysql -ppassword


更新数据库:

① 切换到数据库 mysql。

② 创建数据库表 my_id。

③ 插入一条数据。

④ 确认数据已经写入。

关闭 k8s-node2,模拟节点宕机故障。

一段时间后,Kubernetes 将 MySQL 迁移到 k8s-node1

验证数据的一致性:

MySQL 服务恢复,数据也完好无损。

小结

本章我们讨论了 Kubernetes 如何管理存储资源。

emptyDir 和 hostPath 类型的 Volume 很方便,但可持久性不强,Kubernetes 支持多种外部存储系统的 Volume。

PV 和 PVC 分离了管理员和普通用户的职责,更适合生产环境。我们还学习了如何通过 StorageClass 实现更高效的动态供给。

最后,我们演示了如何在 MySQL 中使用 PersistentVolume 实现数据持久性。

书籍:

1.《每天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html

2.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

3.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 489
博文 337
码字总数 207864
×
CloudMAN
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: