如何解决Kubernetes - 卷“<volume-name>”的 MountVolume.NewMounter 初始化失败:路径不存在
我正在尝试使用 WSL 使用本地存储设置本地持久卷。但 Pod STATUS 停在 Pending。
kubectl describe pod <pod-name>
给出以下错误。
Warning FailedMount 21s (x7 over 53s) kubelet MountVolume.NewMounter initialization failed for volume "pv1" : path "/mnt/data" does not exist
路径 /mnt/data
已创建并存在于本地机器上,但容器无法访问。
以及如下所示的 pod 和 Persistent volume 配置。
apiVersion : v1
kind : PersistentVolume
metadata :
name : pv1
spec :
capacity :
storage : 2Gi
accessModes :
- ReadWriteOnce
persistentVolumeReclaimPolicy : Retain
storageClassName : local-storage
local :
fsType : ext4
path : /mnt/data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node1
---
apiVersion : v1
kind : PersistentVolumeClaim
metadata :
name : pvc1
spec :
resources :
requests :
storage : 1Gi
accessModes :
- ReadWriteOnce
storageClassName : local-storage
---
apiVersion : v1
kind : Pod
metadata :
name : pod1
spec :
containers:
- name: www
image: nginx:alpine
ports:
- containerPort: 80
name: www
volumeMounts:
- name: www-store
mountPath: /usr/share/nginx/html
volumes :
- name : www-store
persistentVolumeClaim :
claimName : pvc1
任何帮助将不胜感激。
解决方法
您使用 nodeSelector
作为 pv
,告诉它使用 node1
作为音量,机会是 1。node1
没有有 /mnt/data
目录存在,这是卷的 hostPath
。
OR 2. node1
可能有 /mnt/data
,但 pod
被安排在其他没有 /mnt/data
目录的节点上:
apiVersion : v1
kind : PersistentVolume
metadata :
name : pv1
spec :
capacity :
storage : 2Gi
accessModes :
- ReadWriteOnce
persistentVolumeReclaimPolicy : Retain
storageClassName : local-storage
local :
fsType : ext4
path : /mnt/data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node1
解决方案:
确保所有可调度节点上都存在 /mnt/data
或
尝试修改您的文件以添加 nodeName
或 nodeSelector
或 nodeAffinity
以强制将其安排在具有正确 hostPath 的同一节点上。在下面的示例中,假设 node1
存在 /mnt/data
目录。
apiVersion : v1
kind : Pod
metadata :
name : pod1
spec :
nodeName: node1 #<------------this
containers:
- name: www
image: nginx:alpine
ports:
- containerPort: 80
name: www
volumeMounts:
- name: www-store
mountPath: /usr/share/nginx/html
volumes :
- name : www-store
persistentVolumeClaim :
claimName : pvc1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。