MacOS M1 Rancher Desktop部署Kubeflow镜像拉取失败求助
解决Kubeflow部署中的ImagePullBackOff和CPU资源不足问题
一、镜像平台不匹配导致的ImagePullBackOff问题
你遇到的镜像拉取失败,是因为docker.io/kubeflownotebookswg/tensorboard-controller:v1.7.0-rc.0这个版本的镜像只提供了amd64架构版本,而你的Rancher Desktop大概率运行在ARM架构(比如M系列Mac)上,两者架构不匹配导致拉取失败。
解决方法二选一:
- 切换到支持多平台的Kubeflow版本:
Kubeflow v1.8及以后的版本基本都适配了arm64架构。先清理现有资源,切换到对应版本的manifest分支再重新部署:# 清理已部署的资源 kustomize build example | awk '!/well-defined/' | kubectl delete -f - # 切换到v1.8.0版本分支(可根据需求选择更高稳定版) git checkout v1.8.0 # 重新执行部署命令 while ! kustomize build example | awk '!/well-defined/' | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done - 手动替换兼容架构的镜像版本:
如果必须使用v1.7系列,v1.7.1及以后的tensorboard-controller镜像已支持arm64。可以用kustomize overlay修改镜像标签,避免直接改动原manifest:- 创建一个overlay目录,里面新建
kustomization.yaml:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization bases: - ../../example images: - name: docker.io/kubeflownotebookswg/tensorboard-controller newTag: v1.7.1 - 用overlay构建并部署:
while ! kustomize build overlay | awk '!/well-defined/' | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done
- 创建一个overlay目录,里面新建
二、CPU资源不足的调度警告
Rancher Desktop默认分配的CPU资源不足以支撑Kubeflow组件的运行需求,导致Pod无法被正常调度。
解决方法:
- 调高Rancher Desktop的资源配额:
打开Rancher Desktop的设置界面,进入「Resources」选项,把CPU核心数调整到4核及以上,内存设置为8G以上,保存后重启Rancher Desktop。 - 降低Kubeflow组件的CPU请求限制:
如果无法增加物理资源,可通过kustomize overlay修改组件的CPU请求值。比如针对tensorboard-controller,在overlay的kustomization.yaml中添加补丁:
然后重新执行部署命令即可。patches: - target: kind: Deployment name: tensorboard-controller-deployment patch: |- - op: replace path: /spec/template/spec/containers/0/resources/requests/cpu value: "100m" - op: replace path: /spec/template/spec/containers/0/resources/limits/cpu value: "500m"
内容的提问来源于stack exchange,提问作者yoshcn
相关产品推荐
相关产品推荐

