Informazioni sulle configurazioni

Una configurazione definisce la struttura del deployment. Devi specificare una configurazione per creare un deployment.

In questo passaggio, accederai a una configurazione che crea un deployment con due istanze di macchine virtuali (VM) Compute Engine. Un'istanza VM è uno dei vari tipi di risorse di cui puoi eseguire il deployment con Deployment Manager.

In questo passaggio, esaminerai una configurazione per un deployment con due istanze VM.

Apri il file YAML di configurazione

Passa alla directory creata in Installazione e configurazione:

cd deploymentmanager-samples/examples/v2/step_by_step_guide/step2_create_a_configuration

Poi apri two-vms.yaml:

nano two-vms.yaml   # use your preferred text editor

Nella sezione resources, tieni presente che sono presenti due risorse: the-first-vm e the-second-vm. Ogni risorsa ha un campo name, type e properties:

  • name: un nome definito per la risorsa.

  • type: specifica il tipo di risorsa che stai creando. Ad esempio, una VM è compute.v1.instance. Analogamente, un'istanza
    Cloud SQL ha il tipo sql.v1beta4.instance.

  • properties: specifica le proprietà della risorsa. Le proprietà necessarie per creare la risorsa sono le stesse richieste dall'API della risorsa. Ad esempio, quando crei un'istanza VM di Compute Engine, devi fornire un tipo di macchina, un'immagine, un'interfaccia di rete e una specifica del disco di avvio.

Imposta il file di configurazione

In two-vms.yaml, sostituisci MY_PROJECT con il tuo ID progetto.

# 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-11
    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-11
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Salva le modifiche.

Questo file di configurazione di base è tutto ciò di cui hai bisogno per creare il tuo primo deployment. Hai dichiarato le risorse da creare (in questo caso, due istanze VM con tipi di macchina diversi) e Deployment Manager si occupa della creazione delle risorse.

Nel passaggio successivo utilizzerai questa configurazione per eseguire il deployment di nuove risorse.