單一區域 GKE 叢集和工作負載

建立經濟實惠的 Google Kubernetes Engine (GKE) 叢集和工作負載,並在單一位置集中管理資源。本指南說明下列範本,可用於部署基本網頁應用程式:

  • 單一區域 GKE 叢集範本:建立單一區域應用程式所需的基本架構。這個範本會設定安全保密的 GKE 私人叢集,並針對資源管理進行最佳化。

  • 單一區域 GKE 工作負載 (預先發布版):部署包含基本網頁應用程式設定的 Helm 圖表。 工作負載已設為根據 CPU 負載調整資源配置,並確保應用程式在自願性中斷期間仍可使用。

舉例來說,您可以部署叢集和工作負載範本,滿足下列業務需求:

範例 業務需求 實作
內部業務應用程式 內部應用程式需要嚴格的資料落地要求 (特定區域)、可預測的內部用量,以及高可靠性。 使用單一區域部署,確保資料位置。運用自動調度資源功能,有效管理內部使用者需求的資源。
區域電子商務後端 電子商務平台必須在特定區域具備高可用性,才能確保服務不中斷;此外,平台也必須具備可擴充性,才能在銷售活動期間處理流量高峰,並提供完善的安全防護,確保顧客交易和資料安全無虞。 建立多區域叢集設定,提供區域高可用性。使用安全啟動設定,強化機密客戶資料的安全防護機制。
區域資料處理和分析平台 處理及分析大型資料集的平台需要資料區域性,才能符合法規和效能要求;需要針對間歇性批次工作進行成本最佳化運算,以及安全地存取資料。 單一地區部署可確保資料留在地理界線內。針對大型處理作業和閒置期間,調整資源規模。

架構

下圖顯示範本中的元件和連線:

設計畫布中連結至節點集區的叢集

以下說明這個範本中的元件設定:

  • GKE Standard 叢集: 經濟實惠的單一區域叢集,可執行工作負載。

    下表說明這個範本中的叢集設定:

    設定 目的
    location 設為 us-central1 將叢集資源限制在單一地理區域,確保資料位於本地,並盡量降低跨區域資料傳輸成本和延遲時間。
    initial_node_count 設為 1 定義叢集首次佈建時,要在叢集的預設節點集區中建立的初始節點。在地區叢集中,這是每個區域的節點數。
    release_channel 設為 {"channel":"REGULAR"} 確保 GKE 叢集收到穩定且可預測的更新,在全新功能和可靠性之間取得平衡。
    enable_intranode_visibility 設為 true 啟用虛擬私有雲流量記錄中的節點內流量可視性,這是網路監控、疑難排解和安全性分析的必要條件。
    control_plane_endpoints_config 設為 {"dns_endpoint_config":{"allow_external_traffic":true}} GKE 控制層已設定為可公開存取,方便您在虛擬私有雲 (VPC) 網路外管理叢集。
  • GKE 節點集區: 執行應用程式容器的工作站節點群組。

    下表說明這個範本中的節點集區設定:

    設定 目的
    location 設為 us-central1 指定要建立這個節點集區的區域。與叢集位置類似,這可確保節點集區資源位於單一地理區域。
    autoscaling 設為 {"max_node_count":3, "min_node_count":1} 為這個節點集區設定叢集自動調度器。確保節點集區一律會維護至少一個節點,並將節點數量上限設為三個,以控管費用和資源耗用量。
    node_config 設為 {"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}} 這個集區中節點的群組設定。機器類型是 CPU 和記憶體的平衡點,適合一般用途的工作負載。定義授予服務帳戶的存取權。為 Shielded VM 執行個體啟用安全啟動功能,防範啟動層級的惡意軟體。

Helm 資訊套件設定

下表列出 Helm 資訊圖表設定,這些設定已自訂完成,可用於在 GKE 上部署及擴充基本網頁應用程式。

設定 目的
replicaCount: 2 建立兩個初始副本,以建立初始備援層級。
image.repository: gcr.io/google-samples/hello-app 使用基本網頁伺服器 Docker 映像檔。
resources.requests: {"cpu": "100m", "memory": "128Mi"} 指定每個 Pod 保留的 CPU 和記憶體下限,確保資源可用並有效率地排程。
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} 啟用水平 Pod 自動調度器,根據 CPU 使用率自動調整 Pod 數量 (介於 2 到 10 個之間),確保效能和成本效益。
service: {"type": "ClusterIP", "port": 80} 在標準 HTTP 連接埠上,設定服務以供叢集內部存取。
pdb: {"enabled": true, "minAvailable": 1} 啟用 Pod 中斷預算,確保自願中斷期間至少有一個副本可用,維持高可用性。

建立網頁應用程式

使用「單一區域 GKE 叢集和工作負載」範本部署網頁應用程式。

部署網路基礎架構

設定及部署單一區域 GKE 叢集範本,建立網頁工作負載執行的基礎架構。

  1. 複製並部署「單一區域 GKE 叢集」範本做為應用程式。

    系統會在您選擇的部署專案中建立 GKE 叢集。

  2. 設定元件。如要瞭解詳情,請參考下列資源:

  3. 按一下「Deploy」(部署)。應用程式會在幾分鐘後部署完成。

  4. 在「應用程式詳細資料」面板中,按一下「輸出」分頁標籤。

  5. 找出應用程式的 cluster_id。部署 Helm chart 時,您會使用這項資訊。

部署網頁工作負載

使用「單一區域 GKE 工作負載」範本,將網路工作負載部署至您建立的叢集。您將部署包含網頁工作負載設定的 Helm 圖表。

  1. 在「Google catalog」(Google 目錄) 頁面中,按一下「Single region GKE workload」(單一區域 GKE 工作負載) 範本上的「Create new application」(建立新應用程式)

  2. 在「Name」(名稱) 欄位中,輸入應用程式的專屬名稱。

  3. 在「GKE Deployment Target」(GKE 部署目標) 區域中,執行下列操作:

    1. 從「專案清單」中,選取您從「單一區域 GKE 叢集」應用程式部署 GKE 叢集的專案。

    2. 從「Region」(區域) 清單中,選取部署 GKE 叢集的區域。

    3. 從「Clusters」(叢集) 清單中,選取已部署的 GKE 叢集。

    4. 從「Namespace」(命名空間) 清單中,輸入您部署 GKE 叢集的命名空間。如果沒有變更名稱,請輸入 default

    5. 按一下「建立應用程式」

    應用程式隨即建立完成,並顯示設定檔。

  4. 在「Helm chart」(Helm 資訊套件) 面板中,執行下列操作:

    1. 查看設定詳細資料

    2. 選用:自訂設定,滿足您的獨特需求。

    3. 如要將 Helm 資訊套件部署至叢集,請按一下「Deploy」(部署)

      如需詳細步驟,請參閱「部署應用程式」。

    幾分鐘後,系統會將 Helm 資訊圖表設定部署至 GKE 叢集。

後續步驟