最近的一个云运行项目以前部署的内存限制为128MB (--memory 128M
),但今天失败了,错误如下:
ERROR:(gcloud.run.deploy)指定的内存值无效。为1.0CPU、内存必须在128Mi到4Gi之间
将配置更改为--memory 128Mi
解决了这个问题,但由于一个兆字节大于一个兆字节,这对我来说似乎是一个改变,尽管没有太多关于文档或配额页面的最低限制的指示。无论如何,作为信息,以防有人能确认…
可能是Kubernetes的更新…我过去可以使用gcloud run deploy
而不指定cpu,内存等。
现在如果我不指定这些设置,我会得到:
ERROR: (gcloud.run.deploy) spec.template.spec.containers[0].resources.limits。cpu:指定的cpu值无效。对于指定的值,maxScale不能超过10。
必须设置--max-instances=10
才能工作
迟到了,但我在错误地更改区域后遇到了这个问题。因为很明显:
实际的最大限制取决于Cloud Run服务的区域及其CPU和内存配置。
(来源:https://cloud.google.com/run/docs/configuring/max-instances限制)
2022年8月最小内存配置文档更新后,您可以看到文档中提到的更改:
最小内存设置取决于您是否首先使用第一代或第二代执行环境:
- 128 MiB for第一代
- 512 MiB for second generation
您也可以将答案状态引用为:
size的格式是一个固定或浮点数,后跟一个单位:G、M、K,对应千兆、兆、千字节;或者用2的幂表示:Gi, Mi, Ki分别对应于gibibyte、mebibyte或kibibyte
TLDR;
仔细检查GCP Cloud Build清单是否强制某些资源配置。
分解首先,我花了几个月的时间没有查看那些部署。与此同时,GCP改变了一些关于资源的规则。1的CPU与实例的最大数量相关。
我确实重新部署在云运行手动与有限的最大实例,但与云构建,它失败了:
Deployment failed
ERROR: (gcloud.run.deploy) spec.template.spec.containers.resources.limits.cpu: Invalid value specified for cpu. For the specified value, maxScale may not exceed 5.
Consider running your workload in a region with greater capacity, decreasing your requested cpu-per-instance, or requesting an increase in quota for this region if you are seeing sustained usage near this limit, see https://cloud.google.com/run/quotas. Your project may gain access to further scaling by adding billing information to your account.
我碰巧在云运行部署的云构建步骤中有--max-instances=29
。删除它