步驟 1:建立叢集

事前準備:

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

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

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

設定終端機殼層

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

  1. 請務必在本機殼層中安裝 gcloud 和 kubectl。gcloud 工具是 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 叢集。您的殼層環境已設定完成,現在可以開始在本機安裝 Apigee Hybrid 必要的 cert-manager 和 Istio 服務。

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