Questo esempio completo descrive come creare un deployment con una macchina virtuale che utilizza un'immagine ottimizzata per i container. Per ulteriori informazioni sull'utilizzo dei container con per Compute Engine, consulta Immagini Compute Engine ottimizzate per container.
Questa procedura dettagliata descrive come:
- Creare un semplice manifest del container.
- Creare una configurazione e un modello che utilizzi un'immagine container.
- Esegui il deployment delle risorse e verifica che sia stato eseguito correttamente.
Creare un manifest del container
Per utilizzare i container, devi definire un manifest del contenitore. Il file manifest descrive come immagine container, container da avviare e comandi per all'avvio e alle porte per abilitarle.
Crea un file denominato container_manifest.yaml
con il seguente contenuto:
Questo file manifest crea un container denominato simple-echo che utilizza il metodo L'immagine container Hello Application e avvia un server echo che rimane in ascolto sulla porta 8080.
Crea un modello e una configurazione
Quindi, crea un modello che avvii un'istanza di macchina virtuale con un
un'immagine ottimizzata per i container. Crea un file denominato container_vm.[jinja|py]
con
i seguenti contenuti:
Jinja
Python
Crea il file dello schema corrispondente, che applica la struttura del modello:
Jinja
Python
Tieni presente che in questo modello sono definiti diversi parametri, tra cui:
- Le variabili di ambiente
deployment
,name
eproject
. Deployment Manager compila automaticamente queste variabili senza ulteriore intervento da parte tua. - Le proprietà
zone
,containerImage
econtainerManifest
che verranno definite nella configurazione.
Crea un file di configurazione denominato container_vm.yaml
che
ha il seguente aspetto:
Jinja
Python
Assicurati di sostituire ZONE_TO_RUN
con la zona che preferisci per il tuo
in una macchina virtuale. Nota che il file ha anche definito l'immagine container da utilizzare
il manifest del container che hai creato in precedenza.
Esegui il deployment dell'istanza di una macchina virtuale
Infine, esegui il deployment dell'istanza della macchina virtuale utilizzando Google Cloud CLI:
gcloud deployment-manager deployments create my-container-deployment \
--config container_vm.yaml
Una volta creato il deployment, puoi visualizzare i dettagli e deployment continuo. 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 l'avvio dell'istanza di container, visita la
all'indirizzo IP esterno del computer nel browser, che dovrebbe essere stampato
hello world
:
Aggiungi una regola firewall di Compute Engine per consentirti di eseguire query sul traffico tramite la porta 8080:
gcloud compute firewall-rules create allow-8080 --allow tcp:8080
Ottieni l'indirizzo IP esterno dell'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 nel browser . Ad esempio,
104.197.8.138:8080
.Se l'operazione è andata a buon fine, dovresti visualizzare un messaggio
hello world
.
(Facoltativo) Elimina il deployment
Se vuoi risparmiare sui costi e non vuoi più o non hai più bisogno del deployment, eliminalo.
gcloud deployment-manager deployments delete my-container-deployment
Passaggi successivi
Scopri di più su Deployment Manager nel Guide dell'utente complete o tramite le API.
Prova altri tutorial:
- Crea un'applicazione Logbook con bilanciamento del carico di rete.
- Crea un'applicazione Logbook con bilanciamento del carico HTTP.