Как программно получить текущий идентификатор проекта GKE из одного из его кластеров? - PullRequest
2 голосов
/ 28 мая 2019

Я бы хотел получить текущий идентификатор проекта GKE из одного из его кластеров через клиент Java или сам API GCloud.

  • Я запускаю Java-контейнеры в кластере GKE определенного проекта Google Cloud
  • Я инициализирую ClusterManagerClient соответствующим ClusterManagerSettings

-> Возможно ли получить этот конкретный идентификатор проекта с этим клиентом?

(я ожидаю, что в каждом кластере GKE будет глобальный контекст, в котором мы могли бы знать текущий проект, над которым мы работаем).

Спасибо

1 Ответ

3 голосов
/ 29 мая 2019

Как отметил Джон Хэнли в своем комментарии выше, вы можете использовать метаданные экземпляра на узле в вашем кластере, чтобы определить проект, частью которого является этот узел.Самый простой способ увидеть это - использовать curl из оболочки (либо на узле, либо в контейнере).

Если вам нужно имя проекта, его можно увидеть по адресу:

curl "http://metadata.google.internal/computeMetadata/v1/project/project-id" -H "Metadata-Flavor: Google"

И если вам нужен номер проекта, его можно увидеть по адресу:

curl "http://metadata.google.internal/computeMetadata/v1/project/numeric-project-id" -H "Metadata-Flavor: Google"

Это не является частью поверхности API контейнера, поэтому ClusterManagerClient не является подходящим клиентом API для использования,Вам нужно создать клиент для извлечения метаданных экземпляра, который, как я ожидаю, может быть частью вычислительных клиентских библиотек, или вы можете просто сделать локальный HTTP-запрос, если добавите правильные заголовки (как показано выше), так как вы этого не делаетенужна любая специальная клиентская аутентификация / авторизация для доступа к локальным метаданным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...