Использование «gcloud services vpc-peerings connect» в Deployment Manager - PullRequest
0 голосов
/ 05 июля 2019

Я устанавливаю пакет администратора развертывания в .jinja, который выполняет следующие действия: - создает сеть VPC, подсеть и частный диапазон для служб GCP; - создает пиринг между "servicenetworking.googleapis.com" и моей сетью VPC. - назначаетбаза данных Cloud SQL в частном диапазоне, назначенном службам Google в моем VPC

Второй шаг оказывается невозможным с помощью диспетчера развертывания, поскольку для этого не может быть вызвано никаких действий.На этом этапе я подтвердил, что исправить вручную - это вызвать следующую команду gcloud, а затем настроить базу данных Cloud SQL в VPC:

gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com --ranges=<my-range> --network=<my-network> --project=<my-project>

Использование следующего типа gcp в моем .jinja неДостаточно, поскольку он не позволяет отображать существующие службы gcp, но ожидает сеть источника и назначения.

- name: {{ env['deployment' ]}}-gcp-private-vpc-peering
  action: gcp-types/compute-v1:compute.networks.addPeering
  metadata:
    runtimePolicy:
    - CREATE
  properties:
    network: $(ref.{{ env['deployment']}}-network.name)
    name: {{ env['deployment' ]}}-gcp-private-vpc-peering
    autoCreateRoutes: true
    peerNetwork: servicenetworking.googleapis.com
    dependsOn:
    - $(ref.{{ env['deployment']}}-network.selfLink)

Можно ли вызвать команду gcloud из администратора развертывания или выполнить действие, которое я могупризыв к достижению сервиса пиринга.Я могу подтвердить, что Service API действительно включен в проекте.

(Обратите внимание, что целевой VPC и проект являются переменными, назначенными Google, поэтому я не могу ввести это значение в шаблон выше)


Обновление 05/07/19 Мне кажется, что я нашел вызов службы API, который мне нужно сделать, но я не совсем уверен в синтаксисе, чтобы фактически выполнить вызов для создания ссылки службы из диспетчера развертывания:

https://cloud.google.com/service-infrastructure/docs/service-networking/reference/rest/v1beta/services.connections/create

Нужно немного направления - похоже на ниже?

- name: {{ env['deployment' ]}}-gcp-private-vpc-peering
  action:  gcp-types/servicenetworking.googleapis.com:services.connections
  metadata:
    runtimePolicy:
    - CREATE
  properties:
    propertyA: valueA
    ...

1 Ответ

0 голосов
/ 08 июля 2019

Единственными необходимыми параметрами для создания пиринга являются «network» и «reservedPeeringRanges». Вот синтаксис для них обоих сеть: "проекты / {проект} / глобальные / сети / {сеть}" reservedPeeringRanges: "x.x.x.x / x" Я думаю, вы можете пропустить какую-то переменную в сети. Я протестировал его с помощью API, и он работает без проблем.

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