暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

k8s部署MySql+NFS持久化存储

DevOps架构实战 2022-10-12
1525

考虑采用NFS结合PV PVC实现持久化存储

配置nfs

k8s-master nfs-server

k8s-node1 k8s-node2 nfs-client

所有节点安装nfs

yum install -y nfs-common nfs-utils

master节点创建共享目录

[root@k8s-master k8s]# mkdir nfsdata

授权共享目录

[root@k8s-master k8s]# chmod 666 nfsdata

编辑exports文件

[root@k8s-master k8s]# vi etc/exports

输入如下内容

/root/k8s/nfsdata *(rw,no_root_squash,no_all_squash,sync)

启动rpcnfs(注意顺序)

[root@k8s-master k8s]# systemctl start rpcbind

[root@k8s-master k8s]# systemctl start nfs

查看 某个节点上的 NFS服务器

showmount -e ip

在三台服务器上新键: mkdir /nfs/data

.创建Deployment资源对象,镜像为mysql8.0

节点提前下载镜像:

Node1node2 拉取mysql8.0镜像

[root@node2 ~]# docker pull mysql:8.0.22

[root@node1 ~]# docker pull mysql:8.0.22

创建pv

[root@master ~]# more nfs-pv.yaml 

apiVersion: v1  

kind: PersistentVolume  

metadata:  

  name: mysql

spec:  

  capacity:  

    storage: 50Gi  

  accessModes:  

    - ReadWriteOnce          

  persistentVolumeReclaimPolicy: Retain  

  storageClassName: nfs          

  nfs:  

    path: /nfs/data   

    server: 192.168.240.57 

[root@master ~]# kubectl apply -f nfs-pv.yaml

persistentvolume/mysql created

创建pvc

[root@master ~]# more nfs-pvc.yaml 

apiVersion: v1  

kind: PersistentVolumeClaim  

metadata:  

  name: mysql  

spec:  

  accessModes:  

    - ReadWriteOnce   

  resources:  

    requests:  

      storage: 50Gi  

  storageClassName: nfs

[root@master ~]# kubectl apply -f nfs-pvc.yaml

persistentvolumeclaim/mysql created

创建mysql初始化

[root@master ~]# kubectl apply -f mysql.yaml

[root@master ~]# kubectl get pod

NAME READY   STATUS    RESTARTS   AGE

mysql-6b8564f498-wd4m4 1/1     Running   0          44s

nginx-offi 1/1     Running   0          2d23h

[root@master ]# mkdir -p /nfs/data

Deployment资源创建成功。

进入MySQL数据库,创建测试数据

[root@master ~]# kubectl exec -it mysql-6b8564f498-wd4m4 -- mysql -uroot -p123.com

查看Pod运行在哪个节点,关闭对应的节点上的kubelet,查看是否重新创建Pod,创建后的Pod数据是否还存在。


如果本文对你有帮助的话,欢迎点赞&在看&转发,这对我继续分享&创作优质文章非常重要。感谢🙏🏻

文章转载自DevOps架构实战,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论