本文介绍使用Serverless应用中心部署应用过程中,可能遇到的问题及解决方案。
环境运行状态异常
可以查看运行状态来定位环境失败原因,通常情况下都是权限问题或者配额不足导致。
在环境详情页面,当运行状态显示为运行失败时,单击其右侧的查看按钮查看失败详情。部署日志中显示如下错误,表明 VPC 配额超限(错误码 QuotaExceeded.Vpc):
Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_vpc.go:172: Resource alicloud_vpc CreateVpc Failed!!! [SDK alibaba-cloud-sdk-go ERROR]:
SDKError:
StatusCode: 400
Code: QuotaExceeded.Vpc
Message: code: 400, VPC quota exceeded. request id: 15C807D3-E4F4-5B8B-B5EE-6211ABE1B096
Data: {"Code":"QuotaExceeded.Vpc","HostId":"vpc-unit-share.cn-hangzhou.aliyuncs.com","Message":"VPC quota exceeded.","Recommend":"https://next.api.aliyun.com/troubleshoot?q=QuotaExceeded.Vpc&product=Vpc","RequestId":"15C807D3-E4F4-5B8B-B5EE-6211ABE1B096"}
流水线构建阶段超时
部署流水线失败时,您可以通过查看日志信息来排查具体问题。如果遇到Error:Function timed out after 600 seconds,通常是由于部署过程中下载依赖过慢导致的超时。
5662 713/2703 KB 1535/3310 KB 490/1502 KB 80/140 KB 1280/2268 KB
5663 713/2703 KB 1535/3310 KB 490/1502 KB 80/140 KB 1284/2268 KB
5664 713/2703 KB 1535/3310 KB 490/1502 KB 80/140 KB 1288/2268 KB
5665 713/2703 KB 1535/3310 KB 490/1502 KB 80/140 KB 1292/2268 KB
5666 713/2703 KB 1535/3310 KB 490/1502 KB 80/140 KB 1296/2268 KB
5667 713/2703 KB 1535/3310 KB 490/1502 KB 80/140 KB 1300/2268 KB
5668 713/2703 KB 1535/3310 KB 490/1502 KB 84/140 KB 1300/2268 KB
5669 713/2703 KB 1535/3310 KB 490/1502 KB 88/140 KB 1300/2268 KB
5670 713/2703 KB 1535/3310 KB 490/1502 KB 92/140 KB 1300/2268 KB
5671 713/2703 KB 1535/3310 KB 490/1502 KB 96/140 KB 1300/2268 KB
5672 713/2703 KB 1535/3310 KB 494/1502 KB 96/140 KB 1300/2268 KB
5673 713/2703 KB 1535/3310 KB 498/1502 KB 96/140 KB 1300/2268 KB
5674 713/2703 KB 1535/3310 KB 502/1502 KB 96/140 KB 1300/2268 KB
5675 713/2703 KB 1535/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5676 713/2703 KB 1539/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5677 713/2703 KB 1543/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5678 713/2703 KB 1547/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5679 713/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5680 717/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5681 721/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5682 725/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5683 729/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1300/2268 KB
5684 729/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1304/2268 KB
5685 729/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1308/2268 KB
5686 729/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1312/2268 KB
5687 729/2703 KB 1551/3310 KB 506/1502 KB 96/140 KB 1316/2268 KB
5688 FC Invoke End RequestId: 1675666308913-t-1675666322858-build-and-deploy-y9ct9v, Error: Function timed out after 600 seconds (maxMemoryUsage: 472.16MB)
5689
默认流水线支持中国内地和海外两个构建环境,其中Gitee、Codeup、GitLab的构建环境在华东1(杭州),GitHub的构建环境在新加坡。构建超时时间是10分钟,如果在中国内地构建环境,但是安装依赖访问海外Registry时下载速度会比较慢导致超时。此时,有两种方式可以解决超时问题。
-
安装依赖时使用中国内地源或代理,例如:
-
使用清华源安装Python依赖
pip install some-package -i https://pypi.tuna.tsinghua.edu.cn/simple -
使用淘宝源安装Node.js依赖
npm install some-package --registry https://registry.npmmirror.com -
使用七牛代理安装Golang
GOPROXY=https://goproxy.cn
-
-
方式二:
采用自定义流水线,将构建环境部署在中国香港,或者自定义构建超时时间。使用自定义流水线会产生函数调用费用,具体信息,请参见计费概述。
代码提交后未触发流水线执行
查看代码仓库的Webhook执行历史,如果遇到500错误,请加入钉钉用户群(钉钉群号:64970014484),联系函数计算工程师即时沟通处理。
例如,在 Recent Deliveries 页签中查看某次 push 事件的 Response,若状态码为 404 且 Body 返回 {"success":false,"errorMsg":"function /github1 is exist"},说明函数计算中对应函数路径已存在,需要排查函数配置冲突。
多个环境关联同一个代码分支,代码提交后只有一个环境流水线执行
多个环境关联同一个代码分支时,由于使用相同代码版本部署多个环境可能会导致不同环境的服务相互覆盖,因此应用中心只允许一个环境的流水线被执行。如果您在使用中确实需要同时触发多个环境,请加入钉钉用户群(钉钉群号:64970014484)获取函数计算技术支持。
为什么每次应用中心的应用部署之后,对应服务的配置都变更了?
部署应用时,会按照代码库里的s.yaml文件配置来更新服务和函数,因此,应用部署完成后您在控制台上修改的配置均会被覆盖。
为了避免您的服务配置被覆盖,建议在代码库的s.yaml文件中修改配置。具体操作,请参见Service字段。
为了更方便地使用,您还可以在通过控制台修改完服务和函数配置后,在函数详情页的右上角,单击导出函数,然后选择导出配置导出当前服务和函数对应的s.yaml文件。您可以以此s.yaml文件为参考,更新代码库中的s.yaml文件。
为什么我的应用不能通过域名访问了?
***.devsapp.net域名是CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,不可用于任何生产使用。社区会对该域名进行不定期拨测,并在域名下发1天后进行回收,建议您及时为应用绑定自定义域名,以获得更好的使用体验。
如果应用未绑定自定义域名,且部署的时间超过1天,应用将无法正常访问,此时需要重新部署一次应用,应用域名即可正常访问。