the zone does not have enough resources available to fulfill the request/ the resource is not ready

时光毁灭记忆、已成空白 提交于 2019-12-28 04:16:25

问题


I failed to start my instance (through the web browser), it gave me the error:

"The zone 'projects/XXXXX/zones/europe-west4-b' does not have enough resources available to fulfill the request. Try a different zone, or try again later."

I thought it might be the quota problem at first, after checking my quota, it showed all good. Actually, I listed the available zones, europe-west4-b was available, but I still gave a shot to move the zone. Then I tried "gcloud compute instances move XXXX --zone europe-west4-b --destination-zone europe-west4-c", however, it still failed, popped up the error:

"ERROR: (gcloud.compute.instances.move) Instance cannot be moved while in state: TERMINATED"

Okay, terminated... then I tried to restart it by "gcloud compute instances reset XXX", the error showed in the way:

ERROR: (gcloud.compute.instances.reset) Could not fetch resource: - The resource 'projects/XXXXX/zones/europe-west4-b/instances/XXX' is not ready

I searched the error, some people solved this problem by deleting the disk. While I don't want to wipe the memory, how could I solve this problem?

BTW, I only have one instance, with one persistent disk attached.


回答1:


First of all our apologies that you’re experiencing this issue and great to hear that this issue is being resolved for you.

Our goal is to make sure that there are available resources in all zones. This type of issue is rare. When a situation like this occurs, or is about to occur, our team is notified immediately and the issue is investigated.

We recommend deploying and balancing your workload across multiple zones or regions to reduce the likelihood of an outage. Please review our documentation which outlines how to build resilient and scalable architectures on Google Cloud Platform. As you have noticed that trying again in the next few hours fixed your issue, as this is a transient error. It should not last long. Since our system is dynamic and always expanding, in this type of situation I would recommend you to create your instance in a different zone or try later which you have already seen in the error message.

Additionally, I'll also recommend reviewing this link that recommends distributing your instances across zones to increase availability. You can also review this other link, where you will find some best practices for designing robust systems on GCE (Google Compute Engine).




回答2:


Even I'm getting the same error. I have waited for 24 hours and tried. But still no luck. For me, it's not transient.The zone 'projects/XXXX/zones/europe-west2-c' does not have enough resources available to fulfill the request. Try a different zone, or try again later. I had to create entirely new instance to come over it.




回答3:


So I had the same issue for over 24 hours.

Tried to move my VM to another zone, but since it was in terminated state and I couldn't restart it due to not having enough resources in my region, I couldn't move it.

Okay, but then per my understanding, your persistent disk attached to your VM is another story and you can copy it without starting your VM.

So I went around this issue by:

  1. Going to my Google Cloud Platform >>> Compute Engine
  2. Went to Snapshot >>> created a snapshot of my instance (copied my VMs disk)
  3. Once snapshot was completed I clicked on my snapshot.
  4. Ended up under "snapshot details". There, on the top, just click create instance. Here you are basically creating an instance with a copy of your disk.
  5. Select your new zone, don't forget to attach GPUs, all previous setting, create new name.
  6. Click create, that's it, your image should now be running in your new zone



回答4:


I ran into this error today. For reference I am in San Jose and I could not start any of my us-west VM's. Workaround for me was to just create an image of the VM I was trying to work on, adjust the region until I found one that would create, and use that.

It is a bit of a problem though that not all regions have access to the same GPU's.




回答5:


To have a more up to date answer, today I had the same issue with the zone us-central1-a. I was getting the error message "The zone 'projects//zones/us-central1-a' does not have enough resources available to fulfill the request. '(resource type:compute)'.". Fortunatelly the error was overcome by just waiting 5 minutes and trying again.




回答6:


As others have noted, this occurs when a GCP zone is oversubscribed, and its generally temporary. There is something that you can do to defend against it happening to you in the future though.

What it almost certainly won't resolve the error while the zone has insufficient resources, you can prevent this error in the future by Reserving Zonal Resources in advance -- effectively guaranteeing that the resources will be available for you when you need them.

Of course, as you are asking GCP to hold computing resources for your future use, you are billed for the instance reservation as if it was a fully running instance (but there isn't an additional charge while your instance is actually running). They also qualify for sustained use and committed use discounts like any VM instance.

There's a lot of configurability in what you can reserve, but the minimal gcloud command to reserve a single instance might look something like this:

gcloud compute reservations create my-reservation --machine-type=n1-standard-1 --zone=us-central1-a --vm-count=1

And to delete it when you are done:

gcloud compute reservations delete my-reservation

You can also do this through the console, on the 'Compute Engine > Commited use discounts > Reservations' tab.




回答7:


The error "ZONE_RESOURCE_POOL_EXHAUSTED" usually means that there are one or more resources in Compute Engine's backend that have been fully allocated or that, for some reason, have temporarily become unavailable for allocation. The best way for you to minimize encountering this error in the future is for you to spread out your instances through multiple zones instead of having them all on europe-west4-b. That way, if one of the zones is suffering from a lack of available resources, you'll have other zones in which to try to allocate those resources you want. https://cloud.google.com/compute/quotas#quotas_and_resource_availability




回答8:


Happened to me over the weekend when I wanted to swap the K80 to a new P100 instance.

My setup:

  • 'GPUS_ALL_REGIONS' quota is set to 1.
  • A single GPU (K80) instance on europe-west1 (zone: europe-west1-b)

Steps that produced the error:

  1. Deleted the K80 instance.
  2. After deleting I had a total of 0 instances running.
  3. Each attempt to create a new instance in the same region produced the error message.

Any instance created on other regions with the same zone identifier ('b', from europe-west1-b) produced this error as well.


How to resolve this issue:

Create a GPU instance on a different region and a different zone identifier ('a', 'c', 'd', ...). That's it.



来源:https://stackoverflow.com/questions/52684656/the-zone-does-not-have-enough-resources-available-to-fulfill-the-request-the-re

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!