我已经阅读了文档,其中说gcloud app versions migrate
操作可以将流量迁移到另一个版本,但不能。错误描述似乎说了一些信息,但对我没有帮助。在 GCP 控制面板上,版本迁移工作正常。这是怎么回事?
$ gcloud app versions migrate 20190122-120543-ebbfbc9 -s q
Migrating all traffic from version [q/20190129-164614-09e8288] to
[q/20190122-120543-ebbfbc9]
Do you want to continue (Y/n)?
ERROR: (gcloud.app.versions.migrate) Issues migrating all traffic of service(s): [q]
INVALID_ARGUMENT: Invalid request.
- '@type': type.googleapis.com/google.rpc.BadRequest
fieldViolations:
- description: Warmup requests must be enabled for all versions that will gain additional
traffic as a result of the traffic migration.
field: service.split.allocations[20190122-120543-ebbfbc9]
当您使用gcloud app versions migrate
时,它将尝试进行逐步迁移。只有标准环境支持逐步流量迁移,您必须在目标版本上启用预热请求才能正常工作。
它适用于 GCP 控制台,因为如果不满足上述条件,系统会提示您立即进行迁移。
如果要使用 gcloud 将流量迁移到设置为禁用预热的 GAE 标准版本或 Flex 环境,您可以使用以下命令,该命令实际上会立即(而不是逐渐)将流量 100% 拆分到目标版本:
gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
您可以在此处找到更多信息
希望对您有所帮助! :)