【发布时间】:2019-12-07 16:26:37
【问题描述】:
我知道围绕这个话题有很多讨论,但不知何故,我无法让它发挥作用。
我正在尝试在裸机上安装带有 statefulset 和 nfs 持久卷的弹性搜索集群。我的 pv、pvc 和 sc 配置如下:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: manual
provisioner: kubernetes.io/no-provisioner
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-storage-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: manual
nfs:
server: 172.23.240.85
path: /servers/scratch50g/vishalg/kube
Statefuleset 定义了以下 pvc 部分:
volumeClaimTemplates:
- metadata:
name: beehive-pv-claim
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: manual
resources:
requests:
storage: 1Gi
现在,当我尝试部署它时,我在 statefulset 上收到以下错误:
pod has unbound immediate PersistentVolumeClaims
当我得到 pvc 事件时,它显示:
Warning ProvisioningFailed 3s (x2 over 12s) persistentvolume-controller no volume plugin matched
我尝试不提供任何存储类(没有创建它)并将其从 pv 和 pvc 中完全删除。这一次,我得到以下错误:
no persistent volumes available for this claim and no storage class is set
我也尝试在 pvc 中将 storageclass 设置为 "" 而在 pv 中没有提及它,但它也不起作用。
请在这里帮忙。我可以检查更多内容以使其正常工作?
是否与nfs服务器和路径有关(如果偶然,它被错误地提及),虽然我看到pv创建成功。
EDIT1:
一个问题是 pvc 的 accessmode 与 pv 的 accessmode 不同。我得到了纠正,现在我的 pvc 显示为已绑定。
但现在,我收到以下错误:
pod 有未绑定的立即 PersistentVolumeClaims
我也尝试使用本地卷,但同样的错误。 PV 和 PVC 绑定正确,但 statefulset 显示上述错误。
使用 hostPath 卷时,一切正常。
从根本上说我在这里做错了什么吗?
EDIT2
我让本地卷正常工作。 pod 需要一些时间才能绑定到 pvc。等待几分钟后,我的 pod 绑定到 pvc。
我认为,nfs 绑定问题可能更多与权限相关。但是,k8s 应该也会给出一些错误。
【问题讨论】:
-
你试过匹配accessModes吗? PVC 的目标是 ReadWriteOnce 卷。
-
谢谢@AYA。更改 PVC 访问模式会导致成功创建 pvc(与之前的挂起相比,状态 = 绑定)。但是,我的 statefulset 显示“pod has unbound immediate PersistentVolumeClaims”。我收到以下事件: pod/beehive-master-data-0 Unable to mount volumes for pod "beehive-master-data-0_pulse(5da0d3a6-b22d-4e33-9ced-073dc46043a6)": timeout expired waiting for volumes to attach或安装 pod "pulse"/"beehive-master-data-0"。卸载卷列表=[beehive-pv-claim default-token-t2x7x]。未附加卷列表=[beehive-pv-claim default-token-t2x7x]
-
另外,如果我给出错误的 nfs 路径,它会给我错误:“找不到目录/路径”。如果我更正路径,则会出现上述评论中提到的错误。在这两种情况下,pvc 状态都显示为已绑定。请帮忙。
-
此时我会检查 Nfs,node/pod 是否可以访问 nfs 目标?
-
节点可以访问 nfs。如何检查 pos?
标签: kubernetes nfs persistent-volume-claims