In questa pagina viene descritto come creare un deployment. Un deployment è e creazione di un'istanza di un insieme di risorse definite configurazione. Devi fornire un indirizzo valido configurazione nella richiesta per creare il deployment. Un deployment può contenere un numero di risorse in una serie di servizi Google Cloud. Quando crei un deployment, Deployment Manager crea tutte le risorse descritte nelle rispettive API di Google Cloud.
Prima di iniziare
- Se vuoi utilizzare gli esempi a riga di comando presenti in questa guida, installa lo strumento a riga di comando "gcloud".
- Se vuoi utilizzare gli esempi di API in questa guida, configura l'accesso API.
- Crea una configurazione.
Creazione di un deployment
Quando crei un deployment, crei una risorsa di deployment che contiene una raccolta di risorse. Ogni risorsa è definita esplicitamente in una configurazione fornita nella richiesta.
gcloud
Con Google Cloud CLI, utilizza il comando deployments create
:
gcloud deployment-manager deployments create my-first-deployment \
--config vm.yaml
Il flag --config
è un percorso relativo al file di configurazione YAML.
Per impostazione predefinita, se la configurazione include risorse già presenti nel progetto, queste vengono acquisite dal deployment e possono essere gestite utilizzandolo. Se non vuoi acquisire una risorsa,
devi utilizzare l'opzione --create-policy
, come nei seguenti gcloud beta
:
gcloud beta deployment-manager deployments create my-first-deployment \
--config vm.yaml --create-policy CREATE
Per informazioni sui criteri che puoi utilizzare durante la creazione dei deployment, consulta Impostare i criteri per la creazione delle risorse.
Se il deployment è stato creato correttamente, puoi ottenere una descrizione del deployment:
gcloud deployment-manager deployments describe my-first-deployment
API
Nell'API, crea una insert()
con la configurazione fornita in linea, nel corpo della richiesta:
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"
}
}
}
Se importi modelli, devi fornire anche questi modelli come parte del corpo della richiesta. Ad esempio, la seguente richiesta API
ha un target
che importa un modello, denominato 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"
}
]
}
}
Impostazione del criterio per la creazione delle risorse
Quando crei un nuovo deployment, se una risorsa che vuoi creare esiste già nel progetto, viene acquisita dal deployment.
In questi casi, Deployment Manager non crea una nuova risorsa.
Se non vuoi acquisire una risorsa esistente, devi utilizzare il criterio CREATE
per il tuo deployment.
Puoi utilizzare i seguenti criteri per creare le risorse:
CREATE_OR_ACQUIRE
- [Predefinito] Deployment Manager acquisisce le risorse esistenti nel progetto o le crea se non esistono. Per acquisire una risorsa, Deployment Manager controlla la tua configurazione per le proprietà della risorsa che stai tentando di creare. Se esiste già una risorsa con le stesse proprietà, Deployment Manager la acquisisce nell'ambito del deployment.Le proprietà controllate da Deployment Manager dipendono dal tipo di risorsa che stai creando e possono includere:
name
della risorsa- Il
type
della risorsa - Il
zone
oregion
della risorsa, se applicabile
Le proprietà fanno parte dell'URL della richiesta API
GET
per la risorsa. Per vedere le proprietà utilizzate da Deployment Manager per acquisire una risorsa, consulta la documentazione dell'API per il metodoGET
della risorsa. Ad esempio: per le istanze Compute Engine, l'URL della richiesta Metodoinstances.get
includeresourceId
(name
nella tua configurazione),zone
eproject
.CREATE
- Deployment Manager crea risorse che non esistono. Se alcune delle risorse nella configurazione esistono già nel progetto, il deployment non va a buon fine.ACQUIRE
: Deployment Manager acquisisce le risorse esistenti utilizzando gli stessi criteri diCREATE_OR_ACQUIRE
.Utilizza il criterio
ACQUIRE
se hai già una serie di risorse nel tuo e vuoi gestirli tutti insieme come un unico deployment.Nel modello o nella configurazione, devi fornire gli elementi di queste risorse, come se le creassi. Se una delle risorse nella configurazione non esiste nel progetto, il deployment non va a buon fine.
Elenco dei deployment
Visualizza un elenco dei tuoi deployment nella console Google Cloud, nell'API o in Google Cloud CLI.
Console
Vai alla pagina Deployment nella console Google Cloud.
gcloud
Con Google Cloud CLI, utilizza il sottocomando deployments list
:
gcloud deployment-manager deployments list
API
Nell'API, invia una richiesta GET
vuota alla raccolta Deployment:
GET https://www.googleapis.com/deploymentmanager/v2beta1/projects/myproject/global/deployments
Passaggi successivi
- Aggiungi etichette al deployment.
- Aggiorna il deployment.