8

Sto provando a creare un vm gestito per l'applicazione del mio nodo 4 utilizzando Google Custom Runtime.Errore di timeout durante il tentativo di creare Google gestito vm

ho creato il seguente Dockerfile:

FROM node:4.2.1 

ENV PORT 8080 

ADD package.json package.json 
RUN npm install 
ADD . . 

CMD [ "npm", "start" ] 

Insieme a questo app.yaml:

# [START runtime] 
runtime: custom 
vm: true 
api_version: 1 
# [END runtime] 

health_check: 
    enable_health_check: false 

skip_files: 
- ^(.*/)?#.*#$ 
- ^(.*/)?.*~$ 
- ^(.*/)?.*\.py[co]$ 
- ^(.*/)?.*/RCS/.*$ 
- ^(.*/)?\..*$ 
- ^(.*/)?.*/node_modules/.*$ 
- ^(.*/)?.*\.log$ 

schiero l'applicazione utilizzando il comando gcloud anteprima:

gcloud preview app deploy app.yaml --promote 

Sembra la finestra mobile viene creata correttamente ma alla fine del processo viene visualizzato questo messaggio:

Copying files to Google Cloud Storage... 
Synchronizing files to [gs://staging.my-project-id.appspot.com/]. 
Updating module [default]...\Deleted [https://www.googleapis.com/compute/v1/projects/my-project-id/zones/us-central1-f/instances/gae-builder-vm-20151030t142257]. 
Updating module [default]...failed. 
ERROR: (gcloud.preview.app.deploy) Error Response: [4] Timed out creating VMs. 
+0

Questo problema è stato risolto? – Kamran

+0

Non ancora, anche se sembra che il codice sia stato distribuito ma ancora errore di timeout viene restituito – idoshamun

+0

Sto anche correndo in questo problema ... – nicholasf

risposta

2

Ho la mia implementazione ora funzionante. Ho dovuto risolvere lo stesso problema prima, per un altro progetto, ma non avevo il codice a portata di mano, quindi ho dovuto risolvere nuovamente i problemi.

La distribuzione ha funzionato senza problemi fino agli ultimi passaggi, in cui l'aggiornamento del modulo sarebbe scaduto. Questo mi ha fatto pensare che fosse qualcosa a che fare con l'avvio dell'applicazione su VM e non rispondere in modo appropriato, quindi l'hook finale sarebbe scaduto.

Qui troverete molte informazioni - https://cloud.google.com/appengine/docs/managed-vms/config. Ho controllato quanto segue:

  • registrazione: assicurarsi di scrivere nel file di registro corretto. Vedere https://cloud.google.com/appengine/docs/managed-vms/custom-runtimes#logging
  • assicurare di avere un file .dockerignore e stanno saltando i file in app.yaml in modo da non sta chiedendo il processo per copiare tutto node_modules non necessari o file di log
  • spegnere la salute controllando se non lo si utilizza, o assicurati di avere i percorsi express.js corretti configurati per questo
  • verifica che le variabili di ambiente siano impostate e corrispondano a quanto può utilizzare GAE. Questo è stato il mio ultimo passaggio: GAE ti consente di eseguire il binding a una porta VM su 8080. Ho dovuto passare attraverso un flag NODE_ENV nella mia app.yaml che diceva all'app di utilizzare 8080 e non 3000.
  • Sollevare le risorse del Istanza GAE in app.yaml. Ho specificato due CPU logiche e ho realizzato la ram 2 gig.

Buona fortuna.

+2

in realtà ciò che risolve il problema per me è creare un nuovo progetto di motore di app – idoshamun

+0

"Assicurati hai installato l'ultima versione di node.js e npm. " –

+0

"disattiva il controllo dello stato se non lo stai usando, o assicurati di avere le giuste rotte express.js configurate per esso" Potresti espanderlo o aggiungere qualche riferimento? Sono curioso. – natario

Problemi correlati