步驟 2:安裝及設定 GKE

本步驟說明如何下載及安裝 apigeectl、設定安裝目錄,以及建立 Apigee Hybrid 運作所需的 Google Cloud 服務帳戶和 TLS 憑證。

下載並安裝 apigeectl

apigeectl 是指令列介面 (CLI),可用於在 Kubernetes 叢集中安裝及管理 Apigee hybrid。

下列步驟說明如何取得 apigeectl

  1. 使用下列指令,下載適用於您作業系統的版本套件:

    Mac 64 位元:

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_mac_64.tar.gz

    Linux 64 位元:

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_64.tar.gz

    Mac 32 位元:

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_mac_32.tar.gz

    Linux 32 位元:

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_32.tar.gz
  2. 在系統上建立目錄,做為 Apigee Hybrid 安裝作業的基礎目錄
  3. 將下載的 gzip 檔案內容解壓縮至您剛剛建立的基礎目錄。例如:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. 將目錄變更為基礎目錄。
  5. 根據預設,tar 內容會解壓縮為名稱中含有版本和平台的目錄。例如:./apigeectl_1.0.0-f7b96a8_linux_64。使用下列指令將該目錄重新命名為 apigeectl

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. 將目錄變更為該目錄。例如:
    cd ./apigeectl

    這個目錄是 apigeectl 主目錄。這是 apigeectl 可執行指令所在的位置。

  7. 請使用下列指令建立環境變數,以便儲存這個主目錄路徑:
    export APIGEECTL_HOME=$PWD
  8. 使用下列指令確認變數是否包含正確的路徑:
    echo $APIGEECTL_HOME

設定專案目錄結構

下方所述的目錄結構是建議的做法。它會將 Apigee Hybrid 發布軟體與您必須建立的設定檔分開。您可以使用所建立的 $APIGEECTL_HOME 變數和符號連結,輕鬆切換至新版軟體。另請參閱「升級 Apigee Hybrid」。

  1. 請確認您位於基本目錄 (apigeectl 目錄所在的目錄)。
  2. 建立名為 hybrid-files 的新資料夾。您可以為目錄命名,但在文件中,我們一律會使用 hybrid-files 這個名稱。稍後,您將在這個資料夾中儲存設定檔、服務帳戶金鑰和 TLS 憑證。這個資料夾可讓您將設定檔與 apigeectl 軟體安裝作業分開:
    mkdir hybrid-files
  3. 目前的目錄結構如下所示:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. 使用下列指令將目錄變更為 hybrid-files 資料夾:
    cd hybrid-files
  5. hybrid-files 目錄中建立下列子目錄,以便整理您稍後使用下列指令建立的檔案:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. hybrid-files 目錄中,建立以下指向 $APIGEECTL_HOME 的符號連結。這些連結可讓您從 hybrid-files 目錄內執行 apigeectl 指令。
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. 如要確認符號連結是否正確建立,請執行下列指令,並確認連結路徑指向正確位置:
    ls -l | grep ^l
    

建立服務帳戶

Apigee hybrid 會使用 Google Cloud 服務帳戶,讓混合式元件透過已授權的 API 呼叫進行通訊。在這個步驟中,您會使用 Apigee 混合指令列工具建立一組服務帳戶。這項工具也會為您下載服務帳戶私密金鑰。接著,您必須將這些鍵新增至 Apigee 混合叢集設定檔。

建立金鑰:

  1. 請確認您位於 base_directory/hybrid-files 目錄。
  2. 請在 hybrid-files 目錄中執行下列指令。這個指令會為 apigee-metrics 元件建立服務帳戶,並將下載的金鑰放在 ./service-accounts 目錄中。
    ./tools/create-service-account apigee-metrics ./service-accounts

    看到下列提示時,請輸入 y

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    如果這是第一次建立工具指派的確切名稱 SA,則工具只會建立 SA,您不必再採取任何行動。

    不過,如果您看到下列訊息和提示,請輸入 y 來產生新的金鑰:

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
     
  3. 接著,請使用下列指令建立其他服務帳戶:
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
  4. 確認服務帳戶金鑰已建立。您必須妥善儲存這些私密金鑰。鍵檔案名稱的前面會加上 Google Cloud 專案名稱。例如:
    ls ./service-accounts
    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json

建立傳輸層安全標準 (TLS) 憑證

您必須為 Apigee Hybrid 設定中的 MART 和執行階段入口網關提供 TLS 憑證。用於 MART 閘道的憑證「必須」經過憑證授權單位 (CA) 授權。為了讓這個快速入門 (非實際工作環境的試用安裝) 順利進行,執行階段閘道可接受自行簽署的憑證。

在這個步驟中,您將建立 TLS 憑證檔案,並將這些檔案新增至 base_directory/hybrid-files/certs 目錄。在步驟 3:設定叢集中,您將在叢集設定檔中新增檔案路徑。

為執行階段閘道建立 TLS 憑證

執行階段入口網關 (處理 API Proxy 流量的網關) 需要 TLS 憑證/金鑰組合。在本快速入門安裝程序中,您可以使用自行簽署的憑證。在下列步驟中,我們會使用 openssl 產生憑證。

  1. 請確認您位於 base_directory/hybrid-files 目錄。
  2. 使用下列指令,從 hybrid-files 目錄內執行下列指令:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650

    這項指令會建立自行簽署的憑證/金鑰組,可用於快速入門安裝作業。CN mydomain.net 可以是您想要的任何值,用於自行簽署的憑證。

  3. 使用下列指令,確認檔案是否位於 ./certs 目錄中:
    ls ./certs
      keystore.pem
      keystore.key

    其中 keystore.pem 是自行簽署的 TLS 憑證檔案,而 keystore.key 則是金鑰檔案。

為 MART 閘道建立 TLS 憑證

事前準備一節所述,您必須為 MART 閘道設定使用經過授權的 TLS 憑證/金鑰組合。如果您尚未取得或建立這些憑證,請立即取得或建立。

  1. 取得或建立由憑證授權單位授權的 TLS 憑證/金鑰組。我們提供範例,說明如何使用 Let's Encrypt CA 取得這些憑證。請注意,憑證的共用名稱 (CN) 必須是有效的 DNS 名稱。如需範例步驟,請參閱「取得傳輸層安全標準 (TLS) 憑證:範例」。
  2. 將憑證複製到 base_directory/hybrid-files/certs 目錄。
  3. 完成後,./certs 目錄中應會出現兩組憑證檔案。例如:
    ls ./certs
      fullchain.pem
      privkey.key
      keystore.pem
      keystore.key

    其中 fullchain.pem 是授權的 TLS 憑證檔案,privkey.key 則是授權金鑰檔案。

摘要

您現在有了起點,可在 Kubernetes 叢集中設定、部署及管理 Apigee Hybrid。接下來,您將建立 Kubernetes 用來將混合式執行階段元件部署至叢集的檔案。

1 2 (NEXT) 步驟 3:設定叢集 4