瞭解如何為 Knative serving 服務設定容器執行個體數量上限。在 Knative serving 中指定執行個體數量上限,可限制服務因應外來要求而擴充的程度。您可以透過這項設定控管費用,或限制與後端服務 (例如資料庫) 的連線數量。
如要進一步瞭解 Knative serving 自動調度容器執行個體的方式,請參閱「執行個體自動調度資源」。
設定及更新執行個體數量上限
變更任何設定都會建立新的修訂版本。除非您明確做出更新,改變這項設定,否則後續的修訂版本也會自動取得這個設定。
根據預設,容器執行個體數量可無限擴充。使用Google Cloud 控制台或 Google Cloud CLI 部署新服務,或更新現有服務並部署修訂版本時,可以設定執行個體數量上限:
控制台
前往 Google Cloud 控制台的 Knative Serving:
如要設定要部署的新服務,請按一下「Create Service」(建立服務)。如要設定現有服務,請按一下該服務,然後按一下「編輯及部署新的修訂版本」。
在「進階設定」下方,按一下「容器」。
在標示為「Maximum number of instances」(執行個體數量上限) 的欄位中,指定所需的容器執行個體數量上限。
按一下「下一步」繼續前往下一個部分。
在「設定這項服務的觸發方式」部分,選取要用來叫用服務的連線。
按一下「建立」,將映像檔部署到 Knative serving,然後等待部署作業完成。
指令列
如為現有服務,請執行
gcloud run services update指令搭配--max-instances參數,設定容器執行個體數量上限:gcloud run services update SERVICE --max-instances MAX-VALUE
更改項目:
- SERVICE 改為您的服務名稱。
- MAX-VALUE 改成所需的容器執行個體數量上限。指定
default可清除任何執行個體數量上限設定。
如為新服務,請執行
gcloud run deploy指令搭配--max-instances參數,設定容器執行個體數量上限:gcloud run deploy SERVICE --image=IMAGE_URL --max-instances MAX-VALUE
更改項目:
- SERVICE 改為您的服務名稱。
- IMAGE_URL,並參照容器映像檔,例如
gcr.io/cloudrun/hello。 - MAX-VALUE 改成所需的容器執行個體數量上限。指定
default可清除任何執行個體數量上限設定。
YAML
您可以使用 gcloud run services describe 指令,透過 --format=export 旗標將現有服務的設定下載至 YAML 檔案。然後修改該 YAML 檔案,並使用 gcloud run services replace 指令部署這些變更。請務必只修改指定的屬性。
將服務設定下載到本機工作區中名為
service.yaml的檔案:gcloud run services describe SERVICE --format export > service.yaml
將 SERVICE 替換為 Knative serving 服務名稱。
在您的本機檔案中,更新
autoscaling.knative.dev/maxScale:屬性:spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX-INSTANCE'
取代
- MAX-INSTANCE 填入所需的上限。
使用下列指令,以新設定取代服務:
gcloud run services replace service.yaml