Pod挂载导致的故障:
故障1:pod创建过程中报错:nfs域名解析失败导致pod无法挂载存储
因为node节点没有添加DNS地址
故障2:pod创建过程中报错,pod无法挂载pvc
pv没有自动创建成功,造成pv没有创建成功的根本原因是动态创建 nas 挂载点的插件“alicloud-nas-controller”没有启动成功。
若集群存储插件选择为Flexvolume,可以通过手动部署NAS Controller方式实现动态NAS数据卷。
故障3:存储没有attach到节点上
Warning FailedMount 40m (x44 over 137m) kubelet, bj-k8s-node004 Unable to mount volumes for pod "cromwellcli-66544cb5f6-r9pwj_cromwell(689fb12f-a283-11eb-aae8-d0431ef48ee9)": timeout expired waiting for volumes to attach or mount for pod "cromwell"/"cromwellcli-66544cb5f6-r9pwj". list of unmounted volumes=[naspvc1]. list of unattached volumes=[naspvc1 default-token-bndpv]
解决方法:在启动kubelet参数里面添加 KUBELET_DNS_ARGS="--enable-controller-attach-detach=false"
sed -i 's/DNS_ARGS=/&--enable-controller-attach-detach=false /' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
通过在kubelet中--enable-controller-attach-detach,设置是否通过AD Controller来管理分配到本节点的pod volume AD;
--enable-controller-attach-detach=true:通过AD-Controller做AD,kubelet禁用;
--enable-controller-attach-detach=false:通过kubelet做AD,AD-Controller对本节点禁用;
作用:当API Server中pod(配置了pvc)与node间的关系发生变化时,通过调用存储插件将这个pod关联的PV Attach/Detach到对应node上. 完成后通知其它关联组件(kubelet)。