我正在使用GCP(负载均衡器/后端服务/实例组)。
我要做的是在我们实际推出生产之前,使用shell脚本设置一个进程来推送canary服务器。金丝雀服务器应该占生产请求的百分比(例如1%),因此我们可以在完全推出之前发现错误。
计划是:
我可以使用以下命令来控制GCP中后端的容量
$ gcloud compute backend-services update-backend api-canary --instance-group api-canary --global --capacity-scaler 0.01 --instance-group-zone asia-east1-a
但是,我无法通过将容量设置为0.0
来真正耗尽服务$ gcloud compute backend-services update-backend api-canary --instance-group api-canary --global --capacity-scaler 0.0 --instance-group-zone asia-east1-a
ERROR: (gcloud.compute.backend-services.update-backend) Could not fetch resource:
- Invalid value for field 'resource': ''. None of the backends have a valid capacity
答案 0 :(得分:2)
按要求重新发布:
您收到错误是因为至少有一个后端服务必须具有非零容量。
创建至少一个非零容量后端,它应该可以工作。
答案 1 :(得分:0)
如果您希望消耗后端服务,请将容量缩放器设置为0。例如(如Google Cloud文档中的>): $ gcloud compute后端服务添加后端视频后端服务
--balancing-mode = UTILIZATION
--max-utilization = 0.8
--capacity-scaler = 0
--instance-group = ig-video-us
--instance-group-zone = us-central1-b
--global