这里是一个示例的 YAML 文件,可以将本地目录挂载到 MySQL 容器内的 /var/lib/mysql 目录中:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-deployment
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:latest
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
这个 YAML 文件定义了一个 MySQL 的 Deployment,其中包含一个容器 mysql,该容器使用了 mysql:latest 镜像,监听了 3306 端口,并且将本地目录通过 PersistentVolumeClaim 挂载到容器内的 /var/lib/mysql 目录中。
在上述的 YAML 文件中,我们定义了名为 mysql-pv-claim 的 PersistentVolumeClaim,它会与 Kubernetes 中的一个 PersistentVolume 对象绑定,以便在容器被重新调度或删除后,数据仍然能够保持不变。 请注意,这里的 PersistentVolume 配置需要事先进行一些设置,否则可能会导致挂载失败。