Google Distributed Cloud 是全代管的軟硬體解決方案,可將Google Cloud 基礎架構和服務擴展至資料中心。Google Distributed Cloud 也有純軟體產品,可在自有硬體上執行。Google Distributed Cloud 軟體可安裝在 VMware 或裸機上。本指南適用於直接在裸機上執行的 Google Distributed Cloud 軟體。
Google Distributed Cloud 軟體以 Google Kubernetes Engine (GKE) 為基礎,並提供專屬 Kubernetes 套件,可擴充 GKE 以用於地端部署環境。有了 Google Distributed Cloud,您可以在地端部署環境建立、管理及升級 GKE 叢集,同時使用Google Cloud 功能,並透過 Google 的基礎架構,在叢集大規模部署及操作容器化應用程式。
為什麼要使用 Distributed Cloud 軟體 (僅限裸機)?
在現有企業基礎架構上,僅針對裸機執行 Distributed Cloud 軟體,可直接存取硬體、享有企業級安全性,並集中管理各個環境。
直接控制硬體和效能
直接在實體伺服器上部署,可讓您直接控管應用程式規模、延遲時間和效能,同時使用現有基礎架構降低成本。Google Distributed Cloud 可管理現有企業資料中心的應用程式部署和健康狀態,提高營運效率。您可以針對 GPU 和 SSD 等特殊硬體類型最佳化工作負載,並在網路邊緣執行低延遲應用程式,而不會產生管理程序負擔。
作業系統層級安全性
由於您可以直接控管節點作業系統和網路設定,因此可以自訂安全性政策,以符合法規遵循要求。叢集會透過輕量級安全連線與 Google API 通訊,在保留現有安全控管機制的同時,消除虛擬機器的複雜性。
集中管理及監控
使用 Cloud Monitoring 和 Connect 代理程式,透過Google Cloud 控制台管理、監控叢集及排解相關問題。這項集中式檢視功能可協助您維持可靠性,並在分散式資料中心調整應用程式規模。
企業級可靠性和作業
Google Distributed Cloud 包含可用於正式環境的作業功能:
- 高可用性:支援多個控制層節點,確保即使節點故障,您仍可管理環境。
- 自動化預檢:內建驗證功能,可在安裝前驗證硬體和作業系統設定。
- 整合式負載平衡:建立叢集時,系統會自動部署第 4 層和第 7 層負載平衡機制。
- 資料庫維護:自動資料重組 (
etcddefrag) 會回收儲存空間,維持etcd的健康狀態和穩定性。
運作方式
在 Google Cloud中執行的 GKE 叢集,Kubernetes 控制層和網路基礎架構由 Google 管理。對於在資料中心執行的 Google Distributed Cloud 叢集, Google Cloud 提供管理和控制層軟體,您可以在實體 Linux 伺服器下載及安裝。您可以在 Google Cloud 中管理這些地端部署叢集,以及雲端式叢集,將兩者視為統一機群的一部分。
下圖顯示安裝完成後的架構,其中包含管理員叢集和使用者叢集:
重要元件
純軟體裸機部署作業包含下列元件:
- 管理員叢集:使用 Kubernetes 資源管理 (KRM) 管理使用者叢集的生命週期。標準部署作業包含一個管理員叢集,可管理一或多個使用者叢集的生命週期。管理員叢集由一或多部實體 Linux 機器組成,這些機器會做為控制層節點。安裝作業中的每個節點機器都有自己的 IP 位址。
- 使用者叢集:執行容器化工作負載。每個使用者叢集至少包含一個控制層節點和一個 worker 節點。
- 管理員工作站:託管設定檔和管理工具的專用機器:
bmctl:建立、更新及管理叢集。kubectl:與管理員和使用者叢集互動,並管理工作負載。
- GKE On-Prem API: Google Cloud代管的 API,用於管理叢集生命週期。 Google Cloud 控制台、Google Cloud CLI 和 Terraform 等用戶端可讓您管理地端部署叢集,不必登入管理員工作站。
- Google Cloud 控制台:為 Google Cloud專案 (包括地端部署叢集) 提供網頁介面。 Google Cloud 控制台會顯示叢集的重要指標,協助您監控叢集健康狀態和機群狀態。
- 虛擬 IP 位址 (VIP):安裝期間設定的虛擬 IP。叢集管理員和開發人員會使用
kubectl,透過控制層 VIP 存取叢集控制層。應用程式使用者和開發人員會分別使用 Service 和 Ingress VIP 存取及公開工作負載。
連線至機群
使用者叢集和管理員叢集 (選用) 會註冊至機群,這是 Kubernetes 叢集的邏輯群組,可跨環境提供統一管理。機群可讓貴組織將管理單位從個別叢集提升為整個叢集群組,並協助團隊採用與 Google 類似的最佳做法。您可以在Google Cloud 控制台查看叢集,並使用機群功能大規模管理、控管及執行工作負載。
每個叢集都會透過 Connect 代理程式連線至 Google Cloud ,該代理程式會在叢集安裝期間自動部署。機群成員資格也會決定 Google Distributed Cloud 的計費方式。
定價
使用 Google Distributed Cloud 建立的地端部署叢集,會依據 vCPU 計費。如要啟用計費功能,請在 Google Cloud專案中啟用 Anthos API。
如需定價詳情和銷售聯絡資訊,請參閱「Google Kubernetes Engine 定價」。
版本
如要瞭解 Google Distributed Cloud 版本,請參閱版本支援政策。
這份說明文件涵蓋所有支援的 Google Distributed Cloud 版本。在相關情況下,Google 也會在本文件中保留舊版、不支援版本的有限資訊。說明文件會註明不同版本在需求和行為上的差異。推出新功能時,系統會記錄該功能支援的版本。
如需支援的子版本和可用修補程式清單,請參閱「版本管理」。
從 1.29 版開始,我們不再為先前的次要版本說明文件建立編號目錄。如要查看 1.16 版和更早版本的封存說明文件,請在下列網址中加入子版本號碼:
https://cloud.google.com/anthos/clusters/docs/bare-metal/VERSION/
將 VERSION 替換為 1.0 到 1.16 之間的子版本,然後將網址複製到瀏覽器的網址列。
安裝 Distributed Cloud 軟體 (僅限裸機)
使用 Google Distributed Cloud 建立的叢集會在您自己的基礎架構中執行,因此可高度設定。選取符合特定組織和用途需求的部署模型後,您可以從一系列支援的負載平衡模式、IP 定址選項、安全防護功能、連線選項等項目中進行選擇。設定叢集時,您必須在安裝前和安裝期間做出決策。這套說明文件包含指南,可協助團隊決定適合的功能和選項。為確保安裝作業符合貴組織的需求,請諮詢網路和應用程式團隊。
資料的儲存位置
如果只在裸機上執行 Distributed Cloud 軟體,叢集、應用程式和業務資料會保留在資料中心。根據預設,Google Distributed Cloud 會傳送 Google Cloud叢集相關資訊,例如設定、健康狀態和用量,但不會傳送應用程式資料。
保留在資料中心的資料
下列資料會保留在資料中心:
- 容器、Pod、PersistentVolume、本機儲存空間後端,以及應用程式處理的資料。
- 控制層 (
kube-apiserver、kube-scheduler和kube-controller-manager) 和etcd資料庫,用於儲存所有 Kubernetes 物件。 - 憑證授權單位 (CA) 的私密金鑰,包括叢集 CA、
etcdCA 和前端 Proxy CA。管理員叢集的使用者叢集命名空間會儲存使用者叢集 CA。 - 應用程式密鑰、OAuth 權杖、SSH 私密金鑰、Container Registry 憑證和服務帳戶金鑰檔案,都會儲存在
etcd或管理員工作站中。不會傳送至 GKE On-Prem API,且預設診斷快照不含叢集憑證。 - 叢集設定檔會儲存在管理員工作站。如果叢集已註冊 GKE On-Prem API,系統會傳送部分設定。詳情請參閱「傳送至 Google Cloud的資料」。
- 只有在控制層節點上關閉 Cloud 稽核記錄時,稽核記錄才會寫入磁碟。
- 如果您設定了服務帳戶來上傳診斷快照,檔案會上傳至 Cloud Storage。您可以選擇是否要與 Cloud Customer Care 共用快照。
傳送至 Google Cloud的資料
下表列出傳送的資料、使用和儲存方式,以及是否可以關閉:
| 資料 | 傳送資料 | 使用與儲存 | 預設 |
|---|---|---|---|
| 連線和機群註冊 ( gkehub.googleapis.com、gkeconnect.googleapis.com) |
|
透過Google Cloud 控制台、連結閘道和機群,使用 Connect 代理程式管理叢集。 | 必要 |
| 叢集設定和狀態 ( gkeonprem.googleapis.com) |
|
可讓您透過 Google Cloud 控制台、Google Cloud CLI 或 Terraform 管理叢集。由 GKE On-Prem API 儲存在 gkeOnPremAPI.location 中設定的區域,預設為 clusterOperations.location。 |
在 1.16 以上版本中,如果 Google Cloud 專案已啟用 GKE On-Prem API,則為開啟。如要關閉,請將 gkeOnPremAPI.enabled 設為 false。 |
| 計費用量 ( anthos.googleapis.com) |
vCPU 容量、節點數量和授權權益狀態。 | 用於計量、計費和授權檢查。 | 必填。在服務中斷期間,系統會緩衝處理帳單記錄,並在稍後傳送。 |
| 系統健康資料 ( logging.googleapis.com、monitoring.googleapis.com、opsconfigmonitoring.googleapis.com) |
|
用於 Cloud Monitoring、 Google Cloud 控制台狀態檢視畫面,以及客戶服務疑難排解。儲存在 clusterOperations.projectID 中設定的 Google Cloud 專案。指標會儲存在 clusterOperations.location 設定的區域,記錄則會遵循記錄路由器設定。 |
開啟系統記錄和指標,這是完整客戶服務支援和服務水準協議涵蓋範圍的必要條件。應用程式記錄和指標則為「關閉」,除非您在 Stackdriver 資源中將 enableCloudLoggingForApplications 或 enableGMPForApplications 設為 true。 |
| 稽核記錄 ( anthosaudit.googleapis.com) |
管理員活動稽核記錄 (audit-proxy):誰在何時透過 kube-apiserver 變更了什麼內容。項目包括時間、叢集、主機或 VM、使用者或服務帳戶、RBAC 角色、作業和結果。系統不會記錄讀取要求。 |
儲存在 Google Cloud 專案的 Cloud 稽核記錄中,位於 _Required bucket,保留 400 天。 |
啟用。如要關閉,請將 clusterOperations.disableCloudAuditLogging 設為 true。稽核記錄只會保留在控制層節點的磁碟上。 |
後續步驟
如要開始使用 Google Distributed Cloud,請參閱下列指南: