【发布时间】:2020-10-16 15:38:37
【问题描述】:
我正在尝试在 Kubernetes 上部署 MySQL 并希望保留数据。我目前能够在 pod 的整个生命周期内持久保存数据(kubectl delete 然后 kubectl create)。但是,我无法通过集群重启来保留数据。知道为什么会这样吗?
persistent-volume.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv-volume
spec:
storageClassName: hostpath
persistentVolumeReclaimPolicy: Retain
capacity:
storage: 100Mi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
persistent-volume-claim.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim
spec:
storageClassName: hostpath
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
mysql-deployment.yml
kind: StatefulSet
metadata:
name: powerplus-db
spec:
serviceName: powerplus-db
selector:
matchLabels:
app: powerplus-db
template:
metadata:
labels:
app: powerplus-db
spec:
containers:
- name: powerplus-db
image: mysql:8.0.21
env:
- name: MYSQL_ROOT_PASSWORD
value: password
- name: MYSQL_DATABASE
value: powerplus
ports:
- containerPort: 3306
name: powerplus-db
volumeMounts:
- mountPath: /var/lib/mysql
name: mysql-persistent-storage
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim```
【问题讨论】:
-
你在运行什么 kubernetes?你如何重启你的集群
-
@Matt 我正在为 Windows 的 Kubernetes 集群使用 Docker Desktop。我只是重新启动应用程序。
标签: mysql kubernetes persistent-volumes