ошибка разрешения: учетная запись службы не имеет доступа к платформе cloud-ml - PullRequest
2 голосов
/ 30 апреля 2019

Я использую конвейер Kubeflow (подход к докеру), и кластер использует конечную точку для перехода на панель мониторинга. После создания кластеров следуют инструкции, указанные в этой ссылке Развертывание Kubeflow . Все успешно создано, и кластер сгенерировал конечные точки и отлично работает.

Ссылка на конечную точку будет выглядеть примерно так https://appname.endpoints.projectname.cloud.goog.

Все рабочие нагрузки конвейера работают нормально, кроме последнего. В последней рабочей нагрузке я пытаюсь отправить задание в механизм cloud-ml. Но из логов видно, что приложение не имеет доступа к проекту. Вот полное изображение журнала.

ОШИБКА: (gcloud.ml-engine.versions.create) PERMISSION_DENIED: запрос был недостаточные области проверки подлинности.

ОШИБКА: (gcloud.ml-engine.jobs.submit.prediction) Пользователь [Clustername@project_name.iam.gserviceaccount.com] не имеет разрешения для доступа к проекту [имя_проекта] (или он может не существовать): у запроса недостаточно областей аутентификации.

Из журналов ясно, что эта учетная запись службы не имеет доступа к самому проекту. Тем не менее, я попытался предоставить доступ к службе Cloud ML этой учетной записи службы, но все равно выдает ту же ошибку.

Любые другие способы предоставления учетных данных службы Cloud ML этому приложению.

1 Ответ

1 голос
/ 21 мая 2019

Проверьте две вещи:

1) IAM GCP: если clustername-user@projectname.iam.gserviceaccount.com имеет разрешение администратора ML Engine.

2) Ваш конвейерный DSL: еслиприменяются шаги вызова механизма cloud-ml (gcp.use_gcp_secret ('user-gcp-sa')), например, https://github.com/kubeflow/pipelines/blob/ea07b33b8e7173a05138d9dbbd7e1ce20c959db3/samples/tfx/taxi-cab-classification-pipeline.py#L67

...