

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# SageMaker HyperPod 任務治理的設定
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup"></a>

下一節提供如何開始使用 Amazon CloudWatch 可觀測性 EKS 和 SageMaker HyperPod 任務治理附加元件的相關資訊。

確保您在[叢集管理員的 IAM 使用者](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin)中對 HyperPod 叢集管理員具有最低許可政策搭配 Amazon EKS。這包括執行 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 SageMaker HyperPod Amazon CloudWatch 可觀測性 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 可觀測性附加元件之前所需的先決條件。
+ 確保您在 [叢集管理員的 IAM 使用者](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) 中具有 HyperPod 叢集管理員的最低許可政策。
+ 將 `CloudWatchAgentServerPolicy` IAM 政策連接至您的工作節點。若要執行此作業，請輸入以下命令。將 `my-worker-node-role` 取代為 Kubernetes 工作節點使用的 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 SageMaker HyperPod Amazon CloudWatch 可觀測性 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 CloudWatch 可觀測性 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 CloudWatch 可觀測性 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 可觀測性附加元件，您就可以在 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 附加元件會為您的 HyperPod EKS 叢集安裝 [Kueue](https://github.com/kubernetes-sigs/kueue/tree/main/apis/kueue)。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，您可能具有 kueue-rbac-proxy v0.18.1。

HyperPod 任務治理會利用 Kueue 進行 Kubernetes 原生任務佇列、排程和配額管理，並與 HyperPod 任務治理 EKS 附加元件一起安裝。安裝時，HyperPod 會建立和修改 SageMaker AI 管理的 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>
+ 確保您在 [叢集管理員的 IAM 使用者](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) 中具有 HyperPod 叢集管理員的最低許可政策。這包括執行 SageMaker HyperPod 核心 APIs、在 中管理 SageMaker HyperPod 叢集 AWS 帳戶，以及在 中執行任務的許可[管理由 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，請在安裝 EKS 附加元件之前解除安裝 Kueue。
+ HyperPod 節點必須已存在於 EKS 叢集中，然後才能安裝 HyperPod 任務治理附加元件。

## HyperPod 任務治理設定
<a name="hp-eks-task-governance-setup"></a>

以下提供如何開始使用 HyperPod 任務治理的相關資訊。

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

以下提供如何使用 SageMaker HyperPod 主控台開始使用 HyperPod 任務治理的相關資訊。

如果您已授予管理 Amazon CloudWatch 可觀測性 EKS 的許可，並透過 [HyperPod Amazon CloudWatch 可觀測性 EKS 附加元件設定](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md#hp-eks-dashboard-setup) 中的 SageMaker AI 主控台檢視 HyperPod 叢集儀表板，則您已連接下列所有許可。如果您尚未設定，請使用以下範例政策授予管理 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 和主控台 UI 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
```