建立叢集

本頁面說明如何在 Google Kubernetes Engine 中建立叢集。如要瞭解叢集的運作方式,請參閱叢集架構

事前準備

如要準備這項工作,請執行下列步驟:

  • 確認您已啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 確認您已安裝 Cloud SDK
  • 設定預設的專案 ID
    gcloud config set project [PROJECT_ID]
  • 如果您使用區域叢集,請設定預設的運算區域
    gcloud config set compute/zone [COMPUTE_ZONE]
  • 如果您使用地區叢集,請設定預設的運算地區
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud 更新到最新版本:
    gcloud components update

叢集類型

您可以在 GKE 中建立四種叢集類型:

區域叢集
區域叢集在地區內的一個或多個運算區域中執行。多區域叢集在單一地區內跨兩個或更多運算區域執行其節點。區域叢集執行單一叢集主要執行個體
地區叢集
地區叢集跨三個運算區域執行三個叢集主要執行個體,並在兩個或更多運算區域中執行節點。
私人叢集
私人叢集是區域或地區叢集,根據預設會在公開的網際網路中隱藏其叢集主要執行個體及節點。
Alpha 測試版叢集
Alpha 測試版叢集是實驗性的區域或地區叢集,在啟用 Kubernetes Alpha 測試版功能的狀況下執行。Alpha 測試版叢集會在 30 天後過期,因此不建議用於實際工作環境。

叢集範本

在使用 GCP 主控台建立新叢集時,您會看到所有可用的叢集範本。預設會選取標準範本。如要進一步瞭解特定範本及其包含的預設,請按一下該範本項目。預設會顯示在頁面右側的資訊面板。

以下是可用的範本:

  • 標準叢集:新的 3 節點區域叢集,相當於之前的預設值。
  • 您的第一個叢集:小型叢集,執行運算能力較普通的節點,並停用部分進階功能,例如自動調度資源。
  • CPU 密集型應用程式:此叢集的節點提供比標準叢集運算能力更強的多核心 CPU。
  • 記憶體密集型應用程式:此叢集的節點提供運算能力中等的多核心 CPU 及大量記憶體。
  • GPU 加速運算:此叢集具有預設節點集區,設有運算能力較普通的節點,以及一個額外啟用 GPU 的節點集區。 自動調度資源功能預設為停用。
  • 高可用性:此叢集設定為地區叢集,指定地區內的每一個區域均有該叢集的主要執行個體。自動調度資源及維護期間為啟用。

選擇範本後,您可以自訂叢集

除了可用範本以外,您還可以複製現有叢集

自訂範本的預設

如要自訂叢集,請先按一下最適合您用途的範本。在建立叢集之前,您可以變更任何可編輯欄位。

  • 如要設定適用於整個叢集的進階選項,請按一下靠近表單底部的 [Advanced options] (進階選項)
  • 如要在指定節點集區設定節點的 CPU 或記憶體,請按一下該節點集區的 [Customize] (自訂)
  • 如要為指定節點集區設定進階選項,請按一下 [Advanced edit] (進階編輯)

複製現有叢集

如要使用現有叢集的設定做為新叢集的基礎,請按一下 [Clone an existing cluster] (複製現有叢集)而不要使用叢集範本。從下拉式選單中選取要複製的叢集。

使用多個叢集

如果您使用多個叢集,不論是由您建立、由您專案中的不同使用者建立,或是使用 Google Cloud Platform 主控台建立,您都需要設定 kubectl 指令列工具與這些叢集互動。

如要進一步瞭解,請參閱kubectl 設定叢集存取權

區域叢集

根據預設,叢集會建立在單一運算區域中。多區域叢集會在同一個地區的多個區域中執行節點。單一區域或多區域叢集中的所有節點會由同一個叢集主要執行個體控制。

多區域叢集可以在跨多個區域的節點上執行應用程式,進而提高應用程式的可用性。這有助於防範因全區域服務中斷所造成的停機 (儘管發生機率極低)。

多區域叢集的運作方式

當您建立多區域叢集,不論是從頭開始建立或是在現有叢集中新增區域,GKE 會讓資源在所有區域中都佔用相同的空間。

例如,假設您要求兩個節點且每個節點有四個核心,並要求將叢集散佈到三個區域中。在這種情況下,您總共會有 24 個核心,每個區域中有 8 個核心。

多區域叢集會嘗試在區域之間均勻散佈資源,以確保在區域間平均排程 Pod。這樣做可以提升可用性和故障復原能力。如果運算資源在區域間分佈不均,排程器可能無法平均排程 Pod。您可以透過指定 Pod 反相依性確保資源會平均分配。

