任务管理设置 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

任务管理设置

本节包含有关如何设置 Amazon SageMaker HyperPod 任务管理 EKS 插件的信息。这包括授予权限,允许您设置任务优先级、团队的计算分配、闲置计算的共享方式以及团队的任务抢占方式。

如果您在设置时遇到问题,请参阅以故障排除获取已知的故障排除解决方案。

Kueue 设置

HyperPod 任务管理 EKS 插件为您的 EKS 集群安装 Kueue HyperPod 。Kueue 是一个 kubernetes 原生系统,用于管理配额以及作业如何消耗配额。

EKS HyperPod 任务治理附加版本 作为插件一部分安装的 Kueue 版本 其版本 kube-rbac-proxy是作为插件的一部分安装的

v1.0.0

v0.8.1

v0.18.1

HyperPod 任务治理利用 Kueue 进行 Kubernetes 原生作业队列、调度和配额管理,并与任务治理 EKS 插件一起安装。 HyperPod 安装后, HyperPod 会创建和修改 SageMaker 人工智能管理的 Kubernetes 资源KueueManagerConfig,例如、、、ClusterQueuesLocalQueues和。WorkloadPriorityClasses ResourceFlavors ValidatingAdmissionPolicies虽然 Kubernetes 管理员可以灵活地修改这些资源的状态,但对 SageMaker AI 管理的资源所做的任何更改都可能被服务更新和覆盖。

以下信息概述了 HyperPod 任务管理插件用于设置 Kueue 的配置设置。

apiVersion: config.kueue.x-k8s.io/v1beta1 kind: Configuration health: healthProbeBindAddress: :8081 metrics: bindAddress: :8080 enableClusterQueueResources: true webhook: port: 9443 manageJobsWithoutQueueName: false leaderElection: leaderElect: true resourceName: c1f6bfd2.kueue.x-k8s.io controller: groupKindConcurrency: Job.batch: 5 Pod: 5 Workload.kueue.x-k8s.io: 5 LocalQueue.kueue.x-k8s.io: 1 ClusterQueue.kueue.x-k8s.io: 1 ResourceFlavor.kueue.x-k8s.io: 1 clientConnection: qps: 50 burst: 100 integrations: frameworks: - "batch/job" - "kubeflow.org/mpijob" - "ray.io/rayjob" - "ray.io/raycluster" - "jobset.x-k8s.io/jobset" - "kubeflow.org/mxjob" - "kubeflow.org/paddlejob" - "kubeflow.org/pytorchjob" - "kubeflow.org/tfjob" - "kubeflow.org/xgboostjob" - "pod" podOptions: namespaceSelector: matchExpressions: - key: kubernetes.io/metadata.name operator: NotIn values: [ kube-system, kueue-system ] fairSharing: enable: true preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare] resources: excludeResourcePrefixes: []

有关每个配置条目的更多信息,请参阅 Kueue 文档中的配置

HyperPod任务管理先决条件

  • 如果您尚未执行此操作,集群管理员的 IAM 用户请参阅 HyperPod 集群管理员的最低权限策略示例。这包括运行 SageMaker HyperPod 核心 APIs 和管理您的 SageMaker HyperPod 集群的权限 AWS 账户,以及执行中的任务的权限SageMaker HyperPod 操作

  • 你需要有 Kubernetes 版本 >= 1.30。有关说明,请参阅将现有集群更新到新的 Kubernetes 版本

  • 如果你已经在他们的集群中安装了 Kueue,请在安装 EKS 插件之前卸载 Kueue。

  • 在安装 HyperPod 任务治理插件之前,EKS 集群中必须已经存在一个 HyperPod 节点。

HyperPod 任务管理设置

以下内容提供了有关如何设置 HyperPod 任务管理的信息。

Setup using the SageMaker AI console

以下内容提供了有关如何使用 SageMaker HyperPod 控制台进行 HyperPod 任务管理设置的信息。

如果您已授予管理 Amazon O CloudWatch bservability EKS 和通过中的 A SageMaker I 控制台查看 HyperPod 集群控制面板的权限,则您已经拥有以下所有权限。HyperPod Amazon CloudWatch 可观察性 EKS 附加组件设置如果您尚未进行此设置,请使用以下示例策略授予管理 HyperPod 任务治理插件和通过 SageMaker AI 控制台查看 HyperPod 集群仪表板的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:ListAddons", "eks:CreateAddon", "eks:UpdateAddon", "eks:DescribeAddon", "eks:DescribeAddonVersions", "sagemaker:DescribeCluster", "sagemaker:DescribeClusterNode", "sagemaker:ListClusterNodes", "sagemaker:ListClusters", "eks:DescribeCluster", "eks:AccessKubernetesApi" ], "Resource": "*" } ] }

导航到控制台中的 “ SageMaker HyperPod 控制面板” 选项卡,安装 Amazon SageMaker HyperPod 任务管理插件。

Setup using the Amazon EKS AWS CLI

使用示例 create-addonEKS AWS CLI 命令使用以下命令设置 HyperPod 任务管理 Amazon EKS API 和控制台用户界面 AWS CLI:

aws eks create-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance

如果安装成功,则可以在 HyperPod SageMaker AI 控制台中查看 “策略” 选项卡。您也可以使用以下示例 describe-addonEKS AWS CLI 命令来检查状态。

aws eks describe-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance