Bare Metal 適用的 Distributed Cloud 軟體 (僅限軟體) 總覽

Google Distributed Cloud 是全代管的軟硬體解決方案,可將Google Cloud 基礎架構和服務擴展至資料中心。Google Distributed Cloud 提供連結和實體隔離設定,可在 Google 提供的硬體上執行。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 的裸機上安裝純軟體,即可直接在自有硬體基礎架構部署應用程式,提供最佳效能與彈性。您可以直接控管應用程式的規模、安全性和網路延遲。另外,GKE 元件能讓您享有容器化應用程式的好處。

提升效能並降低成本

Google Distributed Cloud 可管理現有企業資料中心的應用程式部署和健康狀態,提高作業效率。此外,您可以在網路邊緣執行容器,讓數據分析應用程式以完整效能運作。

如果只將 Distributed Cloud 軟體用於裸機,而非虛擬機器,您就能在各種效能最佳化的硬體類型 (例如 GPU 和 SSD) 上管理應用程式容器。僅執行裸機適用的 Distributed Cloud 軟體,也能讓應用程式直接存取硬體。

相容的安全性

您可以控管節點環境,因此能最佳化網路、硬體和應用程式,滿足特定需求。因此,您可以直接控管系統安全性,不必擔心與虛擬機器和作業系統的相容性。

受監控的應用程式部署作業

Google Distributed Cloud 提供進階監控功能,可監控環境的健康狀態和效能。這項監控功能可協助您調整應用程式規模,同時在工作負載和網路流量波動時維持可靠性。

您可以透過 Connect 代理程式,管理叢集和工作負載的監控、記錄和分析作業。

網路延遲和彈性

由於您自行管理網路需求,因此可以針對低延遲最佳化網路。這項網路最佳化功能對於商業或財務分析,以及其他企業或網路邊緣應用程式的效能至關重要。

可用性高

Google Distributed Cloud 支援叢集中的多個控制層節點。如果控制層節點故障,您仍可管理環境。

安全設計與控管

您可以根據自身需求自訂基礎架構安全性,盡可能減少與外部資源的連線。最重要的是,部署安全系統時,VM 不會變得更複雜,而且在與現有安全系統互動時,您仍可完全控制 OS。

Google Distributed Cloud 可與 Google API 建立輕量級安全連線。您可以使用 Connect 和 Cloud Monitoring,從中央位置管理叢集和應用程式。集中管理也有助於確保部署作業順利執行,並讓 Google Cloud 支援團隊更有效地排解問題。

安裝作業預檢

有了 Google Distributed Cloud,叢集就能在開放原始碼和企業 Linux 系統,以及最精簡的硬體基礎架構上運作,為環境帶來彈性。此外,這項工具也提供多項預檢,有助於確保設定和安裝作業順利完成。

應用程式部署和負載平衡

Google Distributed Cloud 包含建立叢集時的第 4 層和第 7 層負載平衡機制。

提升 etcd 的穩定性

為監控 etcd 資料庫的大小並進行資料重組,Google Distributed Cloud 控制層包含 etcddefrag Pod。etcddefrag Pod 會從大型 etcd 資料庫回收儲存空間,並在磁碟空間超出時復原 etcd。

運作方式

Google Distributed Cloud 擴充了 Google Kubernetes Engine (GKE) 的功能,讓您在地端部署系統中的自有 Linux 伺服器上建立叢集。您可以在 Google Cloud中,將這些地端部署叢集與一般 GKE 叢集和其他環境中的叢集,一併做為機群的一部分進行管理。

GKE 叢集會在 Google Cloud 中運作,Kubernetes 控制層和網路基礎架構則由 Google Cloud管理。使用 Google Distributed Cloud 建立的叢集會在資料中心運作,因此除了 GKE 軟體之外,我們也提供一些管理和控制層軟體。在資料中心運作的軟體會於安裝和升級時下載。

下圖顯示安裝完成後的簡化結果:

管理員叢集和使用者叢集部署作業的基本架構
Google Distributed Cloud 裸機架構,包含管理員叢集和使用者叢集 (按一下即可放大)

重要元件

下列元件構成 Google Distributed Cloud 裸機上的純軟體安裝:

  • 管理員叢集包含一或多個控制層節點。每個節點都是執行支援 Linux 作業系統的實體機器。標準部署作業包含一個管理員叢集,可透過 Kubernetes Resource Management (KRM) 管理一或多個使用者叢集的生命週期。安裝作業中的每個節點機器都有自己的 IP 位址。

  • 使用者叢集是執行應用程式工作負載的位置,例如 GKE on Google Cloud。每個使用者叢集至少包含一個控制層節點和一個 worker 節點。

  • 管理員工作站是獨立的機器 (通常),其中包含工具和叢集構件,例如設定檔。叢集建立者和開發人員會使用這些工具和構件,管理地端部署叢集,並具備適當權限:

    • 從管理員工作站執行 bmctl,即可建立及更新叢集,並執行其他管理工作。

    • 從管理員工作站執行 kubectl,即可與管理員和使用者叢集互動,包括部署及管理工作負載。

  • GKE On-Prem API 是 Google Cloud託管的 API,用於管理叢集生命週期。您可以使用 API 用戶端 (Google Cloud 控制台、Google Cloud CLI 和 Terraform) 建立及管理地端部署叢集的生命週期,而不必登入管理員工作站,使用 bmctl CLI 管理叢集。

  • 控制台也提供Google Cloud 專案的網頁介面,包括地端部署叢集。控制台會顯示叢集的重要指標,協助您監控叢集健康狀態。

  • 叢集管理員和開發人員會使用 kubectl,透過叢集設定中指定的虛擬 IP 位址 (VIP) 存取叢集控制層。應用程式使用者和開發人員分別使用 Service 和 Ingress VIP 存取及公開工作負載。

連線至機群

所有使用者叢集 (以及選用的管理員叢集) 都是機群的成員,機群是 Kubernetes 叢集的邏輯群組。機群可讓組織將管理單位從個別叢集提升為整個叢集群組,並協助團隊採用與 Google 類似的最佳做法。您可以在 Google Cloud 控制台一併查看及管理機群叢集,並使用支援機群的 GKE 功能,大規模管理、控管及執行工作負載。您可以查看地端部署環境可用的機群功能完整清單。

每個機群叢集與 Google Cloud 的連線,都是由 Connect 代理程式管理,該代理程式會在 Google Distributed Cloud 安裝過程中部署。如要進一步瞭解這個代理程式的運作方式,請參閱「 Connect 代理程式總覽」。

機群成員資格也可用於管理 Google Distributed Cloud 裸機定價,詳情請參閱下一節。

定價

使用 Google Distributed Cloud 建立的地端部署叢集,則依 vCPU 計費。在 Google Cloud專案中啟用 Anthos API,即可啟用計費功能。

如需完整的定價資訊 (包括如何與銷售人員聯絡),請參閱「 Google Kubernetes Engine 定價」。

版本

如要瞭解 Google Distributed Cloud 版本,請參閱版本支援政策。

這份說明文件涵蓋所有支援的 Google Distributed Cloud 版本。在相關情況下,我們也會在本文件中保留舊版、不支援版本的有限資訊。說明文件會註明不同版本在需求和行為上的差異。同樣地,推出新功能時,系統會記錄該功能支援的版本。

如需支援的子版本和可用修補程式清單,請參閱「版本管理」。

從 1.29 版開始,我們不再為先前的次要版本說明文件建立編號目錄。如要查看 1.16 版和更早版本的封存說明文件,請在下列網址中加入子版本號碼:

https://cloud.google.com/anthos/clusters/docs/bare-metal/VERSION/

將 VERSION 替換為 1.6 到 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、etcd CA 和前端 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 專案、機群成員名稱、叢集 UID、公開金鑰、Kubernetes 版本、叢集大小和身分提供者設定。
  • 您透過 Google Cloud 控制台或 Connect 閘道要求的 Kubernetes 資料。
  • 如果您從Google Cloud 控制台登入使用者個人資料,系統會儲存已加密的 Kubernetes 權杖,直到您登出為止。
透過Google Cloud 控制台、連結閘道和機群,使用 Connect 代理程式管理叢集。 必要
叢集設定和狀態
(gkeonprem.googleapis.com)
  • 名稱、UID、說明、註解、版本、生命週期狀態、控制層 VIP 和通訊埠。
  • 節點集區名稱、節點 IP 位址、Pod 和 Service CIDR、負載平衡器 VIP 和位址集區、BGP 對等互連 IP 位址和 ASN、Proxy 網址、本機儲存空間路徑。
  • 叢集管理員的電子郵件地址。
可讓您透過 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)
  • 指標:CPU、記憶體、磁碟和網路使用量、kubelet 指標,以及節點和系統 Pod 的 kube-state-metrics。
  • 記錄:所有管理員叢集元件,以及使用者叢集中 kube-system、gke-system、gke-connect、istio-system、config-management-system、knative-serving、monitoring-system、gatekeeper-system 和 cnrm-system 命名空間的容器記錄和健康狀態檢查結果。
  • 中繼資料:節點、Pod、Deployment 和 Service 的名稱和標籤。
用於 Cloud Monitoring、 Google Cloud 控制台狀態檢視畫面,以及客戶服務疑難排解。儲存在 clusterOperations.projectID 中設定的 Google Cloud 專案。指標會儲存在 clusterOperations.location 設定的區域,記錄則會遵循記錄檔路由器設定。 開啟系統記錄和指標,這是完整客戶服務支援和服務水準協議涵蓋範圍的必要條件。應用程式記錄和指標則為「Off」,除非您在 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,請參閱下列指南: