步驟 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 運算區域的名稱

建立 GKE 叢集

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

建立叢集

  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) 步驟 2:安裝 cert-manager 和 ASM 3 4 5