我想启动 minikube 来学习 Kubernetes,但由于错误
RSRC_INSUFFICIENT_CORES
而遇到麻烦。
我的 Mac 有 2 个 CPU 核心,minikube 文档说需要 2 个核心。
以下是“关于本机”中的机器规格:
这台机器有 VirtualBox 版本 5.2.35 r135669,但它没有运行,并且 docker 和 docker-machine 正在工作,如下所示:
✗ docker-machine --version
docker-machine version 0.16.1, build
✗ docker --version
Docker version 17.05.0-ce, build 89658be
我已经使用更新版本的 MacPorts 成功安装了 minikube v1.25.1,如下所示:
✗ which minikube
/opt/local/bin/minikube
✗ minikube version
minikube version: v1.25.1
我无法启动 minikube 并收到错误:
Exiting due to RSRC_INSUFFICIENT_CORES
。这是我从 2 个不同的 minikube start
尝试中看到的输出:
✗ minikube start --cpus=2
😄 minikube v1.25.1 on Darwin 10.11.6
✨ Automatically selected the docker driver. Other choices: virtualbox, ssh
- Ensure your docker daemon has access to enough CPU/memory resources.
- Docs https://docs.docker.com/docker-for-mac/#resources
⛔ Exiting due to RSRC_INSUFFICIENT_CORES: Requested cpu count 2 is greater than the available cpus of 1
✗ minikube start --cpus=1
😄 minikube v1.25.1 on Darwin 10.11.6
✨ Automatically selected the docker driver. Other choices: virtualbox, ssh
⛔ Exiting due to RSRC_INSUFFICIENT_CORES: Requested cpu count 1 is less than the minimum allowed of 2
请原谅新手——这是我第一次提出这样的问题!
这台 Mac 上是否无法启动 minikube?
我在 M1 Mac 上遇到这些错误,因为我的 podman (4.0.2) 没有为虚拟机配置足够的容量。 Abhinav Sonkar 找到了解决这个问题的方法。这是建立在他的开拓精神之上的。
首先,您可能需要删除 podman 中现有的 虚拟机:
podman machine stop
podman machine rm
然后使用足够的规格重新创建它并调整连接以解决另一个问题:
podman machine init --cpus 6 --memory 12288 --disk-size 50
podman machine start
podman system connection default podman-machine-default-root
之后我可以从
brew
安装 minikube 并启动它:
minikube start --driver=podman --container-runtime=cri-o
这样
minikube
子命令就可以工作了,并且 kubectl
似乎可以很好地与它交谈。我还得到了 minikube start
与 --kubernetes-version=v1.23.5
、v1.22.5
、v1.22.8
和 v1.23.2
一起工作。
要在单核上强制操作,您可以使用以下选项
--extra-config=kubeadm.ignore-preflight-errors=NumCPU --force --cpus=1
请注意,docker 和
minikube
被设计为在至少两个内核上运行。如果可用,请考虑启用超线程。
我的 Windows 上出现错误,可以使用以下方法绕过 CPU 检查:
minikube start --extra-config=kubeadm.ignore-preflight-errors=NumCPU --force --cpus 1
在 Linux 上使用:
sudo minikube start --driver=podman --extra-config=kubeadm.ignore-preflight-errors=NumCPU
我也有同样的问题。我可以使用此页面中的建议来解决它。
--extra-config=kubeadm.ignore-preflight-errors=NumCPU --force --cpus=1
可以工作,但并不理想,因为 minikube 可以使用更多 cpu。
这里建议的另一个解决方案是转到 Docker->settings...->resources,然后将 Docker 可用的 CPU 数量更改为至少 2 个。确保您有足够的内存和存储。然后按“应用并重新启动”
这一切都很好,但它不会对您之前使用 --force 选项时使用很少资源创建的 minikube 产生影响。
为了解决该问题,请使用:
minikube delete --all
然后:
minikube start --driver=docker
现在 minikube 将使用您为 docker 提供的资源...