8

बनाने का प्रयास करते समय त्रुटि आउट टाइम मैं Google कस्टम रनटाइम का उपयोग करके अपने नोड 4 एप्लिकेशन के लिए एक प्रबंधित vm बनाने की कोशिश कर रहा हूं।Google प्रबंधित vm

मैं निम्नलिखित Dockerfile बनाया:

FROM node:4.2.1 

ENV PORT 8080 

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

CMD [ "npm", "start" ] 
इस app.yaml के साथ साथ

:

gcloud preview app deploy app.yaml --promote 

यह की तरह लगता है:

# [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$ 

मैं gcloud पूर्वावलोकन आदेश का उपयोग अनुप्रयोग को तैनात डॉकर सही ढंग से बनाया जा रहा है लेकिन प्रक्रिया के अंत में मुझे यह संदेश मिलता है:

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

क्या यह समस्या हल हो गई है? – Kamran

+0

अभी तक ऐसा नहीं लगता है कि कोड तैनात किया गया था लेकिन फिर भी टाइमआउट त्रुटि – idoshamun

+0

लौटा दी गई है, मैं भी इस समस्या में भाग रहा हूं ... – nicholasf

उत्तर

2

मेरे पास अब परिनियोजन कार्यरत है। मुझे एक और परियोजना के लिए पहले एक ही समस्या का निवारण करना पड़ा, लेकिन मेरे पास कोड नहीं था, इसलिए मुझे फिर से समस्याओं का सामना करना पड़ा।

तैनाती आखिरी चरणों तक आसानी से चल रही है, जहां मॉड्यूल को अपडेट करना समय-समय पर होगा। इससे मुझे लगता है कि यह वीएम पर शुरू होने वाले एप्लिकेशन के साथ कुछ करना था और उचित प्रतिक्रिया नहीं दे रहा था, इसलिए अंतिम हुक समय समाप्त हो जाएगा।

आपको यहां बहुत सारी जानकारी मिल जाएगी - https://cloud.google.com/appengine/docs/managed-vms/config। मैंने निम्नलिखित चीजों की जांच की:

  • लॉगिंग - सुनिश्चित करें कि आप सही लॉग फ़ाइल पर लिख रहे हैं। देखें https://cloud.google.com/appengine/docs/managed-vms/custom-runtimes#logging
  • सुनिश्चित करें कि आप एक .dockerignore फ़ाइल है और app.yaml में फ़ाइलों को छोड़ दे रहे हैं ताकि आप प्रक्रिया नहीं मांग रहे हैं अनावश्यक node_modules भर में कॉपी या फ़ाइलों
  • लॉग इन करने के
  • स्वास्थ्य जाँच बंद कर देते हैं यदि आप इसे उपयोग नहीं कर रहे हैं, या सुनिश्चित करें कि आपके पास
  • के लिए कॉन्फ़िगर किए गए सही express.js रूट हैं, यह जांचें कि आपके पर्यावरण चर सेट हैं और जीएई क्या उपयोग कर सकते हैं। यह मेरा अंतिम कदम था - जीएई आपको 8080 पर वीएम पोर्ट से बांधने देगा। मुझे अपने ऐप में एक NODE_ENV ध्वज से गुजरना पड़ा था। आईएमएल ने ऐप को 8080 का उपयोग करने के लिए कहा था और 3000 नहीं।
  • संसाधनों को उठाएं App.yaml में जीएई उदाहरण। मैंने दो लॉजिकल सीपीयू निर्दिष्ट किए और राम 2 गीग बनाया।

शुभकामनाएं।

+2

वास्तव में मेरे लिए समस्या का समाधान करना एक नया ऐप इंजन प्रोजेक्ट बनाना है – idoshamun

+0

"सुनिश्चित करें आपके पास node.js और npm का नवीनतम संस्करण स्थापित है। " –

+0

"यदि आप इसका उपयोग नहीं कर रहे हैं, तो स्वास्थ्य जांच बंद करें, या सुनिश्चित करें कि आपके पास इसके लिए कॉन्फ़िगर किए गए सही express.js मार्ग हैं" क्या आप उस पर विस्तार कर सकते हैं, या कुछ संदर्भ जोड़ सकते हैं? मैं इसके बारे में उत्सुक हूं। – natario

संबंधित मुद्दे