存储卷挂载不上请检查以下点:
检查Flexvolume是否安装?
在master节点上执行下面命令:
# kubectl get pod -n kube-system | grep flexvolume
flexvolume-4wh8s 1/1 Running 0 8d
flexvolume-65z49 1/1 Running 0 8d
flexvolume-bpc6s 1/1 Running 0 8d
flexvolume-l8pml 1/1 Running 0 8d
flexvolume-mzkpv 1/1 Running 0 8d
flexvolume-wbfhv 1/1 Running 0 8d
flexvolume-xf5cs 1/1 Running 0 8d
查看flexvolume pod状态是否为Running,且运行的数量与节点数量相同;
如果没有安装,请参考:插件安装
如果运行状态不对,请参考插件运行日志分析;
检查动态存储插件是否安装?
如果使用云盘的动态存储功能,需要确认是否安装动态存储插件,执行下面命令:
# kubectl get pod -n kube-system | grep alicloud-disk
alicloud-disk-controller-8679c9fc76-lq6zb 1/1 Running 0 7d
如果没有安装,请参考:插件安装
如果运行状态不对,请参考插件运行日志分析;
如何查看存储相关日志
Flexvolume日志(master1上执行):
- 执行get命令查看出错的pod:
# kubectl get pod -n kube-system | grep flexvolume
- 执行log命令,查看出错pod的日志:
# kubectl logs flexvolume-4wh8s -n kube-system
# kubectl describe pod flexvolume-4wh8s -n kube-system
在pod描述最后若干行是pod运行状态的描述,可以根据描述分析错误;
- 云盘、NAS、OSS驱动日志查看:
# 查看host节点上持久化的日志;
# 如果某个Pod挂载失败,查看pod所在的节点地址:
# kubectl describe pod nginx-97dc96f7b-xbx8t | grep Node
Node: cn-hangzhou.i-bp19myla3uvnt6zihejb/192.168.247.85
Node-Selectors: <none>
# 登陆节点,查看日志:
# ssh 192.168.247.85
# ls /var/log/alicloud/flexvolume*
flexvolume_disk.log flexvolume_nas.log flexvolume_oss.log
可以看到云盘、nas、oss挂载的日志;
provsioner插件日志(master1上执行):
- 执行get命令查看出错的pod:
# kubectl get pod -n kube-system | grep alicloud-disk
- 执行log命令,查看出错pod的日志:
# kubectl logs alicloud-disk-controller-8679c9fc76-lq6zb -n kube-system
# kubectl describe pod alicloud-disk-controller-8679c9fc76-lq6zb -n kube-system
在pod描述最后若干行是pod运行状态的描述,可以根据描述分析错误;
Kubelet日志:
# 如果某个Pod挂载失败,查看pod所在的节点地址:
# kubectl describe pod nginx-97dc96f7b-xbx8t | grep Node
Node: cn-hangzhou.i-bp19myla3uvnt6zihejb/192.168.247.85
Node-Selectors: <none>
# 登陆节点,查看kubelet日志:
# ssh 192.168.247.85
# journalctl -u kubelet -r -n 1000 &> kubelet.log
-n的值表示期望看到的日志行数;
上述为获取flexvolume、provsioner、Kubelet错误日志的方法,如果无法根据日志修复状态,可以附带日志信息联系阿里云技术支持;
云盘常见问题:
云盘挂载失败,出现timeout错误
如果节点为手动添加,可能是由于sts权限的问题导致,需要手动配置RAM权限:help.aliyun.com/document_de…
云盘挂载失败,出现Size错误;
创建云盘对Size有如下要求,请检查;
普通云盘:最小5Gi;
高效云盘:最小20Gi;
SSD云盘:最小20Gi;
云盘挂载失败,出现zone错误;
ecs挂载云盘时,必须在同一个region下面的相同zone内,否则不能挂载成功;
升级系统后,云盘有时报错:input/output error
- 升级flexvolume到v1.10.4-98954f6或以后版本:
- 对于已经出问题的Pod,需要重建;
升级命令:
# kubectl set image daemonset/flexvolume acs-flexvolume=registry.cn-hangzhou.aliyuncs.com/acs/flexvolume:v1.10.4-98954f6 -n kube-system
Flexvolume版本信息:yq.aliyun.com/articles/59…
云盘pvname与diskid不同时报错
按照使用文档,需要把pvname配置与diskid相同,若您创建的云盘pv配置的名字与diskid不同时,参考以下步骤做到兼容:
1. pvname与diskid不同时,查看使用此pv的pod,并找到pod所在的节点;
2. 在对应的节点上创建目录:mkdir -p /etc/kubernetes/volumes/disk/remove,并创建以下文件:/etc/kubernetes/volumes/disk/pvnanme.conf,内容为diskid;
3. 升级flexvolume:v1.10.4-98954f6;
NAS常见问题:
NAS挂载时间太长
如果NAS卷包含的文件量很大,且在挂载模板中配置了chmod参数,可能导致挂载时间过长的问题;可以去掉chmod参数;
NAS挂载失败,出现timeouot错误;
检查nas挂载点和集群是否在同一个vpc内,否则无法挂载;
OSS常见问题:
oss挂载失败
检查使用的ak是否正确;