已将PersistentVolume标记为已绑定但在容器中不可见

时间:2018-08-05 21:57:11

标签: kubernetes google-cloud-platform google-kubernetes-engine persistent-volumes persistent-volume-claims

我从GKE(和一般的kubernetes)开始,我想使用gcePersistentDisk在Pod上挂载持久卷。

我首先在Compute Engine中创建了一个永久磁盘(项目数据),然后创建了PersistentVolume和PersistentVolumeClaim,如下所示:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: project-data
spec:
  storageClassName: standard
  capacity:
    storage: 20G
  accessModes:
    - ReadWriteOnce
  gcePersistentDisk:
    pdName: project-data
    fsType: ext4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: project-data-claim
spec:
  storageClassName: standard
  volumeName: project-data
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20G
  selector:
    matchLabels:
      app: myapp

应用此配置后,我在GKE /存储中看到我的PVC是“绑定”的,但是我找不到在myapp中访问我的卷的方法。

我尝试通过添加以下内容在控制台中编辑部署Yaml:

volumeMounts:
- mountPath: /data
  name: project-data

...但是控制台拒绝此修改(似乎禁止这种编辑)。

我最终如何在我的应用程序中将PersistentVolume视为文件系统?

1 个答案:

答案 0 :(得分:2)

首先,应在“卷”部分中定义PVC:

volumes:
- name: project-data
  persistentVolumeClaim: 
    claimName: project-data-claim

如果不建议直接编辑广告连播,则可以编辑yaml文件,然后应用它:

$ kubectl apply -f your.yaml

此外,由于您在pvc配置中定义了selector,因此我认为您应该在pv配置中定义了label