我正在使用GKE和从gcloud组件安装的kubectl。我使用kubectl创建了一个具有命名空间范围的pv(gcePersistentDisk)。
apiVersion: v1
kind: PersistentVolume
metadata:
name: cstor-cs-a-disk-david
namespace: ns-david
spec:
gcePersistentDisk:
pdName: cstor-cs-a-disk-david
fsType: ext4
partition: 0
readOnly: false
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
capacity:
storage: 200Gi
Run Code Online (Sandbox Code Playgroud)
这表示使用create pv指定名称空间是有效的:http : //kubernetes.io/third_party/swagger-ui/#! / api%2Fv1 /
createNamespacedPersistentVolume
当我运行“ kubectl get pv”时,我看到了pv。
$ kubectl get pv
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON
cstor-cs-a-disk-david <none> 214748364800 RWO Available
Run Code Online (Sandbox Code Playgroud)
我没想到这是因为pv不是使用默认名称空间范围创建的。
如果我指定名称空间参数(有效或无效),也会发生相同的情况。
$ kubectl get namespaces
NAME LABELS STATUS
default <none> Active
kube-system <none> Active
ns-david <none> Active
$ kubectl get pv --namespace=demo
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON
cstor-cs-a-disk-david <none> 214748364800 RWO Available
Run Code Online (Sandbox Code Playgroud)
如果我针对此pv创建一个声明,并使用“ kubectl get pvc”对其进行查询,则找不到该声明,但是当我指定正确的名称空间时可以找到该声明。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cstor-cs-a-disk-claim-david
namespace: ns-david
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 200Gi
volumeName: cstor-cs-a-disk-david
$ kubectl get pvc
NAME LABELS STATUS VOLUME
$ kubectl get pvc --namespace=ns-david
NAME LABELS STATUS VOLUME
cstor-cs-a-disk-claim-david map[] Bound cstor-cs-a-disk-david
Run Code Online (Sandbox Code Playgroud)
pv是否具有名称空间范围或它们是全局的?
| 归档时间: |
|
| 查看次数: |
2571 次 |
| 最近记录: |