为了使yaml
绑定到PersistentVolumeClaim
,需要对下面的PersistentVolume
进行哪些具体更改?
与Kubernetes工作者节点在同一VPC子网中的EC2实例的IP为10.0.0.112,并且已配置为在/ nfsfileshare路径中充当NFS服务器。
我们使用pv-volume-network.yaml
创建了一个PersistentVolume pv01:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv01
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
mountOptions:
- hard
- nfsvers=4.1
nfs:
path: "/nfsfileshare"
server: "10.0.0.112"
并输入:
kubectl create -f pv-volume-network.yaml
然后,当我们键入kubectl get pv pv01
时,pv01
PersistentVolume将显示为“可用”状态。
然后我们用pv-claim.yaml
创建了一个名为的PersistentVolumeClaim:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: my-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
然后输入:
kubectl create -f pv-claim.yaml
但是当我们键入kubectl get pvc my-pv-claim
时,我们看到STATUS正在挂起。只要我们继续进行检查,状态就会保持为待处理状态。
请注意,此OP与this other question不同,因为即使使用NFS IP和路径两边的引号,该问题仍然存在。
该PVC为什么不与PV结合?要解决此问题需要进行哪些具体更改?
答案 0 :(得分:1)
我通过键入kubectl describe pvc my-pv-claim
并查看结果的“事件”部分来诊断问题。
然后,根据报告的事件,我可以通过将storageClassName: manual
更改为storageClassName: slow
来解决此问题。
问题是PVC的StorageClassName不满足与PV中指定的类匹配的要求。