View a markdown version of this page

Amazon SageMaker HyperPod 관찰성 추가 기능 문제 해결 - Amazon SageMaker AI

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

Amazon SageMaker HyperPod 관찰성 추가 기능 문제 해결

다음 지침을 사용하여 Amazon SageMaker HyperPod(SageMaker HyperPod) 관찰성 추가 기능과 관련된 일반적인 문제를 해결합니다.

Amazon Managed Grafana에서 누락된 지표 문제 해결

Amazon Managed Grafana 대시보드에 지표가 표시되지 않는 경우 다음 단계를 수행하여 문제를 식별하고 해결합니다.

Amazon Managed Service for Prometheus와 Amazon Managed Grafana의 연결 확인

  1. Amazon Managed Grafana 콘솔에 로그인합니다.

  2. 왼쪽 창에서 모든 작업 영역을 선택합니다.

  3. 작업 영역 테이블에서 작업 영역을 선택합니다.

  4. 작업 영역의 세부 정보 페이지에서 데이터 소스 탭을 선택합니다.

  5. Amazon Managed Service for Prometheus 데이터 소스가 존재하는지 확인합니다.

  6. 연결 설정을 확인합니다.

    • 엔드포인트 URL이 올바른지 확인합니다.

    • IAM 인증이 올바르게 구성되었는지 확인합니다.

    • 연결 테스트를 선택합니다. 상태가 데이터 소스가 작동 중인지 확인합니다.

Amazon EKS 추가 기능 상태 확인

  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 클러스터를 선택합니다.

  3. 추가 기능 탭을 선택합니다.

  4. SageMaker HyperPod 관찰성 추가 기능이 나열되고 상태가 활성인지 확인합니다.

  5. 상태가 활성이 아닌 경우 추가 기능 설치 실패 문제 해결 섹션을 참조하세요.

