GCP部署管理器未创建网络对等

时间:2018-05-03 23:43:21

标签: google-cloud-platform google-deployment-manager

我有一个deploymgr模板,可以创建一堆网络资产和虚拟机,运行正常,没有报告错误,但是没有创建任何VPC对等。如果我通过控制台或通过glcoud

在cli上创建对等,它可以正常工作

对等失败(没有错误消息):

# Create the required routes to talk to prod project
- name: mytest-network
  type: compute.v1.network
  properties:
    name: mytest
    autoCreateSubnetworks: false
    peerings:
    - name: mytest-to-prod
      network: projects/my-prod-project/global/networks/default
      autoCreateRoutes: true

Peering Works:

$ gcloud compute networks peerings create mytest-to-prod --project=myproject --network=default --peer-network=projects/my-prod-project/global/networks/default --auto-create-routes

2 个答案:

答案 0 :(得分:1)

根据the API reference,无法在网络创建时进行对等。 首先,需要创建网络,一旦成功创建网络,就需要调用the addPeering方法。 这解释了为什么您的YAML定义创建网络但不创建对等网络,并且为什么在运行调用addPeering方法的gcloud命令之后它可以工作。

可以通过使用Deployment Manager操作在一个YAML文件上创建并建立对等关系:

resources:
- name: mytest-network1
  type: compute.v1.network
  properties:
    name: mytest1
    autoCreateSubnetworks: false

- name: mytest-network2
  type: compute.v1.network
  properties:
    name: mytest2
    autoCreateSubnetworks: false

- name: addPeering2-1
  action: gcp-types/compute-v1:compute.networks.addPeering
  metadata:
    runtimePolicy:
    - CREATE
  properties:
    network: mytest-network2
    name: vpc-2-1
    autoCreateRoutes: true
    peerNetwork: $(ref.mytest-network1.selfLink)
  metadata:
    dependsOn:
    - mytest-network1
    - mytest-network2

- name: addPeering1-2
  action: gcp-types/compute-v1:compute.networks.addPeering
  metadata:
    runtimePolicy:
    - CREATE
  properties:
    network: mytest-network1
    name: vpc-1-2
    autoCreateRoutes: true
    peerNetwork: $(ref.mytest-network2.selfLink)
  metadata:
    dependsOn:
    - mytest-network1
    - mytest-network2

您可以复制粘贴上面的YAML,创建部署,并完成对等。这些操作使用dependsOn option来确保首先创建网络,并且在删除部署时,将通过调用removePeering method删除对等体,然后删除网络。

注意:Deployment Manager操作尚未记录,但GoogleCloudPlatform/deploymentmanager-samples存储库中有几个示例,例如thisthis

答案 1 :(得分:0)

从gcloud按预期工作,请在指定对等网络资源列表时更新您的YAML文件以使用“peerings[].network”。