多區域叢集中節點集區自動具備多區域可用性。這些節點也會在 Kubernetes 中套用標籤以指出其故障網域,讓 Kubernetes 排程器將這些狀況考慮在內。

建立單一區域叢集

gcloud

如要透過 gcloud 指令列工具建立叢集,請使用 gcloud container clusters 指令:

gcloud container clusters create [CLUSTER_NAME] [--zone [COMPUTE_ZONE]]

其中 [CLUSTER_NAME] 是您為叢集選擇的名稱。選用的 --zone 標記會覆寫 gcloud config set compute/zone 指令所設定的預設 compute/zone 屬性。

如需完整的選用標記清單,請參閱 gcloud container clusters create 說明文件。

主控台

如要使用 GCP 主控台建立叢集,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [Create cluster] (建立叢集)

  3. 選擇 [Standard cluster] (標準叢集) 範本,或者根據工作負載選擇適用的範本

  4. 視需要自訂範本。以下均為必填欄位:

    • Name (名稱):您為叢集選擇的名稱。專案及區域中的名稱不得重複。
    • Location type (位置類型):指定叢集中的所有節點位在同一區域中,還是位於特定地區的任何區域中。
    • Zone (區域):如果「Location type」(位置類型) 是「Zonal」(區域),即為建立叢集時所在的 Compute Engine 運算區域
    • Region (地區):如果「Location type」(位置類型) 是「Regional」(地區),則為建立叢集時所在的 Compute Engine 運算區域
    • node pool (節點集區):
      • Cluster size (叢集大小):要在叢集中建立的節點數量。您必須要有可用於節點及其資源 (例如防火牆路徑) 的資源配額
      • Machine type (機器類型):執行個體所用的 Compute Engine 機器類型。每種機器類型的定價方式不同。預設的機器類型為 n1-standard-1。如需機器類型的定價資訊,請參閱機器類型價目表
  5. 按一下 [Create] (建立)。

在 GCP 主控台中建立叢集之後,您必須設定 kubectl 以與叢集互動。如要進一步瞭解,請參閱產生 kubeconfig 項目

建立多區域叢集

gcloud

要建立多區域叢集,請執行以下指令。 使用 --zone 指定叢集控制層的區域。使用 --node-locations 為節點指定區域:

