1.安装nfs(自行百度)
本实例的nfs安装在主机IP为192.168.230.128上,同时设置了分享文件夹“/share”
2.创建pv
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
mountOptions:
- hard
- nfsvers=4.1
nfs:
path: /share
server: 192.168.230.128
kubectl apply -f mysql-pv.yaml
3.创建pvc
注意:accessModes和storageClassName要和pv.yaml相同
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 3Gi
storageClassName: slow
kubectl apply -f mysql-pvc.yaml
4.创建mysql的deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-deploy
labels:
app: mysql-deploy
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:8.0
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-pvc
mountPath: /var/lib/mysql
volumes:
- name: mysql-pvc
persistentVolumeClaim:
claimName: mysql-pvc
#如果镜像拉不下来,可以使用dockerproxy.com/library/mysql:8.0镜像
kubectl apply -f mysql-deployment.yaml
最后分别执行上面的文件。最终查看内容。
image.png