Bootstrap

k8s中使用MySQL共享存储_k8s使用NFS做动态存储做mysql容器主从同步

k8s里面存储一直是比较难搞得,之前做的静态存储,写这篇文档记录一下动态存储创建的过程。

使用动态存储的好处是开发者可以更关注自己的开发环境,不用关心后端的资源,还有就是更换存储类型不用做大的改变,只需切换一下storageclassName即可。

根据这篇博客来的!谢谢博主!!!

https://www.cnblogs.com/00986014w/p/9406962.html

我把大致上思路分成三步:1.搭建NFS服务器;2.准备NFS动态插件的配置文件;3.创建一个pvc查看测试一下结果。

1.搭建NFS服务器:centos7 下面使用yum安装 :

yum install nfs-utils

systemctl start nfs

systemctl enable nfs

2.准备nfs插件配置文件:

第一步先测试一下静态存储,测试没有问题了接着往下看动态存储

---

apiVersion: v1

kind: PersistentVolume

metadata:

name: mypv1

spec:

capacity:

storage: 4Gi

accessModes:

- ReadWriteOnce

persistentVolumeReclaimPolicy: Recycle

nfs:

path: [已配置的NFS系统的路径]

server: [已配置的NFS系统的IP地址]

---

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: mypvc1

spec:

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 100Mi

动态存储配置文件

---

kind: ServiceAccount

apiVersion: v1

metadata:

name: nfs-client-provisioner

---

kind: ClusterRole

apiVersion: rbac.authorization.k8s.io/v1

metadata:

name: nfs-client-provisioner-runner

rules:

- apiGroups: [""]

resources: ["persistentvolumes"]

verbs: ["get", "list", "watch", "create", "delete"]

- apiGroups: [""]

resources: ["persistentvolumeclaims"]

verbs: ["get", "list", "watch", "update"]

- apiGroups: ["storage.k8s.io"]

resources: ["storageclasses"]

verbs: ["get", "list", "watch"]

- apiGroups: [""]

resources: ["events"]

verbs: ["create", "update", "patch"]

---

kind: ClusterRoleBinding

apiVersion: rb

;