Compreender as configurações

Uma configuração define a estrutura da sua implementação. Tem de especificar uma configuração para criar uma implementação.

Neste passo, vai aceder a uma configuração que cria uma implementação com duas instâncias de máquinas virtuais (VMs) do Compute Engine. Uma instância de VM é um dos vários tipos de recursos que pode implementar com o Deployment Manager.

Neste passo, vai examinar uma configuração para uma implementação com duas instâncias de VM.

Abra o ficheiro YAML de configuração

Mude para o diretório que criou em Instalação e configuração:

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

Em seguida, abra o two-vms.yaml:

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

Na secção resources, repare que existem dois recursos: the-first-vm e the-second-vm. Cada recurso tem um campo name, type e properties:

  • name: um nome que define para o recurso.

  • type: especifica o tipo de recurso que está a criar. Por exemplo, uma MV é compute.v1.instance. Da mesma forma, uma instância do Cloud SQL
    tem o tipo sql.v1beta4.instance.

  • properties: especifica as propriedades do recurso. As propriedades necessárias para criar o recurso são as mesmas propriedades necessárias pela API do recurso. Por exemplo, quando cria uma instância de VM do Compute Engine, tem de fornecer um tipo de máquina, uma imagem, uma interface de rede e uma especificação do disco de arranque.

Configure o ficheiro de configuração

Em two-vms.yaml, substitua MY_PROJECT pelo ID do seu projeto.

# 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

Guarde as alterações

Este ficheiro de configuração básico é tudo o que precisa para criar a sua primeira implementação. Declarou os recursos que quer criar (neste caso, duas instâncias de VM com diferentes tipos de máquinas) e o Deployment Manager encarrega-se de criar os recursos.

No passo seguinte, usa esta configuração para implementar novos recursos.