Диспетчер развертывания GCP: как использовать уже зарезервированный IP-адрес c - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть рабочая установка GCP-Deployment-Manager, состоящая из шаблона экземпляра .jinja и файла config.yaml.

Используя консоль Google Cloud Console, я также создал зарезервированный IP-адрес GCP. Теперь я хочу назначить этот IP-адрес вновь развернутому экземпляру во время создания развертывания .

Где мне добавить значение этого IP-адреса stati c?

  • В файле config.yaml?
  • В файле instance-template.jinja?
  • в команде gcloud deployment-manager deployments create ...?

А в каком формате?

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

Все примеры сценариев менеджера развертывания, которые Я видел ( примеры ) только , создающий новый зарезервированный IP-адрес с нуля, он на самом деле не "повторно использует" существующий, созданный ранее.

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

ОБНОВЛЕНИЕ 6 часов спустя:

Я добавил это к начало моего instance-template.jinja файла. У меня работает:

{% set STATIC_IP = "my-ip-name" %}

resources:
- name: {{ STATIC_IP }}
  type: compute.v1.address
  properties:
    region: {{ properties["region"] }}

Может быть, есть более элегантный способ сделать это, возможно, передав имя из файла config.yaml (аналогично «региону» выше)

1 Ответ

1 голос
/ 28 февраля 2020

Хорошо, так что предостережение здесь; это не проверено, просто теория.

Поскольку вы определяете свойство, которое будет принадлежать ресурсу, место для определения свойства находится в конфигурации ресурса, то есть config.yaml .

Я не совсем уверен, что именно вы развертываете, но, скажем, для хихиканья, что вы развертываете вычислительный экземпляр. Возможно, вы захотите взглянуть на этот GCP do c для ссылки на макет файла config.yaml (в качестве примеров он имеет Compute + BigQuery).

Вы можете проверить Справочник по вычислительным API для получения списка свойств, чтобы найти точное имя свойства IP-адреса. Это, вероятно, на самом деле субпредложение, мое лучшее предположение - networkInterfaces[].networkIP.

(Также взгляните на Поддерживаемые типы ресурсов GCP, сделайте c для основного списка ссылок на все доступные ресурсы, на случай, если я угадаю, а вы не развертываете экземпляр Compute.)

Я очень надеюсь, что это вам немного поможет! Перепроверьте и дайте нам знать, как все прошло!

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