PersistentVolume 标记为绑定但在容器中不可见
PersistentVolume marked as bound but invisible in containers
-
google-cloud-platform
-
kubernetes
-
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/Storage 中看到我的 PVC 是 "Bound",但我无法在 myapp 中找到访问我的卷的方法。
我尝试通过添加以下内容在控制台中编辑部署 yaml:
volumeMounts:
- mountPath: /data
name: project-data
...但是这个修改被控制台拒绝了(貌似这种编辑是被禁止的)
如何才能最终在我的应用程序中将我的 PersistentVolume 视为文件系统?
首先,PVC应该在volumes部分定义:
volumes:
- name: project-data
persistentVolumeClaim:
claimName: project-data-claim
如果直接编辑pod不成功,可以编辑yaml文件,然后应用:
$ kubectl apply -f your.yaml
此外,由于您在 pvc 配置中定义了 selector
,我认为您应该在 pv 配置中定义 label
。
google-cloud-platform
kubernetes
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/Storage 中看到我的 PVC 是 "Bound",但我无法在 myapp 中找到访问我的卷的方法。
我尝试通过添加以下内容在控制台中编辑部署 yaml:
volumeMounts:
- mountPath: /data
name: project-data
...但是这个修改被控制台拒绝了(貌似这种编辑是被禁止的)
如何才能最终在我的应用程序中将我的 PersistentVolume 视为文件系统?
首先,PVC应该在volumes部分定义:
volumes:
- name: project-data
persistentVolumeClaim:
claimName: project-data-claim
如果直接编辑pod不成功,可以编辑yaml文件,然后应用:
$ kubectl apply -f your.yaml
此外,由于您在 pvc 配置中定义了 selector
,我认为您应该在 pv 配置中定义 label
。