Google Cloud Run имеет доступ только к подмножеству метаданных на http://metadata.google.internal - PullRequest
0 голосов
/ 28 января 2020

Проблема: Google Cloud Run предоставляет только подмножество документированных метаданных

У меня есть простое приложение на основе JVM, запущенное в Google Cloud Run, которое запрашивает http://metadata.google.internal для доступных метаданных.

Только метаданные доступны по следующим путям:

В соответствии с документацией я ожидал большего, чем это, и надеялся, что смогу запросить у сервера метаданных имя службы Cloud Run и требуемые метаданные для настройки мониторинга Stackdriver для generic_node.

Один из обнаруженных мной ключей находится в заголовке server в ответе на запрос к серверу метаданных, который дает значение: Metadata Server for Serverless

Теория: Cloud Run находится в бета-версии, а Metadata Server for Serverless отделен от типичного сервера метаданных и находится в стадии разработки.

Вопрос (ы):

  1. Является ли эта теория верной?
  2. Задокументировано ли это ограничение где-нибудь?
    • Есть ли план для добавления дополнительных метаданных?
  3. Есть ли альтернатива для определения метаданных, необходимых для настройки Stackdriver?

Ответы [ 2 ]

1 голос
/ 30 января 2020

Служба Compute Metadata , на которую вы ссылаетесь, доступна только для продуктов Compute Engine (таких как GCE, GKE). Во многих конечных точках есть сведения о ВМ, метаданные / теги ВМ, сценарии запуска ВМ и т. Д. c.

Эти понятия не применимы к вычислительным средам без серверов. Поэтому я не думаю, что запрос функции здесь будет успешным.

Бессерверные продукты, такие как App Engine, Cloud Functions и Cloud Run, поддерживают минимальную версию службы метаданных, чтобы обеспечить базовую функциональность c для SDK (например, как клиентские библиотеки Google Cloud, клиенты Stackdriver или OpenTelemetry / OpenCensus или gcloud CLI). Используя эти конечные точки, собственные клиентские библиотеки Google могут автоматически получать токены авторизации, обнаруживать идентификаторы проектов и т. Д. c.

Кроме того, эти серверные продукты не работают на GCE и не имеют тех же концепций. Вот почему полный сервис метаданных для этих продуктов недоступен.

Для безсерверных сред применимы конечные точки, которые вы указали в своем вопросе.

0 голосов
/ 29 января 2020

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

Что можно сделать, это открыть в Google запрос о функции , чтобы они работали над добавлением дополнительной информации в метаданные, чтобы она отвечала вашим потребностям. Поскольку продукт находится на стадии бета-тестирования, он должен быть открыт для внесения некоторых изменений.

Надеюсь, вы найдете это полезным.

...