本步驟說明如何下載及安裝 apigeectl、設定安裝目錄,以及建立 Apigee Hybrid 運作所需的 Google Cloud 服務帳戶和 TLS 憑證。
下載並安裝 apigeectl
apigeectl
是指令列介面 (CLI),可用於在 Kubernetes 叢集中安裝及管理 Apigee hybrid。
下列步驟說明如何取得 apigeectl
:
-
使用下列指令,將最新版本號碼儲存在變數中:
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
-
使用下列指令,檢查變數是否已填入版本號碼。如果您想使用其他版本,可以改為將該版本儲存在環境變數中。
echo $VERSION
-
使用下列指令,下載適用於您作業系統的版本套件:
Mac 64 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Linux 64 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac 32 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz
Linux 32 位元:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
- 在系統上建立目錄,做為 Apigee Hybrid 安裝作業的基礎目錄。
-
使用下列指令,將下載的 gzip 檔案內容解壓縮至您剛剛建立的基礎目錄:
tar xvzf filename.tar.gz -C path-to-base-directory
-
使用
cd
指令將目錄變更為基礎目錄。 -
根據預設,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
目錄所在的目錄):cd $APIGEECTL_HOME/..
-
使用下列指令建立名為
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 overrides
mkdir service-accounts
mkdir 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 服務帳戶,讓混合式元件透過已授權的 API 呼叫進行通訊。在這個步驟中,您會使用 Apigee 混合指令列工具建立一組服務帳戶。這項工具也會為您下載服務帳戶私密金鑰。接著,您必須將這些鍵新增至 Apigee 混合叢集設定檔。
Apigee 提供 create-service-account
工具,可用於建立服務帳戶、將角色指派給服務帳戶,並在單一指令中建立及下載服務帳戶的金鑰檔案。如要瞭解相關的 Google Cloud 概念,請參閱「建立及管理服務帳戶」和「建立及管理服務帳戶金鑰」。
-
請確認您位於「設定專案目錄結構」中設定的
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,則工具只會建立 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.
-
接著,請使用下列指令建立其他服務帳戶。
create-service-account
指令為互動式,需要針對每個帳戶提供回應。./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
./tools/create-service-account apigee-watcher ./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 gcp-project-id-apigee-watcher.json
-
將 Apigee 機構管理員角色指派給
apigee-org-admin
服務帳戶: -
請確認
apigee-org-admin
服務帳戶的電子郵件地址是否符合service_account@PROJECT_ID.iam.gserviceaccount.com
模式,如以下範例所示:gcloud iam service-accounts list --filter "apigee-org-admin"
-
使用下列指令指派角色:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin
其中 PROJECT_ID 是您的 Google Cloud 專案。如果服務帳戶電子郵件地址與此模式不同,請據此進行替換。
輸出內容應包含所有服務帳戶及其角色的清單,包括下列項目:
- members: - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com role: roles/apigee.admin
建立傳輸層安全標準 (TLS) 憑證
您必須在 Apigee 混合型設定中,為執行階段入口網關提供 TLS 憑證。為了讓這個快速入門 (非實際工作環境的試用安裝) 順利進行,執行階段閘道可接受自行簽署的憑證。在下列步驟中,我們會使用 openssl 產生自行簽署的憑證。
在這個步驟中,您將建立 TLS 憑證檔案,並將這些檔案新增至 base_directory/hybrid-files/certs
目錄。在步驟 4:設定叢集中,您會將檔案路徑新增至叢集設定檔。
- 請確認您位於「設定專案目錄結構」一文中設定的
base_directory/hybrid-files
目錄。 - 請使用下列指令,確認您的網域名稱已儲存至
DOMAIN
環境變數:echo $DOMAIN
-
請在
hybrid-files
目錄中執行下列指令:openssl req -nodes -new -x509 -keyout ./certs/keystore.key -out \ ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650
其中
DOMAIN
是您在快速入門 (混合式) 步驟 5:設定 DNS 中為混合式安裝作業保留的網域。這個指令會建立自行簽署的憑證/金鑰組,可用於快速入門安裝作業。
-
使用下列指令,確認檔案是否位於
./certs
目錄中:ls ./certs
keystore.pem keystore.key其中
keystore.pem
是自行簽署的 TLS 憑證檔案,而keystore.key
則是金鑰檔案。
您現在有了起點,可在 Kubernetes 叢集中設定、部署及管理 Apigee Hybrid。接下來,您將建立檔案,供 Kubernetes 用於將混合式執行階段元件部署至叢集。
1 2 3 (下一頁) 步驟 4:設定叢集 5