我在 minikube 中总是出现“设备上没有剩余空间”的问题,即使系统有可用空间,如何解决?

shu*_*han 5 kubernetes minikube kubernetes-helm

我正在使用 ubuntu-16.04 和 docker 版本 19.03.8 在本地系统中使用 Helm 3 运行 minikube(版本:v1.10.1)。目前,即使本地磁盘有足够的空间,我也会遇到“没有剩余空间”的问题。

如何增加空间?这是 POD 描述细节:

  Normal   Scheduled  3m41s                default-scheduler  Successfully assigned default/greeter-5fb8ccb96b-zwzfc to minikube
  Warning  Failed     108s                 kubelet, minikube  Failed to pull image "12345.dkr.ecr.ap-south-1.amazonaws.com/micro:latest": rpc error: code = Unknown desc = write /var/lib/docker/tmp/GetImageBlob679392224: no space left on device
  Warning  Failed     55s (x2 over 108s)   kubelet, minikube  Error: ErrImagePull
  Warning  Failed     55s                  kubelet, minikube  Failed to pull image "12345.dkr.ecr.ap-south-1.amazonaws.com/micro:latest": rpc error: code = Unknown desc = write /var/lib/docker/tmp/GetImageBlob816503247: no space left on device
  Normal   BackOff    41s (x2 over 107s)   kubelet, minikube  Back-off pulling image "12345.dkr.ecr.ap-south-1.amazonaws.com/micro:latest"
  Warning  Failed     41s (x2 over 107s)   kubelet, minikube  Error: ImagePullBackOff
  Normal   Pulling    27s (x3 over 3m40s)  kubelet, minikube  Pulling image "12345.dkr.ecr.ap-south-1.amazonaws.com/micro:latest"
Run Code Online (Sandbox Code Playgroud)

Edu*_*llo 9

您需要检查 Minikube 虚拟机上的可用空间,而不是您的主机操作系统。

您可以使用 访问 Minikube VM minikube ssh,然后检查空间和 inode 可用性(分别为df -hdf -i)。一般情况下,空间不足的原因是本地存储库中有很多docker镜像。

可能的修复方法是:

  • 删除未使用的 docker 镜像( docker image prune -a)
  • 增加 Virtual Box 配置上的磁盘大小并调整Linux 分区的大小(这可能很痛苦,可能会导致很多麻烦......)
  • 使用增加的磁盘大小启动一个新的 minikube VM(例如,minikube start --disk-size 50000mb