下圖顯示 Knative serving 資源模型:
此圖顯示一個 Google Cloud 專案,其中包含兩項 Knative 服務,分別是 Service A
和 Service B
,每項服務都有數個修訂版本。
圖中的 Service A
接收許多要求,因此會啟動並執行數個容器執行個體。請注意,Service B
目前沒有接收要求,所以尚未啟動任何容器執行個體。
Knative serving 服務
服務是 Knative Serving 的主要資源。各項服務均位於特定的 GKE 叢集命名空間。
特定 Google Cloud 專案可在不同地區或 GKE 叢集中執行多項服務。
每個服務都會公開一個不重複的端點,並自動調度基礎架構資源來處理傳入的要求。
Knative serving 修訂版本
每次部署服務都會建立一個修訂版本。修訂版本由特定容器映像檔和環境設定組成,例如環境變數、記憶體上限或並行值。
修訂版本不可變更,且一旦建立就無法修改。舉例來說,當您將容器映像檔部署到新的 Knative 服務時,系統就會建立第一個修訂版本。如果您將不同的容器映像檔部署到同一個服務,系統便會建立第二個修訂版本。如果您之後設定環境變數,那系統就會建立第三個修訂版本,以此類推。
系統會自動盡快將要求轉送到最新且健康狀態良好的服務修訂版本。您可以視需要拆分流量,將流量導向不同修訂版本。
Knative serving 容器執行個體
接收要求的每個修訂版本都會根據處理這些要求所需的容器執行個體數目,自動調度資源。請注意,容器執行個體可同時接收多個要求。您可以使用並行設定設定可同時傳送至特定容器執行個體的要求數目上限。