更新时间:2024-07-02 GMT+08:00
工作负载异常:实例无法写入数据
Pod事件
Pod所在的节点文件系统损坏,新建的Pod无法成功在/var/lib/kubelet/device-plugins/.xxxxx写入数据,Pod通常会出现以下类似事件:
Message: Pod Update Plugin resources failed due to failed to write checkpoint file "kubelet_internal_checkpoint": open /var/lib/kubelet/device-plugins/.xxxxxx: read-only file system, which is unexpected.
此类异常Pod仅为异常记录,并不实际占用系统资源。
排查步骤
导致文件系统异常的原因有很多,例如物理控制节点的异常开关机。此类异常Pod并不影响正常业务,当系统文件未能恢复,出现大量异常Pod时,可采取以下步骤进行规避排查:
- 执行以下命令,将该Node标记为不可调度,并将已有Pod驱逐到其他节点。
kubectl drain <node-name>
- 等待Pod调度到其他节点后,排查文件系统异常的原因,并进行恢复或规避。
- 执行以下命令,取消节点不可调度标记。
kubectl uncordon <node-name>
异常Pod清理
- 本服务kubelet的GC回收机制与社区保持一致,在清除Pod的Owner(例如Deployment)后,异常Pod也会随之清理。
- 通过kubelet命令,删除有异常记录的Pod。