這個步驟說明如何下載及安裝 apigeectl、設定安裝目錄,以及建立 Apigee Hybrid 運作所需的 Google Cloud 服務帳戶和 TLS 憑證。
下載並安裝 apigeectl
apigeectl 是指令列介面 (CLI),用於在 Kubernetes 叢集中安裝及管理 Apigee Hybrid。
下列步驟說明如何取得 apigeectl:
使用下列指令,下載適用於您作業系統的發布套件:
Mac 64 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_64.tar.gzLinux 64 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_64.tar.gzMac 32 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_32.tar.gzLinux 32 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_32.tar.gz- 在系統上建立目錄,做為 Apigee Hybrid 安裝的基本目錄。
-
將下載的 gzip 檔案內容解壓縮至您剛才建立的基底目錄。例如:
tar xvzf filename.tar.gz -C path-to-base-directory
- 將目錄變更為基本目錄。
-
根據預設,tar 內容會展開至目錄中,且目錄名稱會包含版本和平台。例如:
./apigeectl_1.0.0-f7b96a8_linux_64。使用下列指令將該目錄重新命名為apigeectl:mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl - 將目錄變更為該目錄。例如:
cd ./apigeectl這個目錄是
apigeectl主目錄。這是apigeectl可執行指令所在的目錄。 - 使用下列指令建立環境變數,以保留這個主目錄路徑:
export APIGEECTL_HOME=$PWD
- 使用下列指令確認變數是否包含正確路徑:
echo $APIGEECTL_HOME
設定專案目錄結構
以下說明的目錄結構僅為建議做法。可將 Apigee Hybrid 版本軟體與您必須建立的設定檔分開。使用 $APIGEECTL_HOME 變數和您建立的符號連結,即可輕鬆切換至新版軟體。另請參閱「升級 Apigee Hybrid」。
- 請確認您位於基本目錄 (
apigeectl目錄所在的目錄)。 - 建立名為
hybrid-files的新資料夾。您可以為目錄指定任何名稱,但文件一律使用hybrid-files這個名稱。稍後,您會將設定檔、服務帳戶金鑰和 TLS 憑證儲存在這個資料夾中。這個資料夾可讓您將設定檔與apigeectl軟體安裝分開:mkdir hybrid-files
- 目前的目錄結構如下所示:
pwd && ls/hybrid-base-directory apigeectl hybrid-files - 使用下列指令將目錄變更為
hybrid-files資料夾:cd hybrid-files
- 在
hybrid-files目錄中,建立下列子目錄,以便整理稍後使用下列指令建立的檔案:mkdir overridesmkdir service-accountsmkdir certs - 在
hybrid-files目錄中,建立下列符號連結至$APIGEECTL_HOME。這些連結可讓您從hybrid-files目錄內執行apigeectl指令。ln -s$APIGEECTL_HOME/tools toolsln -s$APIGEECTL_HOME/config configln -s$APIGEECTL_HOME/templates templatesln -s$APIGEECTL_HOME/plugins plugins - 如要確認符號連結是否建立正確,請執行下列指令,並確認連結路徑指向正確位置:
ls -l | grep ^l
建立服務帳戶
Apigee Hybrid 會使用 Google Cloud 服務帳戶,允許 Hybrid 元件透過發出已授權的 API 呼叫進行通訊。在本步驟中,您會使用 Apigee Hybrid 指令列工具建立一組服務帳戶。這項工具也會為您下載服務帳戶私密金鑰。接著,您必須將這些金鑰新增至 Apigee Hybrid 叢集設定檔。
建立金鑰:
- 請務必位於
base_directory/hybrid-files目錄。 - 在
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,工具會直接建立,您不必採取任何行動。
不過,如果看到下列訊息和提示,請輸入 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.
- 現在,請使用下列指令建立其餘服務帳戶:
./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 - 確認服務帳戶金鑰已建立。您必須妥善儲存這些私密金鑰。金鑰檔案名稱會加上 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 和執行階段 Ingress 閘道提供 TLS 憑證。MART 閘道使用的憑證必須經過憑證授權單位 (CA) 授權。為了進行本快速入門導覽課程 (非正式版試用安裝),執行階段閘道可以接受自行簽署的憑證。
在這個步驟中,您會建立 TLS 憑證檔案,並將其新增至 base_directory/hybrid-files/certs 目錄。在「步驟 3:設定叢集」中,您會將檔案路徑新增至叢集設定檔。
為執行階段閘道建立 TLS 憑證
執行階段 Ingress 閘道 (處理 API Proxy 流量的閘道) 需要 TLS 憑證/金鑰配對。在本快速入門導覽課程中,您可以安裝使用自簽憑證。在下列步驟中,我們將使用 openssl 產生憑證。
- 請務必位於
base_directory/hybrid-files目錄。 - 使用下列指令,從
hybrid-files目錄內執行下列指令:openssl req -nodes -new -x509 -keyout ./certs/keystore.key -out \ ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650這項指令會建立一組自行簽署的憑證/金鑰,可用於快速入門安裝作業。CN mydomain.net 可以是您希望用於自簽憑證的任何值。
- 使用下列指令檢查檔案是否位於
./certs目錄:ls ./certskeystore.pem keystore.key其中
keystore.pem是自行簽署的 TLS 憑證檔案,keystore.key是金鑰檔案。
為 MART 閘道建立 TLS 憑證
如「事前準備」一節所述,您必須使用授權的 TLS 憑證/金鑰配對,設定 MART 閘道。如果尚未取得或建立這些憑證,請立即取得或建立。
- 取得或建立憑證授權單位授權的 TLS 憑證/金鑰組。我們提供範例,說明如何使用 Let's Encrypt CA 取得這些憑證。請注意,憑證的通用名稱 (CN) 必須是有效的 DNS 名稱。 如需範例步驟,請參閱「取得傳輸層安全標準 (TLS) 憑證:範例」。
- 將憑證複製到
base_directory/hybrid-files/certs目錄。 - 完成後,
./certs目錄中應該會有兩組憑證檔案。例如:ls ./certsfullchain.pem privkey.key keystore.pem keystore.key其中
fullchain.pem是授權的 TLS 憑證檔案,privkey.key則是授權的金鑰檔案。
摘要
現在您已擁有主機,可從中在 Kubernetes 叢集設定、部署及管理 Apigee Hybrid。接下來,您將建立 Kubernetes 要使用的檔案,以便將混合式執行階段元件部署至叢集。
1 2 (NEXT) Step 3: Configure the cluster 4