本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Kubeflow 正在设置中 AWS
本节提供安装说明,说明如何使用开启 Kubeflow(Kubeflow 的开源发行版)的 Deep Learning C AWS ontainers 设置 AWS 深度学习环境。完成 Kubeflow 的 AWS 设置后,您可以继续阅读本系列中的培训教程。
在上部署 Kubeflow AWS
要在上部署 Kubeflow AWS,请按照 Kubeflow 文档中的 Vanilla 部署选项
如果您按照前面的说明部署了GPU集群,则已安装适用于 Kubernetes 的NVIDIA设备插件。您不需要任何其他设置。
注意
以下教程以 Kubeflow 上的 Vanilla 版本 AWS 为例。但是,你可以在开启 Kubeflow 的任何其他部署选项的情况下运行本 Kubeflow on AWS 部分中的所有训练和推理教程。 AWS
有关在 AWS
部署时在 Kubeflow 中设置和配置亚马逊RDS、亚马逊 S3 和 Amazon Cognito 资源的信息,请参阅文档中的 Kubeflow 中的部署选项
设置 Amazon EKS 集群后,您可以在下一节中验证您的上下文是否指向您的集群。
验证集群连接
这些步骤显示了如何验证您的上下文。这是为了确保您与正确的群集进行交互。
-
首先,通过运行以下命令确认集群处于活动状态。
aws eks --region
<region>
describe-cluster --name<cluster-name>
--query cluster.status您应当看到如下输出。
"ACTIVE"
-
要检查您当前的上下文,请运行此命令。输出中的
current-context
字段应包含您的集群名称。kubectl config view
如果您的集群
current-context
不是您要与之交互的集群,请运行以下命令对其进行更新。有关更新您的内容的更多信息kubeconfig
,请访问 Amazon EKS 文档aws eks update-kubeconfig --region
<region>
--name<cluster-name>
在上部署 Kubeflow AWS 并更新当前上下文后,请在下一节中验证您的 Kubeflow 用户配置文件是否使用了正确的命名空间。
验证您的命名空间
这些步骤展示了如何验证您的活动 Kubeflow 用户配置文件是否使用命名空间。kubeflow-user-example-com
本系列的所有教程都在此命名空间中运行。
-
注意
在 Kubeflow 中,所有命名空间都应通过配置文件创建。
默认情况下,安装 AWS Vanilla 时的 Kubeflow 会使用命名空间创建用户配置文件 kubeflow-user-example-com
。通过运行以下命令确保名为的命名空间
kubeflow-user-example-com
存在。kubectl get namespace
如果输出中未显示命名空间,请按如下方式创建一个新的 Kubeflow 配置文件。
-
打开
vi
或vim
,然后复制并粘贴以下内容。将此配置文件描述文件另存为profile.yaml
。请务必将下面的电子邮件替换owner.name
为您的电子邮件。apiVersion: kubeflow.org/v1beta1 kind: Profile metadata: # replace with the name of profile you want, this is the user's namespace name name:
kubeflow-user-example-com
spec: owner: kind: User # replace with the email of the user name:user@example.com
-
运行以下命令以创建相应的配置文件资源。
kubectl apply -f profile.yaml
-
导出
NAMESPACE
变量。export NAMESPACE=kubeflow-user-example-com
我们在教程的所有 Kubeflow
${NAMESPACE}
中都将这个命名空间称为变量。 AWS
后续步骤
现在你已经完成了 Kubeflow 的 AWS 设置,你可以继续学习训练和推理教程了。
要了解有关在 Kubeflow 上使用 Deep Learning Containers 进行训练和推理的信息 AWS,请参阅或指南开启 Kubeflow 进行训练 AWS。在 PyTorch 或 TensorFlow 模型上运行推理服务
清理
本节提供完成教程运行后的清理说明。
干净的工作
运行完示例后,您可以删除特定的训练作业。要列出在给定命名空间中运行的特定类型(PyTorchJobMPIJob、、 TfJob)的作业,请运行以下命令。
kubectl get
job_type
-n ${NAMESPACE}
检索要删除的作业的名称,然后运行以下命令。
kubectl delete
job_type
job_name
-n ${NAMESPACE}
您的输出应类似于以下内容。
job_type
.kubeflow.org "job_name
" deleted
在上卸载 Kubeflow AWS
Kubeflow 在 AWS 文档中提供了卸载命令。确保你运行的命令与你的部署方法相对应:Kustomize、Helm
删除亚马逊EKS集群
Kubeflow 在 AWS 文档中提供了一个命令来删除你的整个 Ama EKS zon 集群