我在一个节点的kubernetes集群中找到了一个孤立的吊舱。当我尝试对其进行清理时,会看到以下行为:
# rm -rf /var/lib/kubelet/pods/a1fce4c0-2f64-11e9-9880-005056aed74b/
rm: cannot remove ‘/var/lib/kubelet/pods/a1fce4c0-2f64-11e9-9880-
005056aed74b/volumes/kubernetes.io~fc/harbor-jobservice-pv’: Device or resource busy
尝试检查正在使用什么,我什么也没得到:
# lsof +D /var/lib/kubelet/pods/a1fce4c0-2f64-11e9-9880-005056aed74b/volumes/kubernetes.io~fc/harbor-jobservice-pv
#
检查安装点,我什么也没得到:
# mount | grep -i a1fce4c0
# cat /proc/mounts | grep -i a1fce4c0
#
该文件夹不是符号链接,ls -a
显示为空。我正在验证这种坐骑是由kubelet创建的理论,但是在停止它之后,我仍然无法清理它。似乎也不是docker卷(通过检查docker volume inspect <volume>
中的卷。
重新启动节点不是我想要的-我想了解问题,而不仅仅是解决它。
谢谢。
编辑:该孤立的pod范围内的持久卷现在绑定到一个新的pod:
# kubectl get pv harbor-jobservice-pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS
CLAIM STORAGECLASS REASON AGE
harbor-jobservice-pv 5Gi RWO Retain Bound
harbor/harbor-jobservice-pvc
此PV / PVC对用于
# kubectl get pod -n harbor harbor-harbor-jobservice-6b9c8598c8-x5l64 -o
yaml
...
metadata:
uid: bb60bfdd-4c8e-11e9-8b8e-005056aea3a7
...
spec:
volumes:
- name: job-logs
persistentVolumeClaim:
claimName: harbor-jobservice-pvc
...
因此,您可以看到使用此PV的窗格与我拥有其文件夹的文件夹中的窗格不同。