Я пытаюсь запустить google cloud python sdk из модуля k8, работающего на вычислительном движке Google. К виртуальной машине прикреплена учетная запись службы, которая предоставляет ей доступ к диспетчеру секретов. Я могу получить доступ к диспетчеру секретов с хоста, однако запуск python sdk из модуля k8 жалуется на невозможность доступа к службе метаданных
>>> secret_id = 'unskript_test'
>>> имя = client.secret_path(project_id, secret_id)
>>> ответ = client.get_secret (запрос = {"имя": имя})
Traceback (последний последний вызов):
Файл "/opt/conda/lib/python3.7/site-packages/google/api_core/grpc_helpers.py", строка 67, в error_remapped_callable
вернуть callable_(*args, **kwargs)
Файл "/opt/conda/lib/python3.7/site-packages/grpc/_channel.py", строка 946, в __call__
вернуть _end_unary_response_blocking (состояние, вызов, ложь, нет)
Файл "/opt/conda/lib/python3.7/site-packages/grpc/_channel.py", строка 849, в _end_unary_response_blocking
поднять _InactiveRpcError (состояние)
grpc._channel._InactiveRpcError: <_InactiveRpcError RPC, который завершился с:
статус = Код Статуса. НЕДОСТУПЕН
details = "Не удалось получить метаданные из плагина из-за ошибки: не удалось получить http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true из службы метаданных Google Compute Engine. Метаданные Compute Engine сервер недоступен"
debug_error_string = "{"created":"@1630634901.103779641","description":"Не удалось получить метаданные из плагина из-за ошибки: не удалось получить http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default /?recursive=true из службы метаданных Google Compute Engine. Сервер метаданных Compute Engine недоступен","file":"src/core/lib/security/credentials/plugin/plugin_credentials.cc","file_line":90,"grpc_status":14}"
>
metadata.google.internal не разрешается из модуля k8
jovyan@jovyan-25ca6c8c-157d-49e5-9366-f9d57fcb7a9f:~$ wget http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
--2021-09-03 02:11:19-- http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
Разрешение metadata.google.internal (metadata.google.internal)... не удалось: имя или служба неизвестны.
wget: не удалось определить адрес хоста «metadata.google.internal»
Тем не менее, хост может решить эту проблему.
ubuntu@gcp-test-proxy:~$ wget http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
--2021-09-03 02:11:27-- http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
Разрешение metadata.google.internal (metadata.google.internal)... 169.254.169.254
Подключение к metadata.google.internal (metadata.google.internal)|169.254.169.254|:80... установлено.
HTTP-запрос отправлен, ожидается ответ... 403 Запрещено
2021-09-03 02:11:27 ОШИБКА 403: Запрещено.
Как я могу заставить модуль разрешать метаданные.google.internal?