

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

# 故障排除
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot"></a>

下一页包含用于对 HyperPod EKS 集群进行故障排除的已知解决方案。

**Topics**
+ [“控制面板”选项卡](#hp-eks-troubleshoot-dashboard)
+ [“任务”选项卡](#hp-eks-troubleshoot-tasks)
+ [策略](#hp-eks-troubleshoot-policies)
+ [删除集群](#hp-eks-troubleshoot-delete-policies)
+ [未分配的资源共享](#hp-eks-troubleshoot-unallocated-resource-sharing)

## “控制面板”选项卡
<a name="hp-eks-troubleshoot-dashboard"></a>

**EKS 加载项安装失败**

要成功安装 EKS 加载项，您需要拥有 Kubernets 版本 1.30 或更高版本。要进行更新，请参阅[更新 Kubernetes 版本](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)。

要成功安装 EKS 加载项，所有节点都必须处于**就绪**状态，并且所有容器组（pod）都必须处于**正在运行**状态。

要检查节点的状态，请使用[https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html) AWS CLI 命令或在 EKS [控制台中导航到 EKS](https://console.aws.amazon.com/eks/home#/clusters) 集群并查看节点的状态。解决每个节点的相关问题或联系您的管理员。如果节点状态为**未知**，请删除节点。当所有节点的状态均为 “**就绪**” 后，请重试 HyperPod从 A [mazon A SageMaker I](https://console.aws.amazon.com/sagemaker/) 控制台安装 EKS 附加组件。

要检查容器组（pod）的状态，请使用 [Kubernetes CLI](https://kubernetes.io/docs/reference/kubectl/) 命令 `kubectl get pods -n cloudwatch-agent` 或在 [EKS 控制台](https://console.aws.amazon.com/eks/home#/clusters)中导航到 EKS 集群并查看具有命名空间 `cloudwatch-agent` 的节点的状态。解决容器组（pod）的相关问题，或联系您的管理员来解决这些问题。所有 pod 状态均为 “**运行**” 后，请重试 HyperPod 从 A [mazon A SageMaker I](https://console.aws.amazon.com/sagemaker/) 控制台安装 EKS 附加组件。

有关更多疑难解答，请参阅对 [Amazon CloudWatch 可观察性 EKS 附加组件进行故障排除](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#Container-Insights-setup-EKS-addon-troubleshoot)。

## “任务”选项卡
<a name="hp-eks-troubleshoot-tasks"></a>

如果您看到表明**未在集群上配置自定义资源定义（CRD）**的错误消息，请向您的域执行角色授予 `EKSAdminViewPolicy` 和 `ClusterAccessRole` 策略。
+ 有关如何获取执行角色的信息，请参阅[获取执行角色](sagemaker-roles.md#sagemaker-roles-get-execution-role)。
+ 要了解如何将策略附加到 IAM 用户或组，请参阅[添加和移除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

## 策略
<a name="hp-eks-troubleshoot-policies"></a>

下面列出了使用 HyperPod APIs 或控制台解决与策略相关的错误的解决方案。
+ 如果策略处于 `CreateFailed` 或 `CreateRollbackFailed` 状态，则需要删除失败的策略并创建一个新策略。
+ 如果策略处于 `UpdateFailed` 状态，请使用相同的策略 ARN 重试更新。
+ 如果策略处于 `UpdateRollbackFailed` 状态，则需要删除失败的策略，然后创建一个新策略。
+ 如果策略处于 `DeleteFailed` 或 `DeleteRollbackFailed` 状态，请使用相同的策略 ARN 重试删除。
  + 如果您在尝试使用 HyperPod 控制台删除**计算优先级**或集群策略时遇到错误，请尝试`cluster-scheduler-config`使用 API 将其删除。要检查资源的状态，请转到计算资源分配的详细信息页面。

要查看有关失败的更多详细信息，请使用描述 API。

## 删除集群
<a name="hp-eks-troubleshoot-delete-policies"></a>

下文列出了与删除集群相关的错误的已知解决方法。
+ 当由于附加的 SageMaker HyperPod 任务治理策略而导致集群删除失败时，您将需要这样做[删除策略](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)。
+ 当集群删除操作因缺少以下权限而失败时，您需要更新集群管理员的最低权限集。请参阅[集群管理员的 IAM 用户](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin)部分中的 **Amazon EKS** 选项卡。
  + `sagemaker:ListComputeQuotas`
  + `sagemaker:ListClusterSchedulerConfig`
  + `sagemaker:DeleteComputeQuota`
  + `sagemaker:DeleteClusterSchedulerConfig`

## 未分配的资源共享
<a name="hp-eks-troubleshoot-unallocated-resource-sharing"></a>

如果您未分配的资源池容量小于预期：

1. **检查节点就绪状态**

   ```
   kubectl get nodes
   ```

   验证所有节点在 STATUS 列中显示`Ready`状态。

1. **检查节点可调度状态**

   ```
   kubectl get nodes -o custom-columns=NAME:.metadata.name,UNSCHEDULABLE:.spec.unschedulable
   ```

   验证节点显示`<none>`或`false`（不显示`true`）。

1. **列出未分配的资源共享 ClusterQueues：**

   ```
   kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
   ```

   这显示了所有未分配的资源共享 ClusterQueues。如果 ClusterQueues 未显示，请检查`FailureReason`下方的 ClusterSchedulerConfig 策略以查看是否有任何失败消息以继续调试。

1. **验证未分配的资源共享配额：**

   ```
   kubectl describe clusterqueue hyperpod-ns-idle-resource-sharing-<index>
   ```

   查看该`spec.resourceGroups[].flavors[].resources`部分以查看为每种资源类型分配的配额。

    ClusterQueues 可能存在多个未分配的资源共享，具体取决于群集中的资源规格数量。

1. **检查 MIG 配置状态（GPU 节点）：**

   ```
   kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.nvidia\.com/mig\.config\.state}{"\n"}{end}'
   ```

   验证启用 MiG 的节点显示`success`状态。