Je suis en train de mettre en place un paquet de gestionnaire de déploiement dans .jinja qui fait ce qui suit : - Créer un réseau VPC, un sous-réseau et une plage privée pour les services GCP. - Crée le peering entre 'servicenetworking.googleapis.com' et mon réseau VPC. - Affecte la base de données Cloud SQL à la plage privée attribuée aux services Google dans mon VPC.
La deuxième étape s'avère impossible avec le gestionnaire de déploiement car il n'y a aucune action qui peut être appelée pour le faire. J'ai confirmé que la solution manuelle à ce stade est d'appeler la commande gcloud suivante et ensuite de configurer la base de données Cloud SQL dans le VPC :
gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com --ranges=<my-range> --network=<my-network> --project=<my-project>
L'utilisation du gcp-type suivant dans mon .jinja n'est pas suffisante car il ne permet pas de mapper les services gcp préexistants mais attend un réseau source et un réseau de destination.
- 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)
Existe-t-il un moyen d'appeler la commande gcloud depuis le gestionnaire de déploiement, ou une action à laquelle je peux faire appel pour réaliser l'appairage des services. Je peux confirmer que l'API de service est bien activée sur le projet.
(Notez que le VPC de destination et le projet sont variables, attribués par Google ; je ne peux donc pas entrer cette valeur dans le modèle ci-dessus).
Mise à jour 05/07/19 Je pense avoir trouvé l'appel de service API dont j'ai besoin, mais je suis très incertain de la syntaxe pour effectuer l'appel afin de créer le lien de service à partir du gestionnaire de déploiement :
Besoin d'un peu d'orientation - comme ci-dessous ?
- name: {{ env['deployment' ]}}-gcp-private-vpc-peering
action: gcp-types/servicenetworking.googleapis.com:services.connections
metadata:
runtimePolicy:
- CREATE
properties:
propertyA: valueA
...