minkube start..gives error: "Exiting due to RSRC_INSUFFICIENT_CORES"..Is it possible to start minikube on this Mac with 2 CPU cores?

minkube start..gives error: "Exiting due to RSRC_INSUFFICIENT_CORES"..Is it possible to start minikube on this Mac with 2 CPU cores?

我想启动 minikube 来学习 Kubernetes,但由于错误 RSRC_INSUFFICIENT_CORES 而遇到麻烦。 我的 mac 有 2 个 CPU 核心,minikube 文档说需要 2 个核心。 这是来自“关于此 Mac”的 machine 规格:

这个 machine 有 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

请原谅新手——这是我的第一个 SO 问题!

是否无法在此Mac上启动minikube?

要强制在单核上运行,您可以使用以下选项

--extra-config=kubeadm.ignore-preflight-errors=NumCPU --force --cpus=1

请注意,docker 和 minikube 设计为至少在两个内核上 运行。如果可用,请考虑启用超线程。

我 运行 在 M1 Mac 上遇到这些错误,因为我的 podman (4.0.2) 没有为 VM 配置足够的容量。 Abhinav Sonkar 想出了解决这个问题的方法。这建立在他开拓创新的基础上。

首先,您可能需要删除现有的 VM in podman:

podman machine stop
podman machine rm

然后用足够的规格重新创建它并调整连接到 work around 另一个问题:

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.5v1.22.5v1.22.8v1.23.2.

一起工作