

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

# 任務治理設定
<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
```