

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

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

以下部分提供有关如何使用 Amazon Obs CloudWatch ervability EKS 和 SageMaker HyperPod 任务管理插件进行设置的信息。

确保您在使用 Amazon EKS 时拥有 HyperPod 集群管理员的最低权限策略[集群管理员的 IAM 用户](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin)。这包括运行 SageMaker HyperPod 核心 APIs 和管理您的 SageMaker HyperPod 集群的权限 AWS 账户，以及执行中的任务的权限[管理由 Amazon EKS 编排的 SageMaker HyperPod 集群](sagemaker-hyperpod-eks-operate.md)。

**Topics**
+ [控制面板设置](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md)
+ [任务治理设置](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md)

# 控制面板设置
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard"></a>

使用以下信息进行设置 Amazon A SageMaker HyperPod mazon Obs CloudWatch ervability EKS 附加组件。这将为您提供一个详细的可视化控制面板，该控制面板可让您查看 EKS 集群硬件、团队分配和任务的指标。

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

**Topics**
+ [HyperPod Amazon CloudWatch 可观察性 EKS 附加组件先决条件](#hp-eks-dashboard-prerequisites)
+ [HyperPod Amazon CloudWatch 可观察性 EKS 附加组件设置](#hp-eks-dashboard-setup)

## HyperPod Amazon CloudWatch 可观察性 EKS 附加组件先决条件
<a name="hp-eks-dashboard-prerequisites"></a>

以下部分包括安装 Amazon EKS 可观测性加载项之前所需满足的先决条件。
+ 请确保您拥有 HyperPod 集群管理员的最低权限策略，请参阅[集群管理员的 IAM 用户](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin)。
+ 将 `CloudWatchAgentServerPolicy` IAM 策略附加到 Worker 节点。为此，请输入以下命令。将 `my-worker-node-role` 替换为您的 Kubernetes Worker 节点使用的 IAM 角色。

  ```
  aws iam attach-role-policy \
  --role-name my-worker-node-role \
  --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  ```

## HyperPod Amazon CloudWatch 可观察性 EKS 附加组件设置
<a name="hp-eks-dashboard-setup"></a>

使用以下选项设置 Amazon A SageMaker HyperPod mazon Obs CloudWatch ervability EKS 附加组件。

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

设置和可视化 HyperPod 任务管理仪表板需要以下权限。此部分扩展了[集群管理员的 IAM 用户](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin)中列出的权限。

要管理任务治理，请使用示例策略：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListClusters",
                "sagemaker:DescribeCluster",
                "sagemaker:ListComputeQuotas",
                "sagemaker:CreateComputeQuota",
                "sagemaker:UpdateComputeQuota",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:DeleteComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "sagemaker:CreateClusterSchedulerConfig",
                "sagemaker:UpdateClusterSchedulerConfig",
                "sagemaker:DeleteClusterSchedulerConfig",
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:DescribeAddon",
                "eks:DescribeCluster",
                "eks:DescribeAccessEntry",
                "eks:ListAssociatedAccessPolicies",
                "eks:AssociateAccessPolicy",
                "eks:DisassociateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

要授予管理 Amazon O CloudWatch bservability Amazon EKS 和通过 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",
                "sagemaker:ListComputeQuotas",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "eks:DescribeCluster",
                "cloudwatch:GetMetricData",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

导航到控制台中的 “ SageMaker HyperPod 控制**面板**” 选项卡以安装 Amazon O CloudWatch bservability EKS。要确保**控制面板**中包含与任务治理相关的指标，请选中 Kueue 指标复选框。在达到免费套餐限制后，启用 Kueue CloudWatch **指标会启用指标**费用。有关更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)中的**指标**。

------
#### [ Setup using the EKS AWS CLI ]

使用以下 EKS AWS CLI 命令安装插件：

```
aws eks create-addon --cluster-name cluster-name 
--addon-name amazon-cloudwatch-observability 
--configuration-values "configuration json"
```

下面是配置值 JSON 示例：

```
{
    "agent": {
        "config": {
            "logs": {
                "metrics_collected": {
                    "kubernetes": {
                        "kueue_container_insights": true,
                        "enhanced_container_insights": true
                    },
                    "application_signals": { }
                }
            },
            "traces": {
                "traces_collected": {
                    "application_signals": { }
                }
            }
        },
    },
}
```

------
#### [ Setup using the EKS Console UI ]

1. 导航到 [EKS 控制台](https://console.aws.amazon.com/eks/home#/clusters)。

1. 选择您的集群。

1. 选择**附加组件**。

1. 找到 **Amazon CloudWatch 可观察性**附加组件并安装。安装该加载项的 2.4.0 版或更高版本。

1. 包括以下 JSON 配置值：

   ```
   {
       "agent": {
           "config": {
               "logs": {
                   "metrics_collected": {
                       "kubernetes": {
                           "kueue_container_insights": true,
                           "enhanced_container_insights": true
                       },
                       "application_signals": { }
                   },
               },
               "traces": {
                   "traces_collected": {
                       "application_signals": { }
                   }
               }
           },
       },
   }
   ```

------

成功安装 EKS Observability 插件后，您可以在控制台的 “ HyperPod 控制面**板**” 选项卡下查看您的 EKS 集群指标。

# 任务治理设置
<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
```