Além de iniciar soluções diretamente do Cloud Marketplace, você pode criar seus próprios arquivos de configuração para que os usuários lancem soluções pré-configuradas através do Deployment Manager e especificações baseadas no Terraform.
Deployment Manager e Arquivos de Configuração
Os arquivos de configuração do Deployment Manager são escritos na sintaxe YAML. A estrutura básica começa com a palavra resources, seguida pelas entidades de recurso, definidas com três campos principais:
- name: o nome do recurso.
- type: o tipo de recurso, como compute.v1.instance.
- properties: pares chave-valor que especificam os parâmetros de configuração do recurso, incluindo tipo de máquina, discos, e interfaces de rede.
Exemplo Simples de Configuração
Um exemplo básico que define uma máquina virtual chamada ace-exam-deployment-vm usa a seguinte estrutura:
1 2 3 |
resources: - type: compute.v1.instance name: ace-exam-deployment-vm |
A seguir, adicionamos propriedades como o tipo de máquina e configuração de disco:
1 2 |
properties: machineType: [MACHINE_TYPE_URL] |
Neste caso, machineType é uma URL para uma especificação de recurso API do Google, por exemplo:
1 |
www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-f/machineTypes/f1-micro |
Configuração de Discos
Os discos possuem propriedades como deviceName e type, além de indicadores Booleanos como boot e autoDelete. Aqui está um exemplo de configuração de disco:
1 2 3 4 5 |
disks: - deviceName: boot type: PERSISTENT boot: true autoDelete: true |
Configuração Completa de Exemplo
O Listing 16.1 demonstra um arquivo de configuração completo retirado da documentação do Google Deployment Manager.
Listing 16.1 – Exemplo completo de VM (fonte: GitHub)
Componentes Importantes
- zone: especifica a zona onde a VM será executada.
- networkInterfaces: define a rede e a configuração de acesso (NAT externo).
Antes de executar este modelo, substitua [MY_PROJECT]
pelo ID do seu projeto e [FAMILY_NAME]
pelo nome de uma família de imagens Debian.
Comando para Listar Imagens
Você pode listar imagens disponíveis usando o seguinte comando no gcloud:
1 |
gcloud compute images list |
Este artigo visa proporcionar uma compreensão clara de como construir e configurar infraestrutura usando o Cloud Foundation Toolkit