gcloud container clusters create [CLUSTER_NAME] \
--zone [COMPUTE_ZONE] \
--node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],...]`

其中:

  • [CLUSTER_NAME] 是您為叢集選擇的名稱
  • --zone <var>[COMPUTE_ZONE]</var> 是叢集控制層的區域
  • --node-locations <var>[COMPUTE_ZONE]</var>,<var>[COMPUTE_ZONE]</var>,...] 是叢集執行的所有區域,包括叢集控制層的區域。

例如:

gcloud container clusters create example-cluster \
--zone us-central1-a \
--node-locations us-central1-a,us-central1-b,us-central1-c

省略 --num-nodes 標記時,叢集建立的每個區域節點的預設數量為三。因為指定了三個區域,此指令會建立具有九個節點的叢集,在 us-central1-aus-central1-bus-central1-c 各有三個節點。

主控台

如要建立多區域叢集,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [Create cluster] (建立叢集)

  3. 選擇 [Standard cluster] (標準叢集) 範本,或者根據工作負載選擇適用的範本

  4. 在「Zone」(區域) 下拉式選單中選取叢集控制層所需的區域,例如 us-central1-a

  5. 依據需要設定叢集,然後按一下 [Advanced options] (進階選項)

  6. 在「Additional zone locations」(其他區域位置) 中,選取您要在哪些其他區域執行叢集。

  7. 按一下 [Save] (儲存) 即可結束 [Advanced options] (進階選項) 視窗。

  8. 按一下 [Create] (建立)。

在 GCP 主控台中建立叢集之後,您必須設定 kubectl 以與叢集互動。如要進一步瞭解,請參閱產生 kubeconfig 項目

地區叢集

地區叢集會將 Kubernetes 資源散佈到單一地區的多個區域。地區叢集跨三個區域建立三個叢集主要執行個體,並根據預設在三個或更多區域中建立節點。

如要瞭解地區叢集,請參閱地區叢集概念頁面。

建立地區叢集

您可以使用 GCP 主控台或 gcloud 指令列工具來建立地區叢集。

根據預設,在建立地區叢集時,叢集的節點集區會在三個區域中複製。

gcloud

如要建立地區叢集,請執行下列指令:

gcloud container clusters create [CLUSTER_NAME] --region [REGION] \
[--node-locations [COMPUTE_ZONE],[COMPUTE_ZONE]...]]

[CLUSTER_NAME] 是您為地區叢集選擇的名稱,[REGION] 是所需的地區,例如 us-central1。針對具有超過三個區域的地區或者需要較少區域的情況,選用的 --node-locations 標記將覆蓋節點複製到的預設區域。

例如,要在 us-west1 中建立有九個節點的地區叢集 (預設是三個區域,每個區域各有三個節點):

gcloud container clusters create my-regional-cluster --region us-west1

如要建立有六個節點的地區叢集 (三個區域各有兩個節點),請以 --num-nodes 指定:

gcloud container clusters create my-regional-cluster --num-nodes 2 \
--region us-west1

如要建立在兩個區域內有六個節點的地區叢集 (兩個地區由 --node-locations 指定,每個區域各有三個節點):

gcloud container clusters create my-regional-cluster --region us-central1 \
--node-locations us-central1-b,us-central1-c

主控台

如要建立地區叢集,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [Create cluster] (建立叢集)

  3. 選擇「Highly Available」(可用性高) 叢集範本

  4. 在「Region」(地區) 下拉式選單中選取所需的 [地區][r],例如 us-central1

  5. 依據需要設定叢集,然後按一下 [Create] (建立)

在 GCP 主控台中建立叢集之後,您必須設定 kubectl 以與叢集互動。如要進一步瞭解,請參閱產生 kubeconfig 項目

私人叢集

如要瞭解如何建立私人叢集,請參閱私人叢集教學指南。

Alpha 測試版叢集

Alpha 叢集是一個暫時的叢集,可執行穩定的 Kubernetes 版本並啟用所有 Kubernetes API 和功能。

如要瞭解 Alpha 測試版叢集,請參閱 Alpha 測試版叢集概念頁面。

建立 Alpha 測試版叢集

gcloud

如要建立 Alpha 測試版叢集,請執行下列指令:

gcloud container clusters create [CLUSTER_NAME] \
    --enable-kubernetes-alpha [--zone [COMPUTE_ZONE]]
    [--cluster-version [VERSION]]

其中:

  • [CLUSTER_NAME] 是您為叢集選擇的名稱
  • [COMPUTE_ZONE] 是要建立叢集的 Compute Engine [運算區域]。選用的 --zone 標記會覆寫 gcloud config set compute/zone 指令所設定的預設 compute/zone 屬性。附註:您必須使用 gcloud config set compute/zone [COMPUTE_ZONE] 或使用 --zone 指定設定預設的運算區域。
  • [VERSION] (版本) 是要在叢集中執行的 GKE 版本。如未設定,叢集會執行目前在「版本管理與升級」中記錄的預設版本。

系統會提示您確認 Alpha 測試版叢集未升級,並會在 30 天後刪除的警告:

This will create a cluster with all Kubernetes Alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
  not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.

主控台

如要建立 Alpha 測試版叢集,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [Create cluster] (建立叢集)

  3. 選擇 [Standard cluster] (標準叢集) 範本,或者根據工作負載選擇適用的範本

  4. 在「Cluster Version」(叢集版本) 下拉式選單中選取需在叢集中執行的 GKE 版本。

  5. 視需求設定叢集。

  6. 要建立 Alpha 測試版叢集,請先停用不相容於 Alpha 測試版叢集的設定。

    1. 選取 [Advanced options] (進階選項)
    2. 停用 [Enable auto-repair] (啟用自動修復功能)。
    3. 按一下 [Save] (儲存)以返回主叢集建立畫面。
  7. 按一下 [Advanced options] (進階選項)。在靠近頁面底部選取 [Enable Kubernetes alpha features in this cluster] (在這個叢集中啟用 Kubernetes Alpha 測試版功能)

  8. 選取 [I understand the consequences] (我瞭解上述影響) 表示您已閱讀並確認警告。

  9. 按一下 [Create] (建立)。

在 GCP 主控台中建立叢集之後,您必須設定 kubectl 以與叢集互動。如要進一步瞭解,請參閱產生 kubeconfig 項目

Alpha 測試版叢集到期日

如要查看 Alpha 測試版叢集的到期日,請執行以下指令:

gcloud container clusters list

使用二進位授權的叢集

二進位授權是 GCP 上的一項服務,為 Cloud 中執行的應用程式提供軟體供應鏈安全性。二進位授權可搭配您從 Container Registry 或另一個容器映像檔註冊資料庫部署到 GKE 的映像檔。有了二進位授權,即可確保應用程式會在內部完成保謢軟體品質與完整性的程序後,才部署到實際工作環境。

如需建立啟用二進位授權功能的叢集的操作說明,請瀏覽二進位授權說明文件中的建立叢集

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Kubernetes Engine 說明文件