ARM 워크로드 문제 해결


이 페이지에서는 Google Kubernetes Engine(GKE) Autopilot 또는 표준 클러스터에 배포된 ARM 워크로드의 문제를 해결하는 방법을 보여줍니다.

ARM 노드의 포드가 비정상 종료됨

다음 문제는 ARM 노드에 포드를 배포할 때 컨테이너 이미지가 ARM 아키텍처용으로 빌드되지 않은 경우에 발생합니다.

문제를 식별하려면 다음을 수행합니다.

  1. 포드 상태를 가져옵니다.

    kubectl get pods
    
  2. 비정상 종료되는 포드의 로그를 가져옵니다.

    kubectl logs POD_NAME
    

    POD_NAME을 비정상 종료 포드의 이름으로 바꿉니다.

    포드 로그의 오류 메시지는 다음과 비슷합니다.

    exec ./hello-app: exec format error
    

이 문제를 해결하려면 컨테이너 이미지에서 Arm 아키텍처가 지원되는지 확인합니다. 멀티 아키텍처 이미지를 빌드하는 것이 좋습니다.

포드가 수직 확장을 트리거하지 않음

적용 대상: Autopilot

지원되지 않는 GKE 버전 또는 지원되지 않는Google Cloud 리전에 ARM 워크로드를 배포하려고 하면 Autopilot 클러스터에서 다음 문제가 발생합니다.

문제를 식별하려면 클러스터 이벤트 로그를 가져옵니다.

kubectl get events -w

출력은 다음과 비슷합니다.

117s        Normal    NotTriggerScaleUp   pod/hello-app2-78fc858558-pg4hz   pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 node(s) didn't match Pod's node affinity/selector

이 문제를 해결하려면 Autopilot 클러스터가 GKE 버전 1.24.1-gke.1400 이상을 실행하고Google Cloud 리전에서 ARM 노드를 지원하는지 확인합니다.

포드가 대기중 상태로 멈춰 있음

적용 대상: Autopilot

다음 문제는 ARM 아키텍처에 Autopilot 포드를 배포하려고 하지만 Google Cloud 프로젝트의 할당량이 초과된 경우 발생합니다.

문제를 식별하려면 클러스터의 이벤트 로그를 가져옵니다.

kubectl get events -w

출력은 다음과 비슷합니다.

29m         Warning   FailedScaleUp       pod/hello-app-7b86c88cb8-8vt2k   Node scale up in zones asia-southeast1-b associated with this pod failed: GCE quota exceeded. Pod is at risk of not being scheduled.

이 이벤트는 포드를 배포하는 즉시 로그에 나타나지 않을 수 있습니다.

이 문제를 해결하려면 할당량 조정을 요청하세요.

다음 단계

  • 문서에서 문제의 해결 방법을 찾을 수 없는 경우 지원 받기에서 다음 주제에 관한 조언을 포함한 추가 도움을 받으세요.