單一區域 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 和記憶體的平衡,適合一般用途的工作負載。定義授予服務帳戶的存取權。為受防護的 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 圖表時,您會使用這項資訊。

部署網頁工作負載

使用「單一區域 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. 從「命名空間」清單中,輸入您部署 GKE 叢集的命名空間。如果沒有變更名稱,請輸入 default

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

    應用程式建立完成後,畫面會顯示設定檔。

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

    1. 查看設定詳細資料

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

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

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

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

後續步驟