下面是一个示例,演示如何使用 PersistentVolume 和 PersistentVolumeClaim 来创建一个持久化存储。
创建 PersistentVolume。
代码语言:javascript复制yamlCopy codeapiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: /mnt/data
这个例子中创建了一个名为 my-pv 的 PersistentVolume,它将数据存储到宿主机的 /mnt/data 目录下,大小为 1GB。
创建 PersistentVolumeClaim。
代码语言:javascript复制yamlCopy codeapiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
这个例子中创建了一个名为 my-pvc 的 PersistentVolumeClaim,它请求一个 1GB 的存储空间,并将访问模式设置为 ReadWriteOnce。
创建 Pod。
代码语言:javascript复制yamlCopy codeapiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginx
volumeMounts:
- name: myvolume
mountPath: /usr/share/nginx/html
volumes:
- name: myvolume
persistentVolumeClaim:
claimName: my-pvc
这个例子中创建了一个名为 mypod 的 Pod,它使用了名为 my-pvc 的 PersistentVolumeClaim,并将 Volume 挂载到 mycontainer 容器中的 /usr/share/nginx/html 目录下。
在这个例子中,如果需要增加存储空间,只需要修改 PersistentVolumeClaim 的存储大小即可。这样就可以实现动态扩展存储空间的功能。