Questo documento descrive come utilizzare i modelli esterni nel deployment ospitati su internet al posto del computer locale.
Puoi archiviare i modelli su un host esterno ovunque su internet, richiamare questi modelli dall'interno della configurazione. Modelli di hosting presenta alcuni vantaggi rispetto all'archiviazione locale dei modelli:
- Condividi facilmente i modelli con altri
- Assicurati che le configurazioni utilizzino sempre il modello più aggiornato
- Gestisci automaticamente le importazioni e gli schemi pertinenti
Deployment Manager recupera sempre la versione più recente dei modelli esterni l'ora in cui esegui nuovamente il deployment della configurazione. Se gestisci i modelli, saranno sempre aggiornati. Deployment Manager gestire l'importazione di altri modelli dipendenti se vi viene fatto riferimento nel modello esterno.
Esempio
Questa configurazione importa un modello esterno:
resources:
- name: my-frontend
type: gs://my-frontend-templates/webserver-frontend.jinja
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.
- Leggi documentazione sulla configurazione.
- Leggi la documentazione di Modelli.
Hosting di modelli esterni
Puoi ospitare modelli esterni in Google Cloud Storage o in un accessibile pubblicamente, ad esempio GitHub. Purché sia presente un URL che rimanda e hai accesso ai modelli, Deployment Manager potrà scaricarlo. Se il file utilizza uno schema per importare altri modelli, devi ospitare questi modelli nello stesso URL di base.
Su Google Cloud Storage
Per ospitare i modelli in Google Cloud Storage:
- Crea un bucket per i modelli o usare un bucket esistente.
- Caricare i modelli e relativi file modello, come gli schemi, al bucket.
- Se prevedi di utilizzare i modelli di un'altra Google Cloud Platform a cui appartengono i modelli, imposta i controlli di accesso per consentire l'accesso.
L'hosting dei modelli in Google Cloud Storage ti consente di controllare chi può accedere ai modelli perché puoi impostare le opzioni di controllo dell'accesso sul rispettivo nel bucket Cloud Storage o nel modello specifico.
Al contrario, l'hosting dei modelli su altri URL accessibili pubblicamente richiede rendere i modelli disponibili su larga scala.
Su un URL accessibile pubblicamente
In alternativa, puoi ospitare modelli esterni all'esterno di Google Cloud Storage, purché i modelli siano accessibili pubblicamente. Ad esempio, puoi ospitare i modelli su GitHub e fare riferimento ai modelli utilizzando l'URL GitHub.
Nello specifico per GitHub, devi fornire l'URL non elaborato di GitHub in modo che Deployment Manager recupera il modello anziché la pagina HTML di GitHub. Per Ad esempio, un URL non elaborato ha il seguente aspetto:
https://raw.githubusercontent.com/GoogleCloudPlatform/deploymentmanager-samples/master/examples/v2/single_vm/jinja/vm_template.jinja
Chiamata a un modello esterno
Richiama un modello esterno come faresti con un modello locale, ma fornisci il metodo l'URL completo del file modello come tipo. Ad esempio:
resources:
- name: my-salt-cluster
type: gs://v2/saltstack/salt_cluster.jinja
Per un URL GitHub:
resources:
- name: my-salt-cluster
type: https://raw.githubusercontent.com/GoogleCloudPlatform/deploymentmanager-samples/master/examples/v2/single_vm/vm_template.jinja
Se un modello esterno importa altri modelli o se è presente , puoi archiviare i file correlati nella stessa directory o nella stessa directory nella sottodirectory e includi questi altri modelli con un URL relativo. Deployment Il gestore cercherà questi altri modelli utilizzando il percorso relativo in base al URL di base.
Ad esempio, se la tua configurazione era simile alla seguente:
resources:
- name: my-salt-cluster
type: gs://v2/saltstack/salt_cluster.jinja
Un file di schema denominato salt_cluster.jinja.schema
ha importato
questi file:
imports:
- path: minion.py
- path: master.py
- path: examples/source/example.py
Deployment Manager scaricherà e importerà tutti i file necessari per modello.