Ошибка доступа к хранилищу конвейеров Kubeflow внутри одного проекта GCP? - PullRequest
0 голосов
/ 16 марта 2020

После установки Kubeflow 0.7 на новый кластер GKE (через https://deploy.kubeflow.cloud) я настроил OAuth и Workload Identity на основе их соответствующих руководств.

В моем конвейере мне нужно получить доступ ведро GCS из того же проекта, и, похоже, у меня нет доступа к этой операции.

Однако у кластера есть доступ к GCR, а права на хранение загружают, монтируют Docker образы и запускают код. Он не загружается из других контейнеров при запросе из кода, даже когда сегменты находятся в том же проекте.

Код использует метод аутентификации по умолчанию:

storage_client = storage.Client(project_id)
bucket = storage_client.get_bucket(bucket)

Есть ли у кого-нибудь идеи по Как решить эту проблему и предотвратить ее появление при помощи BigQuery (доступ к которому будет получен после загрузки этих файлов)

google.api_core.exceptions.Forbidden: 403 GET https://storage.googleapis.com/storage/v1/b/$BUCKET?projection=noAcl Primary: /namespaces/$PROJECT_ID.svc.id.goog with additional claims does not have storage.buckets.get access to $BUCKET.

1 Ответ

0 голосов
/ 17 марта 2020

Хорошо, так что для тех, кто с похожими проблемами. Я забыл добавить следующий фрагмент в код step.apply(gcp.use_gcp_secret('user-gcp-sa'))

Это работает даже с kfp.components.load_component_from_file()

Выяснили это благодаря удивительным ребятам в свободном канале kubeflow!

...