View a markdown version of this page

故障排除 - 亚马逊 SageMaker AI

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

故障排除

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

“控制面板”选项卡

EKS 加载项安装失败

要成功安装 EKS 加载项,您需要拥有 Kubernets 版本 1.30 或更高版本。要进行更新,请参阅更新 Kubernetes 版本

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

要检查节点的状态,请使用list-cluster-nodes AWS CLI 命令或在 EKS 控制台中导航到 EKS 集群并查看节点的状态。解决每个节点的相关问题或联系您的管理员。如果节点状态为未知,请删除节点。当所有节点的状态均为 “就绪” 后,请重试 HyperPod从 A mazon A SageMaker I 控制台安装 EKS 附加组件。

要检查容器组(pod)的状态,请使用 Kubernetes CLI 命令 kubectl get pods -n cloudwatch-agent 或在 EKS 控制台中导航到 EKS 集群并查看具有命名空间 cloudwatch-agent 的节点的状态。解决容器组(pod)的相关问题,或联系您的管理员来解决这些问题。所有 pod 状态均为 “运行” 后,请重试 HyperPod 从 A mazon A SageMaker I 控制台安装 EKS 附加组件。

有关更多疑难解答,请参阅对 Amazon CloudWatch 可观察性 EKS 附加组件进行故障排除

“任务”选项卡

如果您看到表明未在集群上配置自定义资源定义(CRD)的错误消息,请向您的域执行角色授予 EKSAdminViewPolicyClusterAccessRole 策略。

策略

下面列出了使用 HyperPod APIs 或控制台解决与策略相关的错误的解决方案。

  • 如果策略处于 CreateFailedCreateRollbackFailed 状态,则需要删除失败的策略并创建一个新策略。

  • 如果策略处于 UpdateFailed 状态,请使用相同的策略 ARN 重试更新。

  • 如果策略处于 UpdateRollbackFailed 状态,则需要删除失败的策略,然后创建一个新策略。

  • 如果策略处于 DeleteFailedDeleteRollbackFailed 状态,请使用相同的策略 ARN 重试删除。

    • 如果您在尝试使用 HyperPod 控制台删除计算优先级或集群策略时遇到错误,请尝试cluster-scheduler-config使用 API 将其删除。要检查资源的状态,请转到计算资源分配的详细信息页面。

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

删除集群

下文列出了与删除集群相关的错误的已知解决方法。

  • 当由于附加的 SageMaker HyperPod 任务治理策略而导致集群删除失败时,您将需要这样做删除策略

  • 当集群删除操作因缺少以下权限而失败时,您需要更新集群管理员的最低权限集。请参阅集群管理员的 IAM 用户部分中的 Amazon EKS 选项卡。

    • sagemaker:ListComputeQuotas

    • sagemaker:ListClusterSchedulerConfig

    • sagemaker:DeleteComputeQuota

    • sagemaker:DeleteClusterSchedulerConfig

未分配的资源共享

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

  1. 检查节点就绪状态

    kubectl get nodes

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

  2. 检查节点可调度状态

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

    验证节点显示<none>false(不显示true)。

  3. 列出未分配的资源共享 ClusterQueues:

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

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

  4. 验证未分配的资源共享配额:

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

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

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

  5. 检查 MIG 配置状态(GPU 节点):

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

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