Cloud Workstations 會管理 Google Cloud 資源,例如 Compute Engine VM 和永久磁碟 (PD),讓您進一步瞭解及控管專案資源。舉例來說,您可以設定磁碟快照排程政策,針對所有工作站 PD 強制執行備份政策。同樣地,專案中的 VM 可讓您順暢存取及管理虛擬私有雲網路中的資源。
下圖說明 Cloud Workstations 的架構。
工作站叢集
工作站叢集包含並管理專案中單一雲端區域和虛擬私有雲網路內的一系列工作站。每個工作站叢集都包含兩個由Google Cloud管理的元件:控制器和閘道。
控制器:管理專案中的 VM 執行個體和其他工作站資源的生命週期。
控制器會使用 Compute Engine API 管理資源的生命週期,並利用 Private Service Connect 將流量路由至工作站的 VM。
閘道:接收來自用戶端的流量,這些流量會傳送至特定工作站,並將流量轉送至適當的 VM 執行個體。每個工作站叢集都有專屬網域名稱,且每個工作站都可以透過工作站叢集網域的子網域存取,例如
$WORKSTATION_ID.$CLUSTER_ID.cloudworkstations.dev
。
工作站叢集的其他功能如下:
管理員和平台團隊會建立工作站叢集,指定特定區域內的一組工作站,以及其連結的虛擬私有雲網路。
工作站叢集與 Google Kubernetes Engine (GKE) 叢集無關。
每個工作站叢集都有專屬控制器,並透過 Private Service Connect 連接至工作站所在的虛擬私有雲 (這不會影響虛擬私有雲對等互連限制)。這個控制器會在工作站資源的整個生命週期中管理這些資源,並透過公開叢集閘道,為工作站提供網路輸出和輸入功能。
每個雲端區域至少需要一個工作站叢集。
如有需要,您也可以啟用全私人閘道,這樣只有私人網路內的端點可以存取 Cloud Workstations。
虛擬私有雲網路
建立工作站叢集時,您要指定專案和虛擬私有雲網路來代管資源。Cloud Workstations 接著會在專案中佈建下列資源:
Private Service Connect:在 Cloud Workstations 控制器與您的虛擬私有雲之間建立連線,以便在專案中建立資源。
VM 執行個體:工作站啟動後,系統會在專案和 VPC 內動態建立 Compute Engine VM。使用者工作階段結束時,或在可設定的工作階段逾時後,系統會自動刪除這個 VM。
永久磁碟:連結至工作站 VM 並掛接至
/home
資料夾的永久磁碟,可讓您在工作階段結束後儲存資料和檔案。
資源生命週期
Cloud Workstations 會管理 VM、容器映像檔和永久磁碟,做為每個工作站的執行階段環境。在工作站設定中,設定這些資源的規格。
工作站啟動時,Cloud Workstations 會執行下列操作:
- 建立 VM。
- 將工作站容器映像檔拉到 VM 上。
- 工作站首次啟動時,會建立永久磁碟,做為工作站的
/home
目錄。 - 將永久磁碟連接至 VM。
- 在 VM 上啟動容器,並將永久磁碟掛接到容器中的
/home
目錄。
工作階段結束時,Cloud Workstations 會刪除 VM,但會分離並保留永久磁碟,以便在日後的工作站工作階段中使用。工作站服務會保留磁碟,直到工作站刪除為止,屆時系統也會刪除永久磁碟,除非您選擇保留磁碟。
資源集區
管理員和平台團隊可以選擇匯集 VM 和永久磁碟,並使用集區大小工作站設定選項,加快工作站啟動速度。指定後,服務會集區化指定數量的永久磁碟和 VM,並在指派工作站前,將容器映像檔預先提取至 VM。集區中未指派的 VM 和磁碟每 12 小時會自動刪除並重新建立。這樣一來,系統就不必等待建立 VM,也不必將容器映像檔提取到 VM 上,因此可加快工作站啟動速度。
啟用集區功能後,Cloud Workstations 會在啟動工作站時執行下列操作:
- 從集區中選取已預先提取容器映像檔的 VM。
- 首次啟動工作站時,系統會從集區選取持續性磁碟。
- 將永久磁碟連接至 VM。
- 在 VM 上啟動容器映像檔,並將永久磁碟掛接至容器映像檔中的
/home
目錄。 - 建立新的 VM 和永久磁碟,取代已指派的項目,藉此補充集區。
工作階段結束時,Cloud Workstations 會刪除 VM,但會分離並保留永久磁碟,以便在日後的工作站工作階段中使用。工作站服務會保留磁碟,直到工作站刪除為止,屆時系統也會刪除永久磁碟,除非您選擇保留磁碟。
容器映像檔更新
由於工作站容器映像檔會預先提取至集區 VM,因此在遠端映像檔存放區中,以相同映像檔標記更新容器映像檔後,系統不會立即採用,而是等到所有集區 VM 都已指派或刪除 (12 小時後) 才會採用。屆時,系統會建立新的 VM 來補充集區,並提取更新後的容器映像檔。
如要強制重新整理集區,立即取得容器映像檔更新,管理員可以將 pool_size
設為 0
,然後設回偏好的 pool_size
。在 Google Cloud 控制台中,停用工作站設定中的「快速啟動工作站」功能,儲存設定,將設定改回偏好數量,然後再次儲存。
或者,管理員和平台團隊可以更新工作站設定中的 container.image
欄位,強制重新整理集區,以取得新的容器映像檔標記。
使用映像串流縮短工作站啟動時間
Cloud Workstations 支援映像檔串流,可減少工作站容器映像檔的提取時間,進而縮短工作站啟動時間。
在 Cloud Workstations 中,映像檔串流通常會將容器映像檔提取時間從幾分鐘縮短至幾秒,工作站容器通常也會開始執行,不必等待整個映像檔下載完畢。
需求條件
如要在 Cloud Workstations 中使用圖片串流,必須符合下列規定:
您必須在工作站主機專案中啟用 Container File System API。
或者,您也可以執行下列
gcloud
CLI 指令,在工作站主機專案中啟用 Container File System API:gcloud services enable containerfilesystem.googleapis.com
容器映像檔必須儲存在 Artifact Registry 中。
您必須指定服務帳戶,才能在工作站設定中使用。
如果叢集位於 VPC Service Controls 範圍內,您必須新增輸出規則,允許服務帳戶存取裝載容器映像檔的專案中的 Container File System API。如果您使用預先設定的 IDE,請務必將
cloud-workstations-images
專案 (專案編號662288601415
) 新增至允許清單。
限制
在第一次提取符合資格的圖片時,您可能不會注意到圖片串流的優點。不過,在映像檔串流快取映像檔後,工作站日後提取映像檔時,就能享有映像檔串流的優勢。
並須遵守其他 GKE 映像檔串流限制。
閒置逾時
您可以設定工作站,在閒置一段時間後自動關機。每當有網路要求傳入,以及每次發出 workstations.Start
API 呼叫時,閒置逾時就會重設。此外,預先設定的 IDE 安裝在基本工作站映像檔中時,會預先安裝外掛程式,偵測與 IDE 的互動 (滑鼠點選、按鍵等),並重設閒置逾時。
如果啟動長時間執行的背景程序,並停止與工作站互動,可能會達到閒置逾時門檻。這會導致工作站關機。如果工作站需要保持運作,請在背景程序中觸發 workstation.Start
API 呼叫,避免閒置關機。舉例來說,如果您使用 Google Cloud CLI,可以執行 gcloud workstations start 指令來啟動工作站。