在Firebase Hosting部署Next.js 13时遇CPU配额错误,求解决方案
解决Next.js 13部署Firebase Hosting时Cloud Run CPU与缩放限制错误
问题概述
部署Next.js 13到Firebase Hosting时,触发Cloud Run服务创建失败,错误提示CPU配置导致最大缩放实例数不能超过30,已启用计费功能。
解决方案
1. 降低单实例CPU配置
Firebase默认的Cloud Run CPU配置可能较高,导致区域配额限制了最大缩放数。可以在firebase.json中明确指定更低的CPU资源:
修改firebase.json的frameworksBackend字段,添加resources配置:
{ "hosting": { "source": ".", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "frameworksBackend": { "region": "us-central1", "resources": { "cpu": 0.5, // 配置为0.5核(500m),可根据需求调整 "memory": "512Mi" } } } }
降低CPU配额后,区域允许的最大缩放实例数会相应提升。
2. 限制最大缩放实例数
如果不需要高并发缩放,可以直接将maxScale设置为30以内的值:
{ "hosting": { "source": ".", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "frameworksBackend": { "region": "us-central1", "maxScale": 20 // 设置为30以内的数值 } } }
3. 更换部署区域
部分区域(如us-central1)可能资源紧张,更换到其他容量更充足的区域(如us-east1、europe-west1):
修改firebase.json中的region字段:
{ "hosting": { "source": ".", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "frameworksBackend": { "region": "us-east1" // 更换为其他区域 } } }
4. 申请Cloud Run配额提升
如果业务确实需要更高的CPU和缩放能力,可在Google Cloud控制台中申请对应区域的Cloud Run CPU配额提升:
- 进入Cloud Console的配额管理页面
- 找到Cloud Run服务的“每个区域的CPU配额”项
- 选择目标区域,提交配额提升申请
修改后重新部署
完成配置修改后,重新执行firebase deploy即可。
内容的提问来源于stack exchange,提问作者Rajendra A Verma
相关产品推荐
相关产品推荐

