檢視次數:
設定檔適用性:等級 1
使用容器優化作業系統 (cos_containerd) 作為受管理、優化和強化的基礎作業系統,以限制主機的攻擊面。
COS 是一個針對 Compute Engine VM 優化的作業系統映像,用於執行容器。使用 COS,容器可以在 Google 雲端平台上快速、高效且安全地啟動。
使用 COS 作為節點映像提供以下好處:
  • 開箱即用的容器:COS 實例預先安裝了容器運行時和雲端初始化。使用 COS 實例,容器可以在 VM 創建的同時啟動,無需在主機上進行設置。
  • 較小的攻擊面:COS具有較小的佔用空間,減少了實例的潛在攻擊面。
  • 預設鎖定:COS 實例預設包含鎖定的防火牆和其他安全設定。
注意
注意
容器優化作業系統搭配 containerd (cos_containerd)(預設)是叢集節點映像的預設選項。

影響

如果將現有叢集的節點池修改為運行 COS,所使用的升級操作是長時間運行的,並且會封鎖叢集上的其他操作(包括刪除),直到其完成為止。
COS 節點還提供了一個選項,使用 containerd 作為主要的容器運行時,直接與 Kubernetes 集成,而不是 docker。因此,在這些節點上,Docker 無法查看或訪問由 Kubernetes 管理的容器或映像。應用程式不應直接與 Docker 互動。對於一般的疑難排解或除錯,請使用 crictl。

稽核

使用 Google 雲端主控台:
  1. 前往Kubernetes Engine 網站
  2. 從叢集列表中選擇正在測試的叢集。
  3. 在節點池部分,確保每個節點池的映像類型欄位中列出Container-Optimized OS (cos_containerd)
使用命令行:
要檢查現有叢集的節點池的節點映像類型:
gcloud container node-pools describe <node_pool_name> --cluster 
<cluster_name> --zone <compute_zone> --format json | jq '.config.imageType'
如果節點映像使用 COS_CONTAINERD,則上述命令的輸出會返回 COS_CONTAINERD

補救

使用 Google 雲端主控台:
  1. 前往Kubernetes Engine 網站
  2. 選擇不使用 COS 的 Kubernetes 叢集。
  3. 在節點池標題下,選擇需要更改的節點池。
  4. 點擊EDIT
  5. 在影像類型標題下點擊CHANGE
  6. 從彈出式選單中選擇Container-optimised OS with containerd (cos_containerd) (default)並點擊CHANGE
  7. 對所有不合規的節點池重複此操作。
使用命令列:
將現有叢集的節點池的節點映像設置為cos
gcloud container clusters upgrade <cluster_name> --image-type cos_containerd 
--zone <compute_zone> --node-pool <node_pool_name>