Mac M1安装Kubeflow遇版本兼容问题,求适配版本组合
Kubernetes、kfctl与Kubeflow Manifest的兼容版本组合及问题解决
错误原因分析
你遇到的报错核心是版本不兼容:
- Kubernetes 1.25版本彻底移除了对
apiextensions.k8s.io/v1beta1CRD API版本的支持,而Kubeflow 1.2的manifest仍在使用该旧版本定义CRD。 - 同时,Kubeflow 1.2依赖的
app.k8s.io/v1beta1API组在Kubernetes 1.22+中已被弃用,1.25中无法识别该版本的Application资源。
兼容版本组合方案
以下是经过验证的稳定版本搭配:
方案1:保留Kubernetes 1.25,升级Kubeflow版本
- Kubernetes版本:1.25.x
- kfctl版本:
kfctl v1.6.0或更高(建议与Kubeflow主版本匹配) - Kubeflow Manifest:对应版本的kfdef文件,例如Kubeflow 1.6的配置:
kfctl apply -V -f https://raw.githubusercontent.com/kubeflow/manifests/v1.6-branch/kfdef/kfctl_k8s_istio.v1.6.0.yaml注:Kubeflow 1.6及以上版本已适配Kubernetes 1.22-1.25,移除了对旧API版本的依赖。
方案2:保留Kubeflow 1.2,降级Kubernetes版本
- Kubernetes版本:1.21.x 或更低(1.22开始弃用v1beta1 CRD,1.25彻底移除)
- kfctl版本:
kfctl v1.2.0-0-gbc038f9(当前使用版本) - Kubeflow Manifest:继续使用v1.2-branch的kfdef文件:
kfctl apply -V -f https://raw.githubusercontent.com/kubeflow/manifests/v1.2-branch/kfdef/kfctl_k8s_istio.v1.2.0.yaml
额外提示
- Docker Desktop for M1 Mac切换Kubernetes版本:在Docker Desktop设置的Kubernetes选项卡中,直接选择目标版本重启即可。
- 若使用kfctl二进制文件,需确保下载对应arm64架构的版本(部分旧版本kfctl可能无arm64包,此时建议用Docker容器运行kfctl)。
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

