Konfiguration erstellen

Der erste Schritt bei Ihrer Bereitstellung ist die Erstellung einer Konfiguration. Eine Konfiguration ist eine Liste von Ressourcen mit ihren jeweiligen Eigenschaften, die zu Ihrer Bereitstellung gehören.

Eine Konfigurationsdatei enthält den String resources und dahinter die Liste von Ressourceneinträgen mit jeweils folgenden Feldern:

  • name: Ein Name, den Sie für diese Ressource festlegen. Zum Beispiel "myfirstvm" oder "dev-vm".
  • type: Gibt den Basistyp dieser Ressource an. Zum Beispiel hätte eine virtuelle Maschine den Typ compute.v1.instance. Eine Cloud-SQL-Instanz hätte den Typ sql.v1beta1.instance und so weiter. Siehe die vollständige Liste der verfügbaren Ressourcentypen auf der Konfigurationsseite.
  • properties: Gibt die Eigenschaften der Ressource an. Die Eigenschaften, die zum Erstellen der Ressource notwendig sind, sind die gleichen Eigenschaften, die in der API der jeweiligen Ressource erforderlich sind. Wenn Sie beispielsweise eine Computer Engine-VM-Instanz über einen Compute Engine-Dienst erstellen, müssen Sie einen Maschinentyp, ein Bild, eine Netzwerkschnittstelle und eine Bootlaufwerk angeben. Diese Eigenschaften sind auch im properties-Abschnitt erforderlich, um eine VM-Instanz über den Deployment Manager zu erstellen.

Legen wir für diese Anleitung eines Konfiguration fest, durch die eine Bereitstellung mit zwei Instanzen erstellt wird.

Eine YAML-Datei erstellen

Wechseln Sie zu dem Verzeichnis, das Sie in Installation und Einrichtung erstellt haben:

cd step-by-step-dm

Mit dem Schreiben der Konfiguration beginnen

Erstellen Sie eine Datei mit Namen two-vms.yaml, beginnen Sie Ihre Konfiguration, indem Sie den String resources erklären, und fügen Sie den Typ und Namen der ersten VM-Instanz an:

resources:
- name: the-first-vm
  type: compute.v1.instance

Eigenschaften Ihrer Ressource hinzufügen

Fügen Sie Eigenschaften der VM-Instanz hinzu. Mit dieser Instanz wird der Maschinentyp "f1-micro" verwendet, ein Debian 8 Image mit einer sitzungsspezifischen externen IP-Adresse.

resources:
- name: the-first-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/f1-micro
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Zweite Ressource hinzufügen

Nehmen Sie die zweite Instanz auf, indem Sie die folgenden Zeilen am Ende der Datei einfügen. Diese Instanz unterscheidet sich leicht von der ersten virtuellen Maschine, indem der Maschinentyp "g1-small" anstelle von "f1-micro" verwendet wird.

- name: the-second-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/g1-small
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Ihre YAML-Datei sollte folgendermaßen aussehen:

# Copyright 2016 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

resources:
- name: the-first-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT
- name: the-second-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/g1-small
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Änderungen speichern

Das war's auch schon! Für eine Bereitstellung brauchen Sie nicht mehr als die einfache Konfigurationsdatei, die Sie gerade erstellt haben. Sie müssen nur die Ressourcen erklären, die in einer Datei enthalten sein sollen (in diesem Fall zwei VM-Instanzen, die unterschiedliche Maschinentypen hatten), und der Deployment Manager führt die Ressourcenerstellung intern durch.

Im nächsten Schritt verwenden wir diese Konfiguration und stellen neue Ressourcen bereit.

Weiter mit: Ressourcen bereitstellen

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Cloud Deployment Manager-Dokumentation