Gab*_*vay 9 persistent-storage kubernetes
我有多卷和一个索赔.如何判断要绑定到哪个卷的声明?
如何PersistentVolumeClaim知道绑定哪个卷?我可以使用其他一些参数或元数据来控制它吗?
我有以下内容PersistentVolumeClaim:
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"name": "default-drive-claim"
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "10Gi"
}
}
}
}
{
"apiVersion": "v1",
"kind": "PersistentVolume",
"metadata": {
"name": "default-drive-disk",
"labels": {
"name": "default-drive-disk"
}
},
"spec": {
"capacity": {
"storage": "10Gi"
},
"accessModes": [
"ReadWriteOnce"
],
"gcePersistentDisk": {
"pdName": "a1-drive",
"fsType": "ext4"
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用以下方式创建声明和音量:
kubectl create -f pvc.json -f pv.json
Run Code Online (Sandbox Code Playgroud)
我得到以下的卷和声明列表:
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE
default-drive-disk name=default-drive-disk 10Gi RWO Bound default/default-drive-claim 2s
NAME LABELS STATUS VOLUME CAPACITY ACCESSMODES AGE
default-drive-claim <none> Bound default-drive-disk 10Gi RWO 2s
Run Code Online (Sandbox Code Playgroud)
索赔如何知道绑定哪个卷?
小智 7
当前实现不允许您的PersistentVolumeClaim以特定的PersistentVolumes为目标.声明根据其功能(访问模式)和容量绑定到卷.
在工程中是PersistentVolumes的下一次迭代,其中包括索赔上的PersistentVolumeSelector.这可以像Pod上的NodeSelector一样工作.卷必须与标签选择器匹配才能绑定.这是您正在寻找的定位.
有关PersistentVolumeSelector的提案,请参阅https://github.com/kubernetes/kubernetes/pull/17056.