步驟 1:建立叢集

事前準備:

這些步驟假設您已在先前步驟中建立環境變數。使用下列指令檢查:

echo $PROJECT_ID
echo $ANALYTICS_REGION
echo $ORG_NAME
echo $ENV_NAME

本步驟說明如何設定 Shell 環境,並在 Google Cloud 專案中建立 GKE 叢集。

設定終端機殼層

gcloud 工具是 Google Cloud 的主要指令列介面,而 kubectl 是用於執行 Kubernetes 叢集相關指令的主要指令列介面。

  1. 請務必在本機殼層中安裝 gcloudkubectlgcloud 工具是 Google Cloud 的主要指令列介面,而 kubectl 是用於執行 Kubernetes 叢集相關指令的主要指令列介面。

    gcloud -h
    kubectl -h
  2. 如果沒有安裝這些公用程式,請立即安裝,方法如下:
    1. 安裝 Cloud SDK,其中包含 gcloud 指令列工具。
    2. 安裝 Cloud SDK 後,執行下列指令以安裝 kubectl 指令列工具:
    3. gcloud components install kubectl
  3. 使用 gcloud 工具設定兩個預設設定:預設專案運算區域。 設定這些設定之後,您就能更輕鬆地執行 gcloud 指令,因為 gcloud 會要求您指定要在其中工作的專案和運算區域。

    如要列出目前的設定,請執行下列指令:

    gcloud config list

    如果未列出專案和/或運算區域,請使用下方顯示的指令新增。如果從清單輸出內容中,您判斷需要切換目前的設定,以反映專案和運算區域,也可以使用下列指令:

    gcloud config set project $PROJECT_ID
    gcloud config set compute/region $ANALYTICS_REGION
    

    其中:

    • PROJECT_ID 是您的 Google Cloud 專案名稱。
    • ANALYTICS_REGION 是 Google Cloud Compute 區域的名稱

建立 GKE 叢集

在本步驟中,您將在 Google Cloud 專案中建立 Kubernetes 叢集 (您使用 gcloud config 指令設定的專案,以 PROJECT_ID 表示)。

建立叢集

  1. 使用下列指令建立 CLUSTER_NAME 環境變數 (選用):
    export CLUSTER_NAME=cluster-name

    其中 cluster-name 是您為叢集選擇的名稱。

  2. 執行下列指令來建立叢集。指令中指定的機器類型、節點數量和其他設定,會建立適合試用 Apigee Hybrid 安裝作業的最低設定叢集。
    gcloud container clusters create $CLUSTER_NAME \
    --machine-type "e2-standard-4" --num-nodes "4" --enable-autoscaling --min-nodes "3" --max-nodes "6"

    建立叢集可能需要幾分鐘的時間。成功後,系統會顯示類似下列內容的輸出內容,狀態為 RUNNING

    NAME           LOCATION       MASTER_VERSION  MASTER_IP     MACHINE_TYPE   NODE_VERSION   NUM_NODES  STATUS
    apigee-hybrid  us-central1    1.15.12-gke.2   35.222.54.89  e2-standard-4  1.15.12-gke.2             RUNNING

設定目前的情境

「背景資訊」是一組存取參數。每個背景資訊都包含一個 Kubernetes 叢集、一位使用者和一個命名空間。目前背景資訊是 kubectl 目前的預設叢集;也就是說,系統會針對該叢集執行所有的 kubectl 指令。

確認目前的 gcloud 內容已設為您剛才建立的叢集。

  1. 首先,列出所有內容,判斷哪個是目前內容。在以下範例中,目前情境為 gke_hybrid-project_us-central1_apigee-hybrid。名稱包含 Google Cloud 專案名稱 (hybrid-project)、區域 (us-central1) 和叢集名稱 (apigee-hybrid)。
    kubectl config get-contexts

    結果應如下列範例所示:

    CURRENT   NAME                                             CLUSTER                                          AUTHINFO                                           NAMESPACE
    *         gke_hybrid-project_us-central1_apigee-hybrid     gke_hybrid-project_us-central1_apigee-hybrid     gke_hybrid-project_us-central1_apigee-hybrid
              gke_apigee-project_us-west1_apigee-cluster       gke_apigee-project_us-west1_apigee-cluster       gke_apigee-project_us-west1_apigee-cluster
    
  2. 如有必要,請將目前的環境設為您剛才建立的叢集 (您打算在該叢集中安裝 Apigee Hybrid)。使用先前的 get-contexts 輸出內容,即可切換至正確的環境,如下所示:
    kubectl config use-context context

    其中 context 是叢集的完整環境名稱,由先前的 get-contexts 指令輸出。例如:gke_apigee-project_us-west1_apigee-cluster

  3. 使用下列指令檢查目前的內容,確認已設為預期叢集:
    kubectl config current-context

    例如:

    gke_apigee-project_us-west1_apigee-cluster

授予叢集憑證

叢集憑證可讓您存取叢集中執行的容器。擷取憑證,並將 cluster-admin 角色授予自己:

  1. 輸入下列指令,擷取憑證:
    gcloud container clusters get-credentials $CLUSTER_NAME

    其中 CLUSTER_NAME 是您建立的叢集名稱 (您打算在該叢集中安裝 Apigee Hybrid)。

    您應該會看到類似以下的結果:

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for example-cluster.
  2. 設定叢集角色繫結。完全按照顯示方式執行下列指令:
    kubectl create clusterrolebinding cluster-admin-binding \
    --clusterrole cluster-admin --user $(gcloud config get-value account)

    您應該會看到類似以下的結果:

    clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-binding created

摘要

現在,您的 Google Cloud 專案中已執行 Kubernetes 叢集。您的 Shell 環境已設定完成,現在可以開始在本機安裝 Apigee Hybrid 必要的 cert-manager 和 Istio 服務。

1 (NEXT) Step 2: Install cert-manager and ASM 3 4 5