Nesta página você aprende como criar uma implantação. Implantação é uma instanciação de um conjunto de recursos definidos em uma configuração. Você fornece uma configuração válida na solicitação para criar a implantação. Uma implantação pode conter diversos recursos em diversos serviços do Google Cloud. Quando você cria uma implantação, o Deployment Manager cria todos os recursos descritos nas respectivas APIs do Google Cloud.
Antes de começar
- Para usar os exemplos de linha de comando deste guia, instale a ferramenta de linha de comando "gcloud".
- Para usar os exemplos de API deste guia, configure o acesso de API.
- Crie uma configuração.
Como criar uma implantação
Ao criar uma implantação, você cria um recurso de implantação que contém uma coleção de recursos. Todo recurso é definido explicitamente em uma configuração fornecida na solicitação.
gcloud
Com a Google Cloud CLI, use o comando deployments create
:
gcloud deployment-manager deployments create my-first-deployment \
--config vm.yaml
A sinalização --config
é um caminho relativo para seu arquivo de configuração YAML.
Por padrão, se sua configuração incluir recursos que já estão em seu projeto, esses recursos serão adquiridos pela implantação e poderão ser gerenciados usando a implantação. Se não quiser adquirir um recurso, você precisa usar a opção --create-policy
, como no seguinte comando gcloud beta
:
gcloud beta deployment-manager deployments create my-first-deployment \
--config vm.yaml --create-policy CREATE
Para ver informações sobre quais políticas você pode usar ao criar implantações, consulte Como definir a política para criar recursos.
Caso a implantação seja criada com êxito, você verá uma descrição da implantação:
gcloud deployment-manager deployments describe my-first-deployment
API
Na API, faça uma solicitação insert()
com a configuração fornecida in-line no corpo da solicitação:
POST https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments
{
"name": "example-config-with-templates",
"target": {
"config": {
"content": "resources:\n- name: vm-created-by-cloud-config\n type: compute.v1.instance\n properties:\n zone: us-central1-a\n machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n diskName: disk-created-by-cloud-config\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20151104\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default\n"
}
}
}
Caso importe modelos, você também precisa fornecer esses modelos como parte do corpo da solicitação. Por exemplo, a seguinte solicitação de API tem um target
que importa um modelo, denominado vm_template.jinja
:
POST https://www-www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments
{
"name": "my-example-config-with-templates-2",
"target": {
"config": {
"content": "imports:\n- path: vm_template.jinja\n\nresources:\n- name: my-vm\n type: vm_template.jinja"
},
"imports": [
{
"content": "resources:\n- name: vm-created-by-cloud-config\n type: compute.v1.instance\n properties:\n zone: us-central1-a\n machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n diskName: disk-created-by-cloud-config\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20151104\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default",
"name": "vm_template.jinja"
}
]
}
}
Como definir a política para criar recursos
Quando você cria uma implantação, se um recurso a ser criado já existir em seu projeto, ele será adquirido pela implantação.
Nesses casos, o Deployment Manager não criará um novo recurso.
Se você não quiser adquirir um recurso existente, deverá usar a política CREATE
em sua implantação.
Você pode usar as seguintes políticas para criar seus recursos:
CREATE_OR_ACQUIRE
- [Padrão] o Deployment Manager adquire recursos que existem no projeto ou cria recursos caso eles não existam. Para adquirir um recurso, o Deployment Manager verifica sua configuração para as propriedades do recurso que você está tentando criar. Se houver um recurso existente com as mesmas propriedades, o Deployment Manager adquire esse recurso como parte da implantação.As propriedades que o Deployment Manager verifica dependem do tipo de recurso que você está criando e pode incluir:
- O
name
do recurso - O
type
do recurso - O
zone
ouregion
do recurso, se aplicável
As propriedades fazem parte do URL da solicitação da API
GET
para o recurso. Para saber quais propriedades o Deployment Manager usa para adquirir um recurso, consulte a documentação da API para o métodoGET
do recurso. Por exemplo, para instâncias do Compute Engine, o URL de solicitação para o métodoinstances.get
inclui oresourceId
(name
na sua configuração),zone
eproject
.- O
CREATE
: o Deployment Manager cria recursos que não existem. Se houver dos recursos da sua configuração já existirem no projeto, o vai falhar.ACQUIRE
: o Deployment Manager adquire recursos que já existem. usando os mesmos critérios deCREATE_OR_ACQUIRE
.Use a política
ACQUIRE
se você já tiver vários recursos em seu projeto e quiser gerenciá-los juntos, como uma única implantação.Em seu modelo ou sua configuração, você precisa informar as propriedades necessárias para esses recursos como se eles estivessem sendo criados. Se algum dos recursos em sua configuração não existir no projeto, a implantação falhará.
Listagem das implantações
Confira uma lista das suas implantações no console do Google Cloud. , a API, ou a Google Cloud CLI.
Console
Acesse a página Implantações no console do Google Cloud.
gcloud
Com a CLI do Google Cloud, use o subcomando deployments list
:
gcloud deployment-manager deployments list
API
Na API, faça uma solicitação GET
vazia para a coleção Deployments:
GET https://www.googleapis.com/deploymentmanager/v2beta1/projects/myproject/global/deployments
A seguir
- Adicione marcadores à implantação.
- Atualize sua implantação.