Kubeflow学习指南:生产级机器学习系统实现
上QQ阅读APP看书,第一时间看更新

2.1.4 创建第一个Kubeflow项目

首先,我们需要创建一个能够工作的Kubeflow项目。我们可以使用kfctl程序[1]来创建一个Kubeflow部署。当使用Kubeflow时,你需要指定一个清单文件,用于保存配置构建内容以及为不同的云厂商提供各种清单。

我们将从一个使用vanilla配置的示例项目开始,如例2-9所示。在本项目中,我们将为MNIST示例建立一个简单的端到端Pipeline。之所以选择这个例子,是因为它是机器学习的标准“Hello World”。

例2-9:创建第一个示例项目

例2-9假设你使用的是一个现有的Kubernetes集群(比如,本地Minikube)。当你运行kfctl apply时,会看到很多状态信息,甚至可能还有一些错误信息。只要最后打印的值是0,你就可以安全地忽略大多数错误,因为它们会自动重试。

整个部署过程可能需要30分钟。

如果你决定直接使用云厂商,Kubeflow安装指南(https://oreil.ly/EMRVV)中有关于如何开始的说明。

可以在完全部署Kubeflow之前启动Kubeflow用户界面,但进行访问可能意味着你并没有合适的命名空间。为了确保Kubeflow准备好了,运行kubectl get pods --all-namespaces -w,然后等待所有的pod变成RUNNING或COMPLETED。如果你发现pod被抢占,请确保启动的集群设置了足够的内存和磁盘空间。如果你无法在本地启动足够大的集群,那么可以考虑某个云厂商。

[1] 不要与传统的kfctl.sh脚本混淆。