

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

# 任务治理设置
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance"></a>

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

如果您在设置时遇到问题，请参阅[故障排除](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md)以获取已知的故障排除解决方案。

**Topics**
+ [Kueue 设置](#hp-eks-task-governance-kueue-settings)
+ [HyperPod 任务管理先决条件](#hp-eks-task-governance-prerequisites)
+ [HyperPod 任务管理设置](#hp-eks-task-governance-setup)

## Kueue 设置
<a name="hp-eks-task-governance-kueue-settings"></a>

HyperPod 任务治理 EKS 插件为您的 [EKS 集群安装 Kueue](https://github.com/kubernetes-sigs/kueue/tree/main/apis/kueue) HyperPod 。Kueue 是一个 kubernetes 原生系统，用于管理配额以及作业对配额的使用方式。


| EKS HyperPod 任务治理附加版本 | 作为加载项的一部分安装的 Kueue 版本 | 
| --- | --- | 
|  v1.1.3  |  v0.12.0  | 

**注意**  
Kueue v.012.0 及更高版本不包含 kueue-rbac-proxy在安装中。可能已经 kueue-rbac-proxy安装了以前的版本。例如，如果你使用的是 Kueue v0.8.1，那么你可能有 v0.18.1。 kueue-rbac-proxy

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

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

```
  apiVersion: config.kueue.x-k8s.io/v1beta1
    kind: Configuration
    health:
      healthProbeBindAddress: :8081
    metrics:
      bindAddress: :8443
      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"
      - "deployment"
      - "statefulset"
      - "leaderworkerset.x-k8s.io/leaderworkerset"
      podOptions:
        namespaceSelector:
          matchExpressions:
            - key: kubernetes.io/metadata.name
              operator: NotIn
              values: [ kube-system, kueue-system ]
    fairSharing:
      enable: true
      preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare]
    resources:
      excludeResourcePrefixes: []
```

有关每个配置条目的更多信息，请参阅 Kueue 文档中的[配置](https://kueue.sigs.k8s.io/docs/reference/kueue-config.v1beta1/#Configuration)。

## HyperPod 任务管理先决条件
<a name="hp-eks-task-governance-prerequisites"></a>
+ 请确保您拥有 HyperPod 集群管理员的最低权限策略，请参阅[集群管理员的 IAM 用户](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin)。这包括运行 SageMaker HyperPod 核心 APIs、管理您 AWS 账户内部的 SageMaker HyperPod 集群和在中执行任务的权限[管理由 Amazon EKS 编排的 SageMaker HyperPod 集群](sagemaker-hyperpod-eks-operate.md)。
+ 您需要拥有 Kubernetes 版本 1.30 或更高版本。有关说明，请参阅[将现有集群更新到新的 Kubernetes 版本](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)。
+ 如果您已在集群中安装 Kueue，请先卸载 Kueue，然后再安装 EKS 加载项。
+ 在安装 HyperPod 任务治理插件之前，EKS 集群中必须已经存在一个 HyperPod 节点。

## HyperPod 任务管理设置
<a name="hp-eks-task-governance-setup"></a>

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

------
#### [ Setup using the SageMaker AI console ]

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

如果您已授予管理 Amazon O CloudWatch bservability EKS 和通过中的 A SageMaker I 控制台查看 HyperPod 集群控制面板的权限，则您已经拥有以下所有权限。[HyperPod Amazon CloudWatch 可观察性 EKS 附加组件设置](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md#hp-eks-dashboard-setup)如果您尚未进行此设置，请使用以下示例策略授予管理 HyperPod 任务治理插件和通过 SageMaker AI 控制台查看 HyperPod 集群仪表板的权限。

------
#### [ JSON ]

****  

```
{
    "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 ]

使用示例 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html)EKS 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 控制台中查看 “**策略**” 选项卡。您也可以使用以下示例 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html)EKS AWS CLI 命令来检查状态。

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