0
所以有:模板PersistentVolumeSelector标签
- 的StatefulSet来控制波德的多个副本在一个有序的方式。
- the PersistentVolumeClaim将数量提供给Pod。
statefulset.spec.volumeClaimTemplate[]
将前两者绑定在一起。- 的PersistentVolumeSelector控制哪些PersistentVolume满足其PersistentVolumeClaim。
假设我有一个名为PV0和PV1持久卷,并用2个副本的statefulset称为CouchDB的。具体而言,是statefulset:
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: couchdb
spec:
...
replicas: 2
template:
...
spec:
containers:
- name: couchdb
image: klaemo/couchdb:1.6
volumeMounts:
- name: db
mountPath: /usr/local/var/lib/couchdb
volumes:
- name: db
persistentVolumeClaim
claimName: db
volumeClaimTemplates:
- metadata:
name: db
spec:
...
此StatefulSet生成两个PersistentVolumeClaim命名分贝-CouchDB的-0和分贝-CouchDB的-1。问题是,不能保证pvc db-couchdb-0将始终绑定到pv0。
的问题是:为PersistentVolumeClaim你如何保证控制结合由StatefulSet控制器来管理?
我尝试添加一个音量选择这样的:
selector:
matchLabels:
name: couchdb
到statefulset.spec.volumeClaimTemplate[0].spec
但名的价值没有得到模板。两个索赔最终将寻找一个PersistentVolume标记为name = couchdb。