日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

kubernetes入门mysql_Kubernetes 1.13 完全入门 (10) Mysql 数据例子

發(fā)布時間:2025/3/21 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kubernetes入门mysql_Kubernetes 1.13 完全入门 (10) Mysql 数据例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章內容是PV, PVC 內容擴展, 我們知道在使用mysql或其他數據庫時, 當pod被銷毀那么數據就丟失肯定是不行的

下面對于這種情況做具體說明

指導思想是

1. 創(chuàng)建mysql pv

2. 創(chuàng)建mysql pvc

3. 創(chuàng)建mysql Deployment, 并且綁定pvc

4. 最終將pv所在路徑映射給 /var/lib/mysql

在開始之前請確認nfs服務器配置上加入了no_root_squash

否則后面你可能會遇到?changing ownership of '/var/lib/mysql/': Operation not permitted

[root@localhost /]# cat /etc/exports

/data 172.28.128.88/24(rw,async,no_root_squash,insecure)

創(chuàng)建mysql的pv

[root@master db_test_folder]# cat mysql-pv.yaml

apiVersion: v1

kind: PersistentVolume

metadata:

name: mysqlpv

spec:

capacity:

storage: 1Gi

accessModes:

- ReadWriteOnce

persistentVolumeReclaimPolicy: Recycle

storageClassName: nfs

nfs:

path: /data

server: 172.28.128.88

[root@master db_test_folder]#

創(chuàng)建mysql pvc

[root@master db_test_folder]# cat mysql-pvc.yaml

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: mysqlpvc

spec:

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 1Gi

storageClassName: nfs

[root@master db_test_folder]#

創(chuàng)建mysql 的 Deployment 和 Service

[root@master db_test_folder]# cat mysql-dep.yaml

apiVersion: v1

kind: Service

metadata:

name: mysql-service

spec:

type: NodePort

ports:

- port: 3306

nodePort: 30006

targetPort: 3306

selector:

app: mysql-deployment

---

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

name: mysql-deployment

spec:

selector:

matchLabels:

app: mysql-deployment

revisionHistoryLimit: 10

replicas: 1

template:

metadata:

labels:

app: mysql-deployment

spec:

containers:

- name: mysql-deployment

image: mysql:5.6

env:

- name: MYSQL_ROOT_PASSWORD

value: root

ports:

- containerPort: 3306

name: mysql

volumeMounts:

- name: mysql-persistent-storage

mountPath: /var/lib/mysql

volumes:

- name: mysql-persistent-storage

persistentVolumeClaim:

claimName: mysqlpvc

[root@master db_test_folder]#

同時可以看到mysql的數據文件已經初始化在了 172.28.128.88 這太nfs服務器上

此時, 即使像這樣, 把 Deployment銷毀, 然后重新創(chuàng)建, 使 pod 從 master 節(jié)點 移動到 node 節(jié)點, 你會發(fā)現數據仍然好好的在nfs服務器上

然后我在這個數據庫中創(chuàng)建一個test實例, Students 表, 并且插入一條數據

然后把node節(jié)點關機, pod 會被遷移到master節(jié)點上

kubernetes節(jié)點失效后pod的調度過程

0、Master每隔一段時間和node聯系一次,判定node是否失聯,這個時間周期配置項為 node-monitor-period ,默認5s

1、當node失聯后一段時間后,kubernetes判定node為notready狀態(tài),這段時長的配置項為 node-monitor-grace-period ,默認40s

2、當node失聯后一段時間后,kubernetes判定node為unhealthy,這段時長的配置項為 node-startup-grace-period ,默認1m0s

3、當node失聯后一段時間后,kubernetes開始刪除原node上的pod,這段時長配置項為 pod-eviction-timeout ,默認5m0s

等待新的pod節(jié)點啟動之后, 數據仍然可以訪問

再遷移回來也沒有問題

總結

以上是生活随笔為你收集整理的kubernetes入门mysql_Kubernetes 1.13 完全入门 (10) Mysql 数据例子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。