이 페이지에서는 Google Kubernetes Engine(GKE) Autopilot 또는 표준 클러스터에 배포된 ARM 워크로드의 문제를 해결하는 방법을 보여줍니다.
ARM 노드의 포드가 비정상 종료됨
다음 문제는 ARM 노드에 포드를 배포할 때 컨테이너 이미지가 ARM 아키텍처용으로 빌드되지 않은 경우에 발생합니다.
문제를 식별하려면 다음을 수행합니다.
포드 상태를 가져옵니다.
kubectl get pods
비정상 종료되는 포드의 로그를 가져옵니다.
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.
이 이벤트는 포드를 배포하는 즉시 로그에 나타나지 않을 수 있습니다.
이 문제를 해결하려면 할당량 조정을 요청하세요.
다음 단계
문서에서 문제의 해결 방법을 찾을 수 없는 경우 지원 받기에서 다음 주제에 관한 조언을 포함한 추가 도움을 받으세요.
- Cloud Customer Care에 문의하여 지원 케이스를 엽니다.
- StackOverflow에서 질문하고
google-kubernetes-engine
태그를 사용하여 유사한 문제를 검색해 커뮤니티의 지원을 받습니다.#kubernetes-engine
Slack 채널에 조인하여 더 많은 커뮤니티 지원을 받을 수도 있습니다. - 공개 Issue Tracker를 사용하여 버그나 기능 요청을 엽니다.