如何在 Apple Silicon 上安装 Kubeflow Pipelines v2
如何在 Apple Silicon 上安装 Kubeflow Pipelines v2
Kubeflow Pipelines (KFP) 是一个强大的平台,用于使用 Kubernetes 大规模构建机器学习管道 .该平台在GCP等主要云平台上得到了很好的支持( 顶点 AI 管道 ) 或 AWS ( AWS 上的 Kubeflow )。然而,在 Apple Silicon(macOS 12.5.1 和 Apple M1 Pro)上安装 KFP 被证明比我想象的更具挑战性。因此,我想分享我的经验和技巧,以便在您闪亮的 Mac 上尽可能轻松地安装 KFP。
在本文中,我介绍了在 Apple Silicon 上安装 Kubeflow 的 4 个步骤 , 使用 牧场主桌面 用于设置 Docker/Kubernetes。最后列出我在安装 Kubeflow Pipelines 过程中遇到的问题。
第 1 步:安装 Rancher Desktop 以设置 Kubernetes
牧场主桌面 是我发现安装 Docker 和 Kubernetes 最友好的解决方案 .虽然 Docker Desktop 也是一种流行的选择,但对于拥有超过 250 名员工或年收入 1000 万美元的公司来说,这个解决方案现在具有很高的价格标签。
安装 Rancher Desktop 后,您需要使用下面的启动窗口对其进行配置。选择 Kubernetes 的稳定版本,让 Rancher Desktop 自 因为这是 Kubernetes 的默认容器运行时 .
我还建议您调整 # CPUs 和 Memory (GB) 首选项 > 虚拟机
以避免内存不足错误 (OOM)。
您现在可以访问 **kubectl**
终端中的命令 .如果没有,请检查您的 PATH 环境变量是否包含 $HOME/.rd/bin
Rancher Desktop 二进制文件默认安装在哪里。
第 2 步:安装 Kubeflow 管道
安装 Kubeflow Pipelines 的官方说明可在 文档网站 对于 KFP v1。您还可以在以下位置找到最新说明 Kubeflow 管道 GitHub 存储库 对于 KFP v2。 如您所见,当时没有简单的一键式解决方案,但我们可以轻松调整说明。
您需要为安装 Kubeflow Pipelines 做出两个选择:
-
KFP 的版本 (KFP_VERSION) :我们选择最新的v2版本(v2.0.0b4)进行安装。在撰写本文时,这是一个测试版,但我发现这个版本对于我的用例来说足够稳定。
-
KFP 平台 (KFP_PLATFORM) :此配置定义了可供选择的 Argo Workflow 执行引擎。我选择新的使者平台( 平台不可知论者 ) 那 现在默认在新版本的 KFP 中提供 .
设置安装变量
KFP_PLATFORM=平台不可知论者
KFP_VERSION=2.0.0b4 # 使用 kubectl 为安装加注星号
kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$ KFP_VERSION "
kubectl 等待 --for 条件 = 建立--超时 = 60 年代 crd/applications.app.k8s.io
kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/$ KFP_PLATFORM ?ref=$ KFP_VERSION "
最后一个命令可能需要几分钟才能完成,因为 Kubernetes 需要下载所需的容器镜像并为 Kubeflow Pipelines 创建 Pod。您可以监控在 库贝流
使用此命令的命名空间:
kubectl 获取 pods -n kubeflow --watch
一旦所有 Kubeflow Pipelines Pod 都处于 RUNNING 状态,您就可以进入下一步 .
第 3 步:端口转发
我们需要将 KFP UI 的端口转发到您的系统,以便从您的浏览器访问主仪表板。 为此,请从 ml-管道-ui
Pod 到您机器上的端口(例如,下例中的 8443)。
kubectl 端口转发-n kubeflow svc/ml-pipeline-ui 8443:80
您现在应该可以通过以下地址访问 Kubeflow Pipelines: http://localhost:8443/#/pipelines
您可以在上面的屏幕截图中看到 Kubeflow Pipelines 默认附带的管道。
第 4 步:运行管道
为确保系统正常工作,我们将在新安装上运行默认可用的管道 .提醒一下,KFP 管道是组件的有向无环图 (DAG),它根据给定的输入和参数生成输出。下面的屏幕截图显示了 [Demo] XGBBoost — 迭代模型训练管道的结构。
我尝试了所有可用的管道,但其中一些问题似乎与安装过程无关:
- [Demo] XGBoost — 迭代模型训练 :训练模型的容器(Xgboost train)不包含 CMake 实用程序。
- [Demo] TFX — 出租车预测模型训练 :管道仅适用于 GCP,如管道描述中所示。
(可选)出了什么问题
本指南是经过多次试验和错误后编写的。您可以在下面找到我在安装 Kubeflow Pipelines v2 期间遇到的问题。
-
安装过程中的常量 ErrImagePull 和 ImagePullBackoff : 由于这个错误,我无法使用 docker (moby) 引擎安装 KFP。一种解决方法是直接连接到集群节点并直接拉取映像以修复此错误:
打开一个 shell 到执行你的 Pod 的节点
rdctl 外壳
手动安装所需的容器镜像
码头工人拉...
-
带有 Rancher Desktop 端口转发的慢 UI : Rancher Desktop 提供了一个 GUI 来设置端口转发。但是,当我采用这种方法时,KFP UI 没有响应。
结论
虽然 Kubeflow Pipelines 是一个在云平台上开箱即用的好系统,但我发现它的安装对于本地开发来说很麻烦。我希望本指南能帮助您在系统上设置 KFP,并创建令人惊叹的机器学习模型!
快乐的人工智能✌️!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明