今天我的 kubernetes 集群(v1.15.2)节点磁盘已满,导致 pod 给出以下提示:
Update plugin resources failed due to failed to write checkpoint file "kubelet_internal_checkpoint": write /var/lib/kubelet/device-plugins/.261578065: no space left on device, which is unexpected.
MountVolume.SetUp failed for volume "default-token-xnrwt" : mkdir /opt/k8s/k8s/kubelet/pods/67eaa71b-adf4-4365-a1c7-42045d5e9426: no space left on device
Run Code Online (Sandbox Code Playgroud)
我登录服务器,发现磁盘使用率为100%,所以我删除了一些日志文件并释放了10GB+磁盘空间,但现在pod似乎没有自动恢复,并且仍然有这个错误提示:
我应该怎么做才能解决这个问题?我尝试重新启动所有 Pod,所有 Pod 都工作正常。但最后我发现错误提示信息仍然给我提示没有空间,并且没有自动消失。查看节点状态,发现该节点没有磁盘压力。如何让错误提示消失?
v1d*_*rm3 27
其他可能性是资源请求/限制的单位值不正确(例如,使用mi而不是Mi)。
例如:
apiVersion: v1
kind: Pod
spec:
containers:
- name: {container_name}
resources:
limits:
memory: "512mi" # incorrect; should be "512Mi"
cpu: "200m"
Run Code Online (Sandbox Code Playgroud)
Community Wiki评论部分提到了将此作为解决方案发布。
当您的应用程序使用 100% 的可用空间时,会发生类似no space left on device, which is unexpected.和 等错误。no space left on device您可以使用命令检查它$ df -h。
解决方案
要解决此类问题,您必须在 中“腾出一些空间” volume。您可以通过手动删除文件来完成此操作(OP 在这种情况下做到了)。
一旦腾出一些空间,您应该重新kubelet使用$ systemctl restart kubelet.
上述步骤解决了 OP 问题。
此外,在某些特定场景下,您还可能使用$ service docker restart特定资源重新启动 docker 服务。
| 归档时间: |
|
| 查看次数: |
28648 次 |
| 最近记录: |