Как прикрепить секрет GCP к учетной записи службы Kubernetes? - PullRequest
0 голосов
/ 16 января 2020

Как я могу использовать секретный объект, созданный из файла Google cloud JSON, в служебную учетную запись? У меня minikf на ВМ и kubeflow установлены. Я пытаюсь создать контейнер, используя Jupyter блокнот в minikf кластере Kubernetes. Ноутбук имеет доступ к GCP с помощью PodDefault, но контейнер kanico, запущенный с notebook, автоматически не может получить доступ к GCP. Код в блокноте jupyter для построения контейнера выглядит следующим образом:

IMAGE_NAME="mnist_training_kf_pipeline"
TAG="latest" # "v_$(date +%Y%m%d_%H%M%S)"

GCR_IMAGE="gcr.io/{PROJECT_ID}/{IMAGE_NAME}:{TAG}".format(
    PROJECT_ID=PROJECT_ID,
    IMAGE_NAME=IMAGE_NAME,
    TAG=TAG
)

builder = kfp.containers._container_builder.ContainerBuilder(
    gcs_staging=GCS_BUCKET + "/kfp_container_build_staging")

image_name = kfp.containers.build_image_from_working_dir(
    image_name=GCR_IMAGE,
    working_dir='./tmp/components/mnist_training/',
    builder=builder
)

Я получаю сообщение об ошибке:

Error: error resolving source context: dialing: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
Usage:
  executor [flags]

Имя модуля, начинающееся с Kaniko, создается и дает сбой, потому что оно может ' Доступ к облачному хранилищу Google: enter image description here

Доказательством того, что ноутбук Jupyter может использовать мой секретный объект "user-gcp-sa", является то, что приведенный выше код готовит файлы на GCS: enter image description here

...