指定engines.node版本时GCP GAE灵活环境部署失败问题咨询
GCP App Engine 灵活环境Node.js版本指定部署异常问题
我执行以下命令部署应用到GCP App Engine(GAE)灵活环境:
gcloud --project my-project-id app deploy app.yaml
当我在package.json中指定如下node版本配置时部署失败,移除该配置则部署成功,这与官方文档的说明相悖:
"engines": { "node": "16.x" }
最初收到的报错为:
ERROR: gcloud crashed (IOError): [Errno 11] Resource temporarily unavailable
该错误具有偶发性,过去24小时内仅极少次数部署成功,部署区域为asia-southeast2-a(雅加达)。
完整部署日志如下:
BUILD Starting Step #0 Step #0: Pulling image: gcr.io/gcp-runtimes/nodejs/gen-dockerfile@sha256:770f37e7042652138c7dac203fc35ef0218002515ddd9f311db1c6c54d6816aa Step #0: gcr.io/gcp-runtimes/nodejs/gen-dockerfile@sha256:770f37e7042652138c7dac203fc35ef0218002515ddd9f311db1c6c54d6816aa: Pulling from gcp-runtimes/nodejs/gen-dockerfile Step #0: Digest: sha256:770f37e7042652138c7dac203fc35ef0218002515ddd9f311db1c6c54d6816aa Step #0: Status: Downloaded newer image for gcr.io/gcp-runtimes/nodejs/gen-dockerfile@sha256:770f37e7042652138c7dac203fc35ef0218002515ddd9f311db1c6c54d6816aa Step #0: gcr.io/gcp-runtimes/nodejs/gen-dockerfile@sha256:770f37e7042652138c7dac203fc35ef0218002515ddd9f311db1c6c54d6816aa Step #0: Checking for Node.js. Finished Step #0 Starting Step #1 Step #1: Already have image (with digest): gcr.io/kaniko-project/executor@sha256:f87c11770a4d3ed33436508d206c584812cd656e6ed08eda1cff5c1ee44f5870 Step #1: INFO[0000] Removing ignored files from build context: [node_modules .dockerignore Dockerfile npm-debug.log yarn-error.log .git .hg .svn app.yaml] Step #1: INFO[0000] Downloading base image gcr.io/google-appengine/nodejs@sha256:721ce182842495a610589261688f1abc1801c915a7e24880fa15af9e9d725459 Step #1: INFO[0017] Taking snapshot of full filesystem... Step #1: INFO[0026] Using files from context: [/workspace] Step #1: INFO[0026] COPY . /app/ Step #1: INFO[0026] Taking snapshot of files... Step #1: INFO[0026] RUN /usr/local/bin/install_node '16.x' Step #1: INFO[0026] cmd: /bin/sh Step #1: INFO[0026] args: [-c /usr/local/bin/install_node '16.x'] Step #1: % Total % Received % Xferd Average Speed Time Time Time Current Step #1: Dload Upload Total Spent Left Speed 100 30.8M 100 30.8M 0 0 68.9M 0 --:--: --:--: --:--: 68.9M Step #1: % Total % Received % Xferd Average Speed Time Time Time Current Step #1: Dload Upload Total Spent Left Speed 100 4035 100 4035 0 0 35238 0 --:--: --:--: --:--: 35394 Step #1: node-v16.13.0-linux-x64.tar.gz: OK Step #1: Installed Node.js v16.13.0 Step #1: INFO[0028] Taking snapshot of full filesystem... Step #1: INFO[0030] Adding whiteout for /nodejs/lib/node_modules/npm/node_modules/npm-install-checks/CHANGELOG.md Step #1: INFO[0030] Adding whiteout for /nodejs/lib/node_modules/npm/node_modules/os-tmpdir Step #1: INFO[0030] Adding whiteout for /nodejs/lib/node_modules/npm/node_modules/npmlog/CHANGELOG.md Step #1: INFO[0030] Adding whiteout for /nodejs/lib/node_modules/npm/node_modules/lodash.uniq (...) ERROR: gcloud crashed (IOError): [Errno 11] Resource temporarily unavailable
升级gcloud-sdk后报错变为:[Errno 11] write could not complete without blocking,出现在部署命令输出长日志的过程中。
参考其他开发者给出的Python库相关问题解决方案,通过给部署命令添加--no-user-output-enabled参数可临时规避该问题,目前已反馈至GCP官方团队确认问题并修复CLI库的相关缺陷。
内容的提问来源于stack exchange,提问作者Christian Chateauvieux
相关产品推荐
相关产品推荐

