«Неожиданная ошибка при получении учетных данных приложения по умолчанию» из кода в контейнерах на экземплярах GCP с авторизованной учетной записью службы - PullRequest
0 голосов
/ 28 сентября 2018

Я ожидал, что контейнеры, работающие на авторизованном узле GCP с использованием учетной записи службы, будут иметь те же разрешения учетной записи службы, что и хост.Но, похоже, это не так.Моё приложение, которое выдает это исключение, является приложением узла, использующим API pubsub и KMS.

Я понимаю, что могу использовать GOOGLE_APPLICATION_CREDENTIALS и т. Д., Но я не хочу этого делать, я хочу полагаться на разрешения учетной записи службы.

Я видел это с хостом "Ubuntu 18.04 LTS минимальный" и контейнером на основе "Ubuntu 16.04".Я не думаю, что видел это когда-либо прежде, используя 18.04

1 Ответ

0 голосов
/ 28 сентября 2018

Оказывается, это предположение верно, но некоторые среды выполнения получают токен доступа, когда запрашивают сервер метаданных по адресу metadata.google.internal.Обычно это разрешается по адресу 169.254.169.254, но внутри контейнера адрес не разрешается.

Обходной путь должен был добавить этот аргумент при запуске вашего контейнера:

docker run ... --add-host=metadata.google.internal:169.254.169.254 ...
...