搭载Apple M1芯片的macOS Big Sur系统无法启动minikube求助
M1芯片macOS设备minikube启动报错适配方案
报错信息
❌ Exiting due to K8S_APISERVER_MISSING: wait 6m0s for node: wait for apiserver proc: apiserver process never appeared
💡 Suggestion: Check that the provided apiserver flags are valid, and that SELinux is disabled
翻译:
❌ 错误退出,原因:K8S_APISERVER_MISSING:等待节点6分钟超时:等待apiserver进程:apiserver进程从未启动
💡 建议:检查提供的apiserver启动参数是否有效,同时确认SELinux已禁用
前置检查
- macOS默认未启用SELinux,官方报错提示中的SELinux禁用要求无需额外配置。
- 打开Docker Desktop设置,确认
Use the new Virtualization framework、Enable VirtioFS accelerated directory sharing两个选项已勾选,同时分配给Docker的CPU核心≥2、内存≥4GB,修改配置后重启Docker生效。 - 执行
minikube delete --all --purge完全清除现有minikube残留配置,避免旧版本冲突。
适配启动操作
- 确保安装的是arm64架构原生版本minikube:如果使用Homebrew安装,需先确认Homebrew本身是arm64版本,再执行
brew install minikube安装;手动下载安装包时选择文件名带arm64后缀的版本,不要使用x86版本通过Rosetta转译运行。 - 启动时指定适配M1架构的参数,执行命令:
minikube start --driver=docker --container-runtime=docker --arch=arm64 - 若启动仍失败,可指定兼容性更好的Kubernetes版本启动:
minikube start --driver=docker --container-runtime=docker --arch=arm64 --kubernetes-version=v1.23.8 - 启动完成后执行
minikube status验证所有组件运行状态正常即可。
异常排查
- 若上述操作无效,可适当调高Docker分配的CPU、内存配额后重试,排除资源不足导致apiserver启动超时的问题。
- 不要在启动命令中添加不兼容arm64架构的自定义apiserver参数,避免参数错误导致进程无法启动。
内容的提问来源于stack exchange,提问作者user17255631
相关产品推荐
相关产品推荐

