In questa pagina viene descritto come creare una configurazione che possa essere utilizzata per creare un deployment. Per saperne di più sui deployment, consulta Creazione di un deployment.
Un file di configurazione definisce tutte le risorse Google Cloud che un deployment. Devi avere un file di configurazione per creare un deployment. Un file di configurazione deve essere scritto con sintassi YAML.
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.
- Informazioni di base su file di configurazione.
Struttura del file di configurazione
Un file di configurazione è scritto in formato YAML e ha la seguente struttura:
# imported templates, if applicable
imports:
# path relative to the configuration file
- path: path/to/template.jinja
name: my-template
- path: path/to/another/template.py
name: another-template
resources:
- name: NAME_OF_RESOURCE
type: TYPE_OF_RESOURCE
properties:
property-a: value
property-b: value
...
property-z: value
- name: NAME_OF_RESOURCE
type: TYPE_OF_RESOURCE
properties:
property-a: value
property-b: value
...
property-z: value
Ognuna delle sezioni definisce una parte diversa del deployment:
Le sezioni
imports
sono un elenco file modello che verrà utilizzato dalla configurazione. Deployment Manager in modo ricorsivo espande tutti i modelli importati per formare la configurazione finale.La sezione
resources
è un elenco delle risorse che compongono questo deployment. Una risorsa può essere:- Un tipo di base gestito da Google, ad esempio un'istanza VM di Compute Engine.
- Un modello importato
- Un tipo composto.
- Un fornitore di tipi.
Puoi anche includere altre sezioni facoltative, ad esempio
Sezioni outputs
e metadata
. La sezione outputs
ti consente di:
esporre i dati di modelli e configurazioni come output
dei modelli nello stesso deployment da utilizzare o come output
per gli utenti finali, mentre la sezione metadata
ti consente di utilizzare altre funzionalità,
impostazione di dipendenze esplicite
tra le risorse.
Come minimo, una configurazione deve sempre dichiarare resources
seguita da un elenco di risorse. Le altre sezioni sono facoltative.
Dichiarazione di un tipo di risorsa
Ogni risorsa nella configurazione deve essere specificata come tipo. I tipi possono essere un tipo di base gestito da Google, un tipo composito, un provider del tipo o un provider modello.
I tipi di base gestiti da Google sono tipi che si risolvono nelle risorse Google Cloud. Ad esempio, un'istanza Cloud SQL o un bucket Cloud Storage un tipo di base gestito da Google. Puoi dichiarare questi tipi utilizzando la seguente sintassi:
type: <api>.<api-version>.<resource-type>
Ad esempio, un'istanza Compute Engine avrebbe il seguente tipo:
type: compute.v1.instance
Per un database BigQuery, il tipo potrebbe essere:
type: bigquery.v2.dataset
Per un elenco di tutti i tipi supportati, utilizza il seguente comando:
gcloud deployment-manager types list
Per un elenco completo dei tipi di base gestiti da Google supportati, vedi Tipi di risorse supportate.
Se utilizzi un composito o digita provider, dichiara il tipo come segue:
# Composite type
resources:
- name: my-composite-type
type: [PROJECT]/composite:[TYPE_NAME]
Per un provider di tipi:
# Base type
resources:
- name: my-base-type
type: [PROJECT_ID]/[TYPE_PROVIDER_NAME]:[TYPE_NAME]
Puoi anche creare risorse utilizzando i provider di tipi gestiti da Google (beta). Per un elenco dei provider di tipi Google Cloud; consulta Tipo supportato Fornitori.
Per utilizzare i modelli,
dichiarare il modello come tipo, con il nome o il percorso del modello come valore di type
.
Ad esempio, la seguente configurazione importa un modello
my_vm_template.jinja e la fornisce come tipo:
imports:
- path: path/to/template/my_vm_template.jinja
name: my-template.jinja
resources:
- name: my-first-virtual-machine
type: my-template.jinja
Per ulteriori informazioni sui modelli, consulta Creazione di un modello di base.
Dichiarazione delle proprietà delle risorse
Dopo aver dichiarato il tipo di risorsa, devi anche assegnare alla risorsa un name
e specificare le proprietà
desiderate per la risorsa. Ad esempio,
di configurazione definisce un'istanza di macchina virtuale denominata vm-created-by-deployment-manager
e le proprietà desiderate. Deployment Manager usa queste informazioni per
un'istanza VM con queste proprietà.
Per determinare il properties
di una risorsa, utilizza la documentazione dell'API per
la risorsa:
- Visualizza il formato della richiesta nel metodo
insert
ocreate
per la risorsa. - Se l'URI della richiesta contiene la zona, aggiungi quest'ultima alle proprietà.
Per gli array, utilizza la sintassi degli elenchi YAML per elencare gli elementi dell'array. Ad esempio, se crei un'istanza Compute Engine utilizzando l'API, devi fornire un array di dischi da collegare all'istanza, nel seguente formato:
"disks": [ { "type": "PERSISTENT", "deviceName": "disk1", ... }, { "type": "PERSISTENT", "deviceName": "disk2", ... } ]
Nella configurazione di Deployment Manager, aggiungi questi dischi utilizzando la seguente sintassi:
disks: - deviceName: disk1 type: PERSISTENT ... - deviceName: disk2 type: PERSISTENT
Puoi anche fornire qualsiasi proprietà scrivibile di quella risorsa. Per determinare se è scrivibile, utilizza la documentazione di riferimento dell'API per la risorsa di testo. Ad esempio, il riferimento di Compute Engine contrassegna determinate proprietà che sono solo di output, quindi non puoi definirle nella configurazione, in quanto immutabili.
Alcune API richiedono un insieme minimo di proprietà per la creazione di una risorsa. R Disco permanente di Compute Engine, per esempio, richiede il nome del disco, l'origine dell'immagine, le dimensioni del disco e così via, quando per creare un nuovo disco. Per informazioni su una risorsa specifica, consulta Riferimento API per quella risorsa.
Definizione delle proprietà del modello
Se importi un modello da utilizzare nella configurazione, utilizzerai properties
per definire i valori di
proprietà del modello
anziché le proprietà delle risorse. In alternativa, se il modello non ha
puoi omettere del tutto la sezione properties
.
Creazione di risorse da diversi servizi Google Cloud
Infine, un file di configurazione può creare risorse da diversi database Google Cloud i servizi di machine learning. Ad esempio, il seguente file di configurazione crea risorse Compute Engine e BigQuery:
Proprietà e tipi di risorse supportati
Consulta l'elenco completo delle risorse gestite da Google supportate nella Tipi di risorse supportate documentazione.
Passaggi successivi
- Visualizzare l'anteprima della configurazione prima di impegnarti a eseguirne il deployment.
- Se la configurazione ti soddisfa, utilizzala per creare un deployment.
- Alla fine, ti consigliamo di rielaborare i file di configurazione modelli.