搭建mysql(k8s)
1.创建mysql-pv
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs
nfs:
path: /home/public
server: 192.168.87.135
访问模式 | 描述 |
---|---|
ReadWriteOnce | PV 能以 read-write 模式 mount 到单个节点 |
ReadOnlyMany | PV 能以 read-only 模式 mount 到多个节点 |
ReadWriteMany | PV 能以 read-write 模式 mount 到多个节点 |
-------- | ----- |
回收策略 | 描述 |
Retain | 需要管理员手工回收 |
Recycle | 清除 PV 中的数据 |
Delete | 删除 Storage Provider 上的对应存储资源 |
2.创建mysql-pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
spec:
accessModes: #访问模式
- ReadWriteOnce
resources: #资源
requests:
storage: 5Gi
storageClassName: nfs #存储类
3.创建mysql.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.7
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /home/nfs_client_public
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pvc