部署選項和資源模型

本文說明 Cloud Run 提供的各種部署選項,以及可用的 Cloud Run 資源。

部署方案

Cloud Run 提供多種部署選項。 部署完成後,所有選項都會在 Cloud Run 全代管且高度可擴充的基礎架構上,以沙箱容器執行個體的形式執行。

可部署的容器映像檔

您可以將任何符合 Cloud Run「容器執行階段合約」的容器映像檔,部署至 Cloud Run 服務工作

Cloud Run 服務

服務是 Cloud Run 的主要資源之一。 各項服務位於特定Cloud de Confiance 區域。為提供備援和容錯移轉功能,Cloud Run 會自動將服務複製到區域內的多個可用區。特定 Cloud de Confiance 專案可在不同區域執行多項服務。

每項服務都會公開一個不重複的端點。根據預設,Cloud Run 會自動調整資源配置來處理傳入要求。如有需要,您也可以將縮放行為變更為手動縮放。您可以從容器、存放區或原始碼部署服務。

下圖顯示服務的 Cloud Run 資源模型:

Cloud Run 服務與修訂版本

此圖顯示一個 Cloud de Confiance 專案,其中包含三項 Cloud Run 服務:Service A、Service B 和 Service C,都各有幾個修訂版本:

  • Service A 收到多項要求,因此 Cloud Run 啟動了多個執行個體來處理負載。每個執行個體只會執行一個容器 (應用程式的容器)。

  • 服務 B 沒有任何要求,因此處於閒置狀態,Cloud Run 也未執行任何執行個體。

  • 服務 C 有要求,且已建立多個執行個體來處理負載。在本例中,每個執行個體都會執行一組多個容器。在每個集合中,只有 Ingress 容器會收到要求,但其他容器會協助完成要求。

Cloud Run 服務修訂版本

每次部署服務都會建立一個修訂版本。修訂版本由一或多個容器映像檔和設定組成,例如環境變數、記憶體上限或要求並行值。

修訂版本建立後就無法修改。舉例來說,當您將容器映像檔部署到新服務時,Cloud Run 會建立第一個修訂版本。如果您將不同的容器映像檔部署到同一個服務,Cloud Run 就會建立第二個修訂版本。如果您之後設定環境變數,Cloud Run 就會建立第三個修訂版本。一段時間後,Cloud Run 最終會移除未使用的舊版修訂版本。

Cloud Run 會自動盡快將要求轉送到最新且健康狀態良好的服務修訂版本。

Cloud Run 服務執行個體

Cloud Run 會根據處理要求所需的執行個體數目,自動調度接收要求的每個服務修訂版本。請注意,執行個體可同時接收多個要求。您可以使用要求並行設定,設定可同時傳送至修訂版本每個執行個體的要求數目上限。

Cloud Run 工作

每個工作都位於特定 Cloud de Confiance by S3NS 區域,並包含一或多個工作任務,這些任務會執行一或多個容器,直到完成為止。工作工作各自獨立,可在指定工作執行中平行執行。

Cloud Run 工作執行作業

工作執行時,系統會建立工作執行作業,並啟動所有工作任務。工作執行中的所有工作都必須順利完成,工作執行才會成功。您可以為工作設定 逾時,並在工作失敗時指定 retries 次數。

如果任何工作超過重試次數上限,Cloud Run 會將該工作標示為失敗,並將該項工作標示為失敗。根據預設,工作會平行執行,最多 100 項,但如果任何支援資源 (例如資料庫) 有這類需求,您可以指定較低的上限。

Cloud Run 工作任務

每次執行工作時,都會平行執行多項工作,每項工作都會執行一個例項。Cloud Run 會根據工作的 maxRetries 設定,自動嘗試重新執行任何失敗的工作。