Questo esempio completo descrive come creare un deployment con una macchina virtuale che utilizza un'immagine ottimizzata in base al container. Per ulteriori informazioni sull'utilizzo dei container con Compute Engine, consulta Immagini Compute Engine ottimizzate per i container.
Questa procedura dettagliata descrive come:
- Creare un semplice manifest del container.
- Crea una configurazione e un modello che utilizzano un'immagine container.
- Esegui il deployment delle tue risorse e verifica che il deployment sia andato a buon fine.
Crea un manifest del container
Per utilizzare i container, devi definire un manifest container. Il file manifest descrive le proprietà come l'immagine container, i container da avviare, i comandi da eseguire all'avvio e le porte da abilitare.
Crea un file denominato container_manifest.yaml
con il seguente contenuto:
Questo manifest crea un container denominato Simple-echo che utilizza l'immagine del container Hello Application e avvia un server echo che rimane in ascolto sulla porta 8080.
Creare un modello e una configurazione
In seguito, crea un modello che avvia un'istanza di macchina virtuale con un'immagine ottimizzata per container. Crea un file denominato container_vm.[jinja|py]
con il seguente contenuto:
Jinja
Python
Crea il file di schema corrispondente, che applica la struttura del modello:
Jinja
Python
Nota che in questo modello sono definiti diversi parametri, tra cui:
- Le variabili di ambiente
deployment
,name
eproject
. Deployment Manager compila automaticamente queste variabili senza che l'utente debba fare altro. - Le proprietà
zone
,containerImage
econtainerManifest
, che verranno definite nella configurazione.
Crea un file di configurazione denominato container_vm.yaml
che abbia il seguente aspetto:
Jinja
Python
Assicurati di sostituire ZONE_TO_RUN
con la zona desiderata per la tua macchina virtuale. Nota che il file ha anche definito l'immagine container da utilizzare e
il manifest del container che hai creato in precedenza.
Esegui il deployment dell'istanza della macchina virtuale
Infine, esegui il deployment dell'istanza di macchina virtuale utilizzando l'interfaccia a riga di comando di Google Cloud:
gcloud deployment-manager deployments create my-container-deployment \
--config container_vm.yaml
Una volta creato il deployment, puoi visualizzarne i dettagli. Ad esempio:
$ gcloud deployment-manager deployments describe my-container-deployment
creationTimestamp: '2015-04-02T12:24:31.645-07:00'
fingerprint: ''
id: '8602410885927938432'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-container-deployment/manifests/manifest-1428002671645
name: my-container-deployment
state: DEPLOYED
resources:
NAME TYPE ID UPDATE_STATE ERRORS
my-container-deployment-my-container-vm compute.v1.instance 3775082612632070557 COMPLETED -
Verifica che l'istanza sia in esecuzione
Per verificare che l'istanza di container sia stata avviata, visita l'indirizzo IP esterno della macchina virtuale nel tuo browser, che dovrebbe stampare hello world
:
Aggiungi una regola firewall di Compute Engine per consentirti di eseguire la query sul traffico sulla macchina virtuale attraverso la porta 8080:
gcloud compute firewall-rules create allow-8080 --allow tcp:8080
Ottieni l'indirizzo IP esterno della tua istanza:
$ gcloud compute instances describe my-container-deployment-my-container-vm ... name: my-container-vm-my-container-deployment networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat natIP: 104.197.8.138 type: ONE_TO_ONE_NAT name: nic0 network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default networkIP: 10.240.97.220 scheduling: automaticRestart: true onHostMaintenance: MIGRATE selfLink: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-container-deployment-my-container-vm status: RUNNING tags: fingerprint: 42WmSpB8rSM= zone: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a ...
In questo caso, l'IP esterno è
104.197.8.138
.In una finestra del browser, inserisci l'IP esterno e la porta 8080 nella barra del browser. Ad esempio:
104.197.8.138:8080
.In caso di esito positivo, dovresti visualizzare un messaggio
hello world
.
(Facoltativo) Elimina il deployment
Se vuoi risparmiare sui costi e non vuoi o non hai più bisogno del deployment, eliminalo.
gcloud deployment-manager deployments delete my-container-deployment
Passaggi successivi
Scopri di più su Deployment Manager nelle Guide per l'utente complete o tramite l'API.
Prova altri tutorial:
- Crea un'applicazione di log con bilanciamento del carico di rete.
- Crea un'applicazione di log con bilanciamento del carico HTTP.