看资料时看到了一个volumeClaimTemplates字段的配置,代码如下:
|
|
~~~ yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: test-claim
annotations:
volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Mi
---
kind: Pod
apiVersion: v1
metadata:
name: test-pod
spec:
containers:
- name: test-pod
image: busybox:1.24
command:
- "/bin/sh"
args:
- "-c"
- "touch /mnt/SUCCESS && exit 0 || exit 1"
volumeMounts:
- name: nfs-pvc
mountPath: "/mnt"
restartPolicy: "Never"
volumes:
- name: nfs-pvc
persistentVolumeClaim:
claimName: test-claim
学习这几份配置文件,有如下疑惑点:
-
StatefulSet定义中得volumeMounts下并没有
persistentVolumeClaim
属性,而貌似是直接写了volumeClaimTemplates
中的name。 -
PersistentVolumeClaim定义中的StorageClass是通过注解写出来的,而不是像
volumeClaimTemplates
使用一个字段。
其实我现在还不知道StatefulSet这份配置能不能正常的运行,而且几份配置文件针对的是不同版本的Kubernetes,所以这种差异不知道是不是版本的差异。
Kubernetes为每一个VolumeClaimTemplate创建一份PV