本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon安装时的 Kubeflow
本节提供安装说明,以使用开启 Kubeflow 的Deep Learning Containers(Kubeflow 的开源发行版)设置Amazon深度学习环境。Amazon完成Amazon安装 Kubeflow 后,您可以继续阅读本系列的培训教程。
在 Kubeflow 上部署Amazon
要在上部署 KubeflowAmazon,请按照 KubeflowAmazon 文档中的 Vanilla 部署选项
如果您按照前面的说明部署了 GPU 集群,则已安装适用于 Kubernetes 的 NVIDIA 设备插件。您不需要任何额外设置。
注意
以下教程使用原版的 Kubeflow onAmazon 作为示例。但是,您可以使用 Kubeflow 的任何其他部署选项来运行此 Kubeflow onAmazon 部分中的所有训练和推理教程Amazon。
有关在Amazon部署 Kubeflow 时设置和配置 Amazon RDS、Amazon S3 和 Amazon Cognito 资源的信息,请参阅 KubeflowAmazon 文档中的部署选项
设置完您的 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>
在您部署 KubeflowAmazon 并更新了当前上下文后,请在下一节中验证您的 Kubeflow 用户配置文件使用了正确的命名空间。
验证您的命名空间
这些步骤显示了如何验证您的活跃的 Kubeflow 用户配置文件是否使用了命名空间kubeflow-user-example-com
。本系列的所有教程都在这个命名空间中运行。
-
注意
在 Kubeflow 中,所有命名空间都应通过配置文件
创建。默认情况下,安装了Amazon 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
我们在所有 KubeflowAmazon 教程
${NAMESPACE}
中将这个命名空间称为变量。
后续步骤
现在你已经完成了 Kubeflow 的Amazon设置,你可以继续学习训练和推理教程。
要了解有关在 Kubeflow 上使用Deep Learning Containers 进行Amazon训练和推理的信息,请参阅培训或推理指南。
清除
本节提供您完成教程运行后的清理说明。
清除工作
运行完示例后,您可以删除特定的训练作业。要列出在给定命名空间中运行的特定类型(PyTorchJobmpiJob, TfJob)的作业,请运行以下命令。
kubectl get
job_type
-n ${NAMESPACE}
检索要删除的任务的名称,然后运行以下命令。
kubectl delete
job_type
job_name
-n ${NAMESPACE}
您的输出应类似于以下内容。
job_type
.kubeflow.org "job_name
" deleted
开启卸载 KubeflowAmazon
Amazon文档中的 Kubeflow 提供了卸载命令。确保运行与您的部署方法相对应的命令:Kustomize、Helm
删除 Amazon EKS 集群
Amazon文档中的 Kubeflow 提供了一个命令来删除您的整个 Amazon EKS 集群