GCP Deployment Manger не создает одноранговые сети - PullRequest
0 голосов
/ 04 мая 2018

У меня есть шаблон deploymgr, который создает кучу сетевых ресурсов и виртуальных машин, и он работает нормально, без сообщений об ошибках, однако ни один пиринг VPC никогда не создается. Работает нормально, если я создаю пиринг через консоль или через клиент glcoud

Ошибка пиринга (без сообщения об ошибке):

# 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

Пиринговые работы:

$ 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 голосов
/ 21 июня 2018

Пиринг не может быть выполнен во время создания сети согласно справочнику API . Сначала необходимо создать сеть, а после успешного создания необходимо вызвать метод addPeering . Это объясняет, почему ваше определение YAML создало сеть, но не пиринг, и оно сработало после запуска команды gcloud, которая вызывает метод addPeering.

Существует возможность создания и выполнения пиринга для одного файла 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 выше, создать развертывание, и пиринг должен быть сделан. В этих действиях используется optionOn , чтобы убедиться, что сначала создается сеть, а при удалении развертываний одноранговые узлы будут удалены путем вызова метода removePeering , а затем сети будут удалены.

Примечание. Действия диспетчера развертывания пока не документированы, но есть несколько примеров в GoogleCloudPlatform / deploymanager-samples , таких как this и this .

0 голосов
/ 04 мая 2018

Из gcloud работает должным образом, пожалуйста, обновите ваш YAML-файл, чтобы использовать " peerings []. Network " при указании списка одноранговых сетевых ресурсов.

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