Я устанавливаю пакет администратора развертывания в .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
...