다음 팁을 사용하여 AI Platform Pipelines 클러스터의 문제를 해결하세요.
파이프라인 실행이 실패한 이유 이해
파이프라인 실행의 각 단계에는 해당 단계의 활동을 설명하는 로그가 있습니다. 이러한 로그를 읽고 분석하여 실행이 실패한 이유를 파악합니다. 다음 지침에 따라 파이프라인 실행 로그를 확인합니다.
Google Cloud 콘솔에서 AI Platform 파이프라인을 엽니다.
Kubeflow Pipelines 클러스터에 대해 파이프라인 대시보드 열기를 클릭합니다. Kubeflow Pipelines 사용자 인터페이스가 새 탭으로 열립니다.
왼쪽 탐색 패널에서 실험을 클릭합니다. 파이프라인 실험 목록이 표시됩니다.
모든 실행을 클릭합니다. 파이프라인 실행 목록이 나타납니다.
문제를 해결하려는 파이프라인 실행 이름을 클릭합니다. 파이프라인 단계가 표시된 그래프가 열립니다.
녹색 체크표시가 있는 파이프라인 단계는 성공적으로 완료되었습니다. 빨간색 느낌표가 있는 단계는 실패했습니다.
문제를 해결하려는 파이프라인 단계를 클릭합니다. 단계 아티팩트, 입력, 출력, 볼륨, 매니페스트, 로그가 있는 섹션이 표시됩니다.
각 탭을 검토하여 입력 및 출력, 생성된 아티팩트, 로그에 기록된 활동을 이해합니다. 오류의 원인을 찾으려면 여러 단계를 조사해야 할 수 있습니다.
Kobeflow Pipelines 대시보드에 대한 액세스 금지
AI Platform Pipelines 클러스터의 Kubeflow Pipelines 대시보드에 액세스하는 동안 금지됨 메시지를 받으면 클러스터에 액세스할 수 있는 권한이 없음을 의미합니다. 이 문제는 다른 사용자가 Google Kubernetes Engine 클러스터를 만들고 AI Platform 파이프라인을 배포할 때 발생할 수 있습니다.
이 문제를 해결하려면 Google Cloud 관리자에게 다음 안내에 따라 계정에 AI Platform 파이프라인 액세스 권한을 부여하도록 요청합니다.
다음 안내에 따라 사용자 계정에 AI Platform 파이프라인 클러스터에 대한 액세스 권한을 부여합니다.
Google Cloud 콘솔에서 AI Platform 파이프라인을 엽니다.
AI Platform Pipelines 클러스터를 찾습니다. 후속 단계에서 사용하기 위해 클러스터 및 영역을 기록해 둡니다.
Cloud Shell 세션을 엽니다.
Cloud Shell이 Google Cloud 콘솔 하단의 프레임에 열립니다. Cloud Shell을 사용하여 이 프로세스의 나머지를 완료합니다.
다음 명령어를 실행하여 이 Cloud Shell 세션의 기본 Google Cloud 프로젝트를 설정합니다.
gcloud config set project PROJECT_ID
PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.
다음 명령어를 실행하여 GKE 클러스터에서 사용하는 서비스 계정을 찾습니다.
gcloud container clusters describe CLUSTER_NAME --zone ZONE \ --format="flattened(nodePools[].config.serviceAccount)"
다음을 바꿉니다.
- CLUSTER_NAME: GKE 클러스터의 이름입니다.
- ZONE: 클러스터가 생성된 영역입니다.
응답에 클러스터가
default
라는 서비스 계정을 사용하는 것이 나타날 수 있습니다. 이 값은 Compute Engine의 기본 서비스 계정을 나타냅니다. 다음 명령어를 실행하여 이 서비스 계정의 전체 이름을 찾습니다.gcloud iam service-accounts list \ --filter "compute@developer.gserviceaccount.com"
Compute Engine 기본 서비스 계정에 대해 자세히 알아보세요.
사용자 계정에 GKE 클러스터 서비스 계정의 서비스 계정 사용자 역할을 부여합니다.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME \ --member=user:USERNAME \ --role=roles/iam.serviceAccountUser
다음을 바꿉니다.
- SERVICE_ACCOUNT_NAME: 이전 단계에서 찾은 GKE 클러스터의 서비스 계정 이름입니다. 서비스 계정 이름 형식은 *@*.gserviceaccount.com과 같습니다.
- USERNAME: Google Cloud의 사용자 이름입니다.
사용자 계정에 프로젝트의 GKE 클러스터 뷰어 역할에 대한 액세스 권한을 부여합니다.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USERNAME --role roles/container.clusterViewer
다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- USERNAME: Google Cloud의 사용자 이름입니다.
파이프라인을 실행하는 동안 권한 부족
Google Cloud 리소스에 액세스하는 파이프라인을 실행하는 동안 권한 부족 오류가 발생할 수 있습니다. 예를 들면 다음과 같습니다.
Error executing an HTTP request: HTTP response code 403 with body '{ "error": { "errors": [ { "domain": "global", "reason": "insufficientPermissions", "message": "Insufficient Permission" } ], "code": 403, "message": "Insufficient Permission" } }'
파이프라인 단계에서 Google Cloud 리소스 또는 API에 액세스하려면 Google Kubernetes Engine 클러스터와 파이프라인이 다음을 수행해야 합니다.
- 클러스터에는 Google Cloud 리소스에 대한 액세스를 제공하는 Kubernetes 보안 비밀이 있어야 합니다. GKE 클러스터 구성의 안내에 따라 파이프라인에 Google Cloud 리소스에 대한 액세스 권한을 부여합니다.
- 파이프라인 단계에서는 파이프라인 정의에서 Kubernetes 보안 비밀에 대한 액세스가 필요하다고 지정해야 합니다. Google Cloud 리소스에 액세스하는 파이프라인 단계를 정의하는 방법을 알아봅니다.
'서버가 요청을 부분적으로만 처리할 수 있었습니다.'라는 경고 메시지
클러스터를 업그레이드하거나 AI Platform Pipelines를 배포할 때 다음 메시지가 표시될 수 있습니다.
Sorry, the server was only able to partially fulfill your request. Some data might not be rendered.
이 메시지가 표시되면 5분 동안 기다린 다음 페이지를 새로고침합니다.