Pod Identity 연결 확인

  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 클러스터를 선택합니다.

  3. 클러스터 세부 정보 페이지에서 액세스 탭을 선택합니다.

  4. Pod Identity 연결 테이블에서 다음 속성 값이 있는 연결을 선택합니다.

    • 네임스페이스: hyperpod-observability

    • 서비스 계정: hyperpod-observability-operator-otel-collector

    • 추가 기능: amazon-sagemaker-hyperpod-observability

  5. 이 연결에 연결된 IAM 역할에 다음 권한이 있는지 확인합니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "PrometheusAccess", "Effect": "Allow", "Action": "aps:RemoteWrite", "Resource": "arn:aws:aps:us-east-1:111122223333:workspace/workspace-ID" }, { "Sid": "CloudwatchLogsAccess", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents", "logs:GetLogRecord", "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/Clusters/*", "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/Clusters/*:log-stream:*" ] } ] }
  6. 이 연결에 연결된 IAM 역할에 다음과 같은 신뢰 정책이 있는지 확인합니다. 소스 ARN과 소스 계정이 올바른지 확인합니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowEksAuthToAssumeRoleForPodIdentity", "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:eks:us-east-1:111122223333:cluster/cluster-name", "aws:SourceAccount": "111122223333" } } } ] }

Amazon Managed Service for Prometheus 스로틀링 확인

  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/servicequotas/ Service Quotas 콘솔을 엽니다.

  2. 관리형 할당량 상자에서 Amazon Managed Service for Prometheus를 검색하여 선택합니다.

  3. 작업 영역당 활성 시리즈 할당량을 선택합니다.

  4. 리소스 수준 할당량 탭에서 Amazon Managed Service for Prometheus 작업 영역을 선택합니다.

  5. 사용률이 현재 할당량보다 적은지 확인합니다.

  6. 할당량 한도에 도달한 경우 왼쪽에 있는 라디오 버튼을 선택하여 작업 영역을 선택한 다음 리소스 수준에서 증가 요청을 선택합니다.

KV 캐싱 및 지능형 라우팅이 활성화되었는지 확인

KVCache Metrics 대시보드가 누락된 경우 기능이 활성화되지 않았거나 포트가에 언급되지 않은 것입니다modelMetrics. 활성화 방법에 대한 자세한 내용은의 1단계와 3단계를 참조하세요성능 향상을 위한 KV 캐싱 및 지능형 라우팅 구성.

Intelligent Router Metrics 대시보드가 누락된 경우 기능을 활성화하여 표시되도록 합니다. 활성화 방법에 대한 자세한 내용은 섹션을 참조하세요성능 향상을 위한 KV 캐싱 및 지능형 라우팅 구성.

추가 기능 설치 실패 문제 해결

관찰성 추가 기능을 설치하지 못하는 경우 다음 단계에 따라 문제를 진단하고 해결합니다.

상태 프로브 상태 확인

  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 클러스터를 선택합니다.

  3. 추가 기능 탭을 선택합니다.

  4. 실패한 추가 기능을 선택합니다.

  5. 상태 문제 섹션을 검토합니다.

  6. 상태 문제가 자격 증명 또는 Pod Identity와 관련된 경우 Pod Identity 연결 확인 섹션을 참조하세요. 또한 Pod Identity 에이전트 추가 기능이 클러스터에서 실행 중인지 확인합니다.

  7. 관리자 로그에 오류가 있는지 확인합니다. 지침은 관리자 로그 검토 섹션을 참조하세요.

  8. 문제 세부 정보는 AWS Support에 문의하세요.

관리자 로그 검토

  1. 추가 기능 관리자 포드를 가져옵니다.

    kubectl logs -n hyperpod-observability -l control-plane=hyperpod-observability-controller-manager
  2. 긴급한 문제는 지원에 문의하세요.

모든 관찰성 포드 검토

SageMaker HyperPod 관찰성 추가 기능이 생성하는 모든 포드는 hyperpod-observability 네임스페이스에 있습니다. 이러한 포드의 상태를 가져오려면 다음 명령을 실행하세요.

kubectl get pods -n hyperpod-observability

상태가 pending 또는 crashloopbackoff인 포드를 찾습니다. 다음 명령을 실행하여 보류 중이거나 실패한 포드의 로그를 가져옵니다.

kubectl logs -n hyperpod-observability pod-name

로그에서 오류를 찾을 수 없는 경우 다음 명령을 실행하여 포드를 설명하고 오류를 찾습니다.

kubectl describe -n hyperpod-observability pod pod-name

컨텍스트를 더 가져오려면 다음 두 명령을 실행하여 이러한 포드의 배포 및 대몬 세트를 설명합니다.

kubectl describe -n hyperpod-observability deployment deployment-name
kubectl describe -n hyperpod-observability daemonset daemonset-name

보류 중 상태로 멈춘 포드 문제 해결

pending 상태에서 멈춘 포드가 있는 경우 노드가 모든 포드에 맞을 만큼 충분히 큰지 확인합니다. 확인하려면 다음 단계를 수행하세요.

  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 클러스터를 선택합니다.

  3. 클러스터의 컴퓨팅 탭을 선택합니다.

  4. 인스턴스 유형이 가장 작은 노드를 선택합니다.

  5. 용량 할당 섹션에서 사용 가능한 포드를 찾습니다.

  6. 사용 가능한 포드가 없는 경우 더 큰 인스턴스 유형이 필요합니다.

긴급한 문제는 AWS Support에 문의하세요.

제한된 인스턴스 그룹의 관찰성 문제 해결

다음 지침을 사용하여 제한된 인스턴스 그룹이 있는 클러스터와 관련된 문제를 해결합니다.

제한된 노드에서 시작되지 않는 관찰성 포드

제한된 노드에서 관찰성 포드가 시작되지 않는 경우 포드 상태 및 이벤트를 확인합니다.

kubectl get pods -n hyperpod-observability -o wide kubectl describe pod pod-name -n hyperpod-observability

일반적인 사용 사례는 다음과 같습니다.

  • 이미지 가져오기 실패: 관찰성 컨테이너 이미지가 아직 제한된 노드에 허용 목록에 없는 경우 포드 이벤트에 이미지 가져오기 오류가 표시될 수 있습니다. 관찰성 추가 기능의 최신 버전을 실행 중인지 확인합니다. 업그레이드 후에도 문제가 지속되면에 문의하십시오 지원.

  • 테인트 허용 오차: 포드 사양에 제한된 노드에 필요한 허용 오차가 포함되어 있는지 확인합니다. 버전부터 시작하는 추가 기능은 RIG 지원이 활성화된 경우이 허용 오차를 v1.0.5-eksbuild.1 자동으로 추가합니다. 이전 버전을 사용하는 경우 최신 버전으로 업그레이드하세요.

제한된 노드의 포드에 대한 로그 보기

kubectl logs 명령은 제한된 노드에서 실행되는 포드에는 작동하지 않습니다. 이는 로그 스트리밍에 필요한 통신 경로를 제한된 노드에서 사용할 수 없기 때문에 예상되는 제한 사항입니다.

제한된 노드의 로그를 보려면 CloudWatch Logs를 직접 쿼리하는 Amazon Managed Grafana의 클러스터 로그 대시보드를 사용합니다. 인스턴스 ID, 로그 스트림, 로그 수준 및 자유 텍스트 검색을 기준으로 필터링하여 관련 로그 항목을 찾을 수 있습니다.

표준 노드와 제한된 노드가 모두 있는 클러스터의 DNS 확인 실패

하이브리드 클러스터(표준 인스턴스 그룹과 제한된 인스턴스 그룹이 모두 있는 클러스터)에서는 Amazon Managed Service for Prometheus 또는 CloudWatch와 같은 AWS 서비스 엔드포인트에 도달하려고 할 때 표준 노드의 포드에 DNS 확인 제한 시간이 발생할 수 있습니다.

원인: kube-dns 서비스에는 표준 CoreDNS 포드와 RIG CoreDNS 포드의 엔드포인트가 있습니다. 네트워크 격리로 인해 표준 노드 포드가 RIG CoreDNS 엔드포인트에 도달할 수 없습니다. 가 표준 노드 포드에서 RIG CoreDNS 엔드포인트로 DNS 요청을 kube-proxy 로드 밸런싱하면 요청 시간이 초과됩니다.

해결 방법: 포드가 로컬 노드internalTrafficPolicy: Local의 CoreDNS에만 도달하도록 kube-dns 서비스에 설정합니다.

kubectl patch svc kube-dns -n kube-system -p '{"spec":{"internalTrafficPolicy":"Local"}}'

이 패치를 적용한 후 영향을 받는 관찰성 포드를 다시 시작합니다.

kubectl delete pods -n hyperpod-observability -l app.kubernetes.io/name=hyperpod-node-collector

제한된 노드의 지표가 Amazon Managed Service for Prometheus에 도달하지 않음

제한된 노드의 지표가 Amazon Managed Service for Prometheus 워크스페이스에 표시되지 않는 경우:

  1. 실행 역할 권한을 확인합니다. 제한된 인스턴스 그룹의 실행 역할에 Prometheus 워크스페이스에 대한 aps:RemoteWrite 권한이 있는지 확인합니다. 자세한 내용은 제한된 인스턴스 그룹에 대한 추가 사전 조건 단원을 참조하십시오.

  2. 노드 수집기 포드 상태를 확인합니다. 다음 명령을 실행하고 노드 수집기 포드가 제한된 노드에서 실행 중인지 확인합니다.

    kubectl get pods -n hyperpod-observability | grep node-collector
  3. 중앙 수집기 배포를 확인합니다. 노드가 제한된 클러스터에서 추가 기능은 네트워크 경계당 하나의 중앙 수집기를 배포합니다. 각 경계에 대해 중앙 수집기가 존재하는지 확인합니다.

    kubectl get deployments -n hyperpod-observability | grep central-collector
  4. 포드 이벤트에 오류가 있는지 확인합니다. 수집기 포드kubectl describe에서를 사용하여 오류 이벤트를 찾습니다.

    kubectl describe pod collector-pod-name -n hyperpod-observability

위의 내용을 확인한 후에도 문제가 지속되면에 문의하십시오 지원.

제한된 인스턴스 그룹 노드에는 포드 자격 증명 확인이 적용되지 않습니다.

Pod Identity 연결 확인 문제 해결 단계는 표준 노드에만 적용됩니다. 제한된 노드에서 추가 기능은 Amazon EKS Pod Identity 대신 클러스터 인스턴스 그룹 실행 역할을 AWS 인증에 사용합니다. 제한된 노드에서 지표가 누락된 경우 포드 자격 증명 연결 대신 실행 역할 권한을 확인합니다.

제한된 노드에서 Fluent Bit가 실행되지 않음

이는 예상된 동작입니다. Fluent Bit는 의도적으로 제한된 노드에 배포되지 않습니다. 제한된 노드의 로그는 관찰성 추가 기능과 독립적으로 SageMaker HyperPod 플랫폼을 통해 CloudWatch에 게시됩니다. Amazon Managed Grafana의 클러스터 로그 대시보드를 사용하여 이러한 로그를 봅니다.