问题
I am trying to deploy to Google AppEngine. (More precisely: Managed VM.)
Earlier, I tried doing this from Windows, with Docker built in the cloud, and failed (see StackOverflow question); so now I tried from Linux, with Docker built locally.
This also fails, but for a different reason. It fails consistently from various Linux dev machines. It succeeds when we run the same command from a Linux VM in the Google Cloud.
What can I do to deploy this?
gcloud preview app deploy /shared/yaml-war/app.yaml --version=joshua20160317a --project=mytest-test1
Linux console output
gcloud preview app deploy /shared/yaml-war/app.yaml --version=joshua20160316a --project=mytest-test1WARNING: The `gcloud preview app` surface is rapidly improving. Look out for
changing flags and new commands before the transition out of the `preview`
component. These changes will be documented in the Cloud SDK release notes
<https://dl.google.com/dl/cloudsdk/release/RELEASE_NOTES> and via deprecation notices for changing commands.
If you would like to avoid changing behavior, please pin to a fixed version of
the Google Cloud SDK as described under the "Alternative Methods" section of the
Cloud SDK web site: <https://cloud.google.com/sdk/#alternative>.
You are about to deploy the following modules:
- mytest-test1/default (from [/shared/yaml-war/app.yaml])
Deployed URL: [https://joshua20160316a-dot-mytest-test1.appspot.com]
(add --promote if you also want to make this module available from
[https://mytest-test1.appspot.com])
Do you want to continue (Y/n)? Y
Beginning deployment...
Verifying that Managed VMs are enabled and ready.
If this is your first deployment, this may take a while...done.
Provisioning remote build service.
Copying certificates for secure access. You may be prompted to create an SSH keypair.
Warning: Permanently added '104.197.56.233' (ECDSA) to the list of known hosts.
Building and pushing image for module [default]
----------------------------- DOCKER BUILD OUTPUT ------------------------------
^[Beginning teardown of remote build environment (this may take a few seconds).
ERROR: gcloud crashed (SSLError): The write operation timed out
If you would like to report this issue, please run the following command:
gcloud feedback
Deleted [https://www.googleapis.com/compute/v1/projects/mytest-test1/zones/us-central1-f/instances/gae-builder-vm-joshua20160316a].
The relevant part of the local log file (which doesn't say much more than the terminal).
2016-03-16 17:01:05,369 INFO root Building docker image mytest-test1.default.joshua20160316a from /shared/yaml-war/Dockerfile:
2016-03-16 17:01:05,369 INFO ___FILE_ONLY___ ----------------------------- DOCKER BUILD OUTPUT ------------------------------
2016-03-16 17:02:24,730 DEBUG docker.docker.api.build Looking for auth config
2016-03-16 17:02:24,730 DEBUG docker.docker.api.build Sending auth config (u'https://bucket.gcr.io', u'https://appengine.gcr.io', u'https://eu.gcr.io', u'https://gcr.io', u'https://us.gcr.io', u'https://asia.gcr.io', u'https://b.gcr.io')
2016-03-16 17:25:07,109 INFO root Tearing down remote build vm.
2016-03-16 17:25:07,110 INFO ___FILE_ONLY___ Beginning teardown of remote build environment (this may take a few seconds).
2016-03-16 17:25:07,110 DEBUG root The write operation timed out
Traceback (most recent call last):
File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 609, in Execute
result = args.cmd_func(cli=self, args=args)
File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 1228, in Run
resources = command_instance.Run(args)
File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/surface/preview/app/deploy.py", line 256, in Run
remote_build)
File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 177, in BuildAndPushDockerImages
info.file, docker_client, image_name)
File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 248, in BuildAndPushDockerImage
image.Build(docker_client)
File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/docker_image.py", line 98, in Build
nocache=self._nocache, rm=self._rm, pull=False)
File "/home/joshua/google-cloud-sdk/./lib/third_party/docker/docker/api/build.py", line 97, in build
timeout=timeout,
File "/home/joshua/google-cloud-sdk/./lib/third_party/docker/docker/client.py", line 107, in _post
return self.post(url, **self._set_request_timeout(kwargs))
File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/sessions.py", line 507, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/sessions.py", line 464, in request
resp = self.send(prep, **send_kwargs)
File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/adapters.py", line 431, in send
raise SSLError(e, request=request)
SSLError: The write operation timed out
2016-03-16 17:25:07,114 ERROR root gcloud crashed (SSLError): The write operation timed out
2016-03-16 17:25:07,131 INFO ___FILE_ONLY___
回答1:
Answering as I can't comment-
I've had similar timeout / errors on deployment using gcloud, and it was always fixed for me by upgrading the gcloud tool itself, or at times the SDK. Are you running the most up to date version of gcloud?
回答2:
Your build is failing with this line:
ERROR: gcloud crashed (SSLError): The write operation timed out
That is probably the HTTP request from gcloud to your (local) docker daemon. The docker client (ie, gcloud) is sending the docker build context (a tarball of the directory where docker build is invoked) to the docker daemon. It's strange to see a write timeout for that. Is your project excessively large (eg GiB+)? Have you tried running a vanilla docker build
on the same directory?
You might try --verbosity debug
to get additional debug info. Actually, I think this would just print out what you have found in the logfile (thanks for pasting the logfile).
来源:https://stackoverflow.com/questions/36054793/failure-deploying-appengine-version-because-of-timeout