使用最少數量的執行個體

瞭解如何設定最低執行個體數,為服務啟用閒置執行個體。

根據預設,Knative serving 會依據傳入要求的數量,調度執行個體。不過,如果服務需要縮短延遲時間,而您希望限制冷啟動次數,則可變更這項預設行為。僅須指定要保持運作狀態、準備好處理要求的最低容器執行個體數量即可。

以這種方式繼續執行的執行個體會產生帳單費用

修訂版本和執行個體數量下限

只有在修訂版本可定址時,才會啟動執行個體數量下限。如果符合下列任一條件,即可存取修訂版本:

  • 並接收一定比例的流量。
  • 已指派修訂版本標記。

設定及更新執行個體數量下限

變更任何設定都會建立新的修訂版本。除非您明確做出更新,變更這項設定,否則後續的修訂版本也會自動取得這個設定。

根據預設,容器執行個體會min-instances關閉,設定為 0。部署新服務或更新現有服務並部署修訂版本時,您可以使用 Google Cloud 控制台或 Google Cloud CLI 變更這項預設值:

控制台

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 如要設定部署的新服務,請按一下「建立服務」。如要設定現有服務,請按一下該服務,然後按一下「Edit & Deploy New Revision」(編輯及部署新的修訂版本)

  3. 在「進階設定」下方,按一下「容器」

  4. 在標示為「執行個體數量下限」的欄位中,指定要保持暖機狀態、準備好接收要求的容器執行個體數量。

  5. 按一下「下一步」繼續前往下一個部分。

  6. 在「設定這項服務的觸發方式」部分,選取要用來叫用服務的連線。

  7. 按一下「建立」,將映像檔部署到 Knative 服務,然後等待部署作業完成。

指令列

  • 如要為現有服務設定容器執行個體數量下限,請使用 --min-instances 參數執行 gcloud run services update 指令:

    gcloud run services update SERVICE --min-instances MIN-VALUE

    取代:

    • SERVICE 改為您的服務名稱。
    • MIN-VALUE,並指定要保持暖機狀態的容器執行個體數量,以便隨時接收要求。指定 default 即可清除所有執行個體數量下限設定。
  • 如果是新服務,請使用 gcloud run deploy 指令搭配 --min-instances 參數,設定容器執行個體數量下限:

    gcloud run deploy SERVICE --image=IMAGE_URL --min-instances MIN-VALUE

    取代:

    • SERVICE 改為您的服務名稱。
    • IMAGE_URL,並參照容器映像檔,例如 gcr.io/cloudrun/hello
    • MIN-VALUE,並將其替換為要保持暖機狀態的容器執行個體數量,以便隨時接收要求。指定 default 即可清除所有執行個體數量下限設定。

YAML

您可以使用 gcloud run services describe 指令和 --format=export 標記,將現有服務的設定下載到 YAML 檔案中。然後修改該 YAML 檔案,並使用 gcloud run services replace 指令部署這些變更。請務必只修改指定的屬性。

  1. 將服務設定下載到本機工作區中名為 service.yaml 的檔案:

    gcloud run services describe SERVICE --format export > service.yaml

    SERVICE 替換為 Knative 服務服務名稱。

  2. 在您的本機檔案中,更新 autoscaling.knative.dev/minScale: 屬性:

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/minScale: 'MIN-INSTANCE' 

    取代:

    • MIN-VALUEcode>,並指定要保持暖機狀態的容器執行個體數量,以便隨時接收要求。指定 default 即可清除所有執行個體數量下限設定。
  3. 使用下列指令,以新設定取代服務:

    gcloud run services replace service.yaml