部署Kubeflow Pipeline时遇healthz信息获取失败错误求助
Kubeflow Pipelines v2 客户端连接404问题排查与解决
问题背景
按照Kubeflow v2快速入门文档完成本地Kubernetes集群部署后,UI界面可正常访问,但使用kfp 2.0.1客户端编写流水线代码时,出现404错误,提示无法访问/apis/v2beta1/healthz接口。
核心问题
- 端口转发目标错误:当前转发的是
ml-pipeline-ui服务(仅提供前端UI页面),而KFP客户端需要连接的是负责API交互的ml-pipeline服务。 - 版本不兼容:部署的Pipelines版本为
2.0.0-alpha.4,但客户端版本为2.0.1,版本差异导致API路径或接口兼容性问题,客户端日志也明确提示需要v2.0.0-beta.2及以上版本。
解决方案
1. 修正端口转发
停止现有端口转发进程,重新转发API服务:
kubectl port-forward service/ml-pipeline --namespace=kubeflow 38620:8888
ml-pipeline服务默认端口为8888,本地端口保持38620不变即可。
2. 调整客户端配置
代码中的endpoint无需修改,保持http://localhost:38620即可,此时该地址指向API服务而非UI服务。
3. 版本对齐(可选)
若仍存在兼容性问题,建议将部署的Pipelines版本升级至与客户端匹配的2.0.1:
export PIPELINE_VERSION="2.0.1" kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$PIPELINE_VERSION" kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=$PIPELINE_VERSION"
验证
重新运行流水线代码,客户端将正常连接API服务并创建流水线运行,打印的URL可直接访问运行详情页面。
内容的提问来源于stack exchange,提问作者Hongbo Miao
相关产品推荐
相关产品推荐

