MySQL 如何使用 PV 和 PVC?- 每天5分鐘玩轉 Docker 容器技術(154)

本節演示如何爲 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章