Primeiros passos com o Deployment Manager

É possível usar o Deployment Manager para criar um conjunto de recursos do Google Cloud e gerenciá-los como uma unidade, chamada implantação. Por exemplo, se o ambiente de desenvolvimento de sua equipe precisa de duas máquinas virtuais (VM, na sigla em inglês) e um banco de dados do BigQuery, é possível definir esses recursos em um arquivo de configuração e usar o Deployment Manager para criar, alterar ou excluir esses recursos. É possível tornar o arquivo de configuração parte do repositório de código da sua equipe, para que qualquer pessoa possa criar o mesmo ambiente com resultados consistentes.

Neste tutorial, você usará o Google Cloud Deployment Manager para criar uma instância de máquina virtual (VM). Você definirá a VM em um arquivo de configuração básico e usará esse arquivo de configuração para criar uma implantação.

Para completar este tutorial, você precisa estar familiarizado com a execução de comandos em um terminal Linux, macOS ou Windows.

Para uma versão interativa deste tutorial, abra-o no Cloud Shell, onde é possível editar a configuração de amostra e implantar os recursos sem instalar nada na sua estação de trabalho. Se quiser seguir o tutorial no seu próprio computador, pule para a próxima seção.

Guia de início rápido no Cloud Shell

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Cloud, na página do seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para o seu projeto.

  4. Ative as APIs Deployment Manager and Compute Engine.

    Ative as APIs

  5. Na sua estação de trabalho, instale a ferramenta de linha de comando gcloud.
  6. Configure a ferramenta de linha de comando gcloud para usar seu projeto. No seguinte comando, substitua [MY_PROJECT] pelo ID do projeto:
    gcloud config set project [MY_PROJECT]

Definir os recursos

Descreva os recursos em um arquivo de configuração escrito na sintaxe YAML.

  1. Copie a configuração de amostra abaixo e cole-a em um editor de texto.

    # 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.
    
    # Put all your resources under `resources:`. For each resource, you need:
    # - The type of resource. In this example, the type is a Compute VM instance.
    # - An internal name for the resource.
    # - The properties for the resource. In this example, for VM instances, you add
    #   the machine type, a boot disk, network information, and so on.
    #
    # For a list of supported resources,
    # see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types.
    resources:
    - type: compute.v1.instance
      name: quickstart-deployment-vm
      properties:
        # The properties of the resource depend on the type of resource. For a list
        # of properties, see the API reference for the resource.
        zone: us-central1-f
        # Replace [MY_PROJECT] with your project ID
        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:
            # See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
            # The format of the sourceImage URL is: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME]
            sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
        # Replace [MY_PROJECT] with your project ID
        networkInterfaces:
        - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
          # Access Config required to give the instance a public IP address
          accessConfigs:
          - name: External NAT
            type: ONE_TO_ONE_NAT
    

    Esse arquivo básico de configuração descreve uma implantação que contém uma instância de máquina virtual com as seguintes propriedades:

    • Tipo de máquina: f1-micro
    • Família de imagens: debian-9
    • Zona: us-central1-f
    • Disco permanente raiz: boot
    • Endereço IP externo atribuído aleatoriamente
  2. Substitua todas as instâncias de [MY_PROJECT] pelo ID do projeto.

  3. Salve o arquivo como vm.yaml.

Implantar os recursos

Para implantar seus recursos, use a ferramenta de linha de comando gcloud para criar uma nova implantação usando seu arquivo de configuração:

gcloud deployment-manager deployments create quickstart-deployment --config vm.yaml

Se a implantação for concluída, você receberá uma mensagem semelhante ao seguinte exemplo:

Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.
NAME                    TYPE                STATE      ERRORS
quickstart-deployment   compute.v1.instance COMPLETED  -

Agora você tem sua primeira implantação!

Verificar a nova implantação

Para verificar o status da implantação, execute o seguinte comando:

gcloud deployment-manager deployments describe quickstart-deployment

Você vê uma descrição da implantação, incluindo os horários de início e de término, os recursos criados e quaisquer avisos ou erros:

fingerprint: xmVVeTtPq-5rr8F-vWFlrg==
id: '54660732508021769'
insertTime: '2016-03-09T04:45:26.032-08:00'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-first-deployment/manifests/manifest-1457527526037
name: quickstart-deployment
operation:
  endTime: '2016-03-09T04:46:19.480-08:00'
  id: '8993923014899639305'
  kind: deploymentmanager#operation
  name: operation-1457527525951-52d9d126f4618-f1ca6e72-3404bd3b
  operationType: insert
  progress: 100
  startTime: '2016-03-09T04:45:27.275-08:00'
  status: DONE
...
resources:
NAME                     TYPE                 STATE      ERRORS
quickstart-deployment-vm  compute.v1.instance  COMPLETED  -

Revisar os recursos

Depois de criar a implantação, será possível analisar os recursos no Console do Cloud.

  1. Para ver uma lista das suas implantações, abra a página do Deployment Manager.

    Acessar o Deployment Manager

  2. Para ver os recursos na implantação, clique em quickstart-deployment. A visão geral da implantação é aberta com as informações e os recursos que fazem parte dela.

  3. Para informações sobre sua VM, clique em quickstart-deployment-vm.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

gcloud deployment-manager deployments delete quickstart-deployment

Digite y no prompt:

The following deployments will be deleted:
- quickstart-deployment

Do you want to continue (y/N)?

A implantação e os recursos que você criou são excluídos permanentemente.

A seguir