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。