

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 문제 해결
<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 이상이어야 합니다. 업데이트하려면 [Update Kubernetes version](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)을 참조하세요.

EKS 추가 기능 설치가 성공하려면 모든 노드가 **준비 완료** 상태이고 모든 포드가 **실행 중** 상태여야 합니다.

노드 상태를 확인하려면 [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) 클러스터로 이동하여 노드 상태를 확인합니다. 각 노드의 문제를 해결하거나 관리자에게 문의합니다. 노드 상태가 **알 수 없음**인 경우 노드를 삭제합니다. 모든 노드 상태가 **준비 완료**이면 [Amazon SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/)에서 HyperPod에 EKS 추가 기능 설치를 다시 시도합니다.

포드의 상태를 확인하려면 [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`를 사용하여 포드의 상태를 확인합니다. 포드의 문제를 해결하거나 관리자에게 문의하여 문제를 해결합니다. 모든 포드 상태가 **실행 중**이면 [Amazon SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/)에서 HyperPod에 EKS 추가 기능 설치를 다시 시도합니다.

더 많은 문제 해결 방법은 [Amazon CloudWatch Observability 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 API 또는 콘솔을 사용하는 정책과 관련된 오류에 대한 해결 방법입니다.
+ 정책이 `CreateFailed` 또는 `CreateRollbackFailed` 상태인 경우 실패한 정책을 삭제하고 새 정책을 생성해야 합니다.
+ 정책이 `UpdateFailed` 상태인 경우 동일한 정책 ARN으로 업데이트를 다시 시도합니다.
+ 정책이 `UpdateRollbackFailed` 상태인 경우 실패한 정책을 삭제한 다음 새 정책을 생성해야 합니다.
+ 정책이 `DeleteFailed` 또는 `DeleteRollbackFailed` 상태인 경우 동일한 정책 ARN으로 삭제를 다시 시도합니다.
  + HyperPod 콘솔을 사용하여 **컴퓨팅 우선순위** 또는 클러스터 정책을 삭제하는 동안 오류가 발생한 경우 API를 사용하여 `cluster-scheduler-config`를 삭제해 보세요. 리소스의 상태를 확인하려면 컴퓨팅 할당의 세부 정보 페이지로 이동합니다.

실패에 대한 자세한 내용을 보려면 설명 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
   ```

   모든 노드가 상태 열에 `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가 표시되지 않는 경우 ClusterSchedulerConfig 정책`FailureReason`에서를 확인하여 디버깅을 계속할 실패 메시지가 있는지 확인합니다.

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` 상태가 표시되는지 확인합니다.