將設定套用至叢集
如要將 Apigee Hybrid 安裝到叢集中,請按照下列步驟操作:
- 請確認您位於
hybrid-base-directory/hybrid-files
目錄。 - 執行
init
指令:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
init
指令會安裝 Apigee 部署服務,包括 Apigee Deployment Controller 和 Apigee Admission Webhook,並部署非 Apigee 元件 Istio 和 Cert Manager。 - 如要查看部署作業的狀態,您可以使用下列指令:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
和
kubectl get pods -n apigee-system
和
kubectl get pods -n istio-system
當 Pod 準備就緒後,請繼續執行下一個步驟。
- 進行「模擬安裝」作業。執行含有
--dry-run=true
旗標的apply
指令。進行模擬執行作業後,您就能在對叢集進行任何變更前,先檢查是否有任何錯誤。$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
-
如果沒有錯誤,您可以將 Apigee 專屬的執行階段元件套用至叢集:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- 如要查看部署作業的狀態,請按照下列步驟操作:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
重複執行這項步驟,直到所有 Pod 都就緒為止。 Pod 可能需要幾分鐘的時間才能啟動。
啟用同步器存取權
- 建立 GCP 服務帳戶,並為該帳戶新增 Apigee 機構組織管理員角色。這個服務帳戶會用於驗證您在後續步驟中要發出的 API 呼叫。您可以透過 GCP 主控台輕鬆建立服務帳戶。如需詳細操作說明,請參閱 GCP 說明文件中的「 建立及管理服務帳戶」一節。
- 將服務帳戶金鑰下載至系統。請按照 GCP 說明文件中的「 建立服務帳戶金鑰」一節操作說明。
- 將下載的服務帳戶金鑰移至服務帳戶目錄:
/hybrid-base-directory
/hybrid-files/service-accounts
。 - 執行下列兩個指令,取得符記:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
其中 org-admin-service-account-file 是系統中服務帳戶金鑰的路徑,您可以使用 Apigee 機構管理員角色下載該金鑰。
- 呼叫 setSyncAuthorization API,為 Synchronizer 啟用必要權限:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \ -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
其中:
your_org_name
:混合型機構名稱。synchronizer-manager-service-account-email
:具備 Apigee 同步處理工具管理員角色的服務帳戶名稱。名稱的格式類似電子郵件地址。例如:apigee-synchronizer@my-project.iam.gserviceaccount.com
範例:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \ -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
- 如要確認服務帳戶是否已設定,請呼叫下列 API 取得服務帳戶清單:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
輸出內容會類似以下內容:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
將 MART IP 新增至貴機構
您必須將 MART 端點的 IP 位址新增至 Apigee 機構。您先前在覆寫檔案中設定 mart.hostAlias
屬性的值時,就已設定這個值。管理層需要這個位址,才能透過 MART 與執行階段層進行通訊。
如要將 MART IP 新增至貴機構,請按照下列步驟操作:
- 取得先前在覆寫檔案中為
mart.hostAlias
屬性設定的值。主機別名必須是完整的網域名稱,才能讓 MART 運作。 - 在「啟用同步器存取權」一節中,找出具有先前下載的 Apigee 組織管理員 角色的服務帳戶金鑰。
- 執行下列兩個指令,取得符記:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
其中 org-admin-service-account-file 是系統中服務帳戶金鑰的路徑,您可以使用 Apigee 機構管理員角色下載該金鑰。
- 請呼叫下列管理 API,以 MART 端點更新貴機構:
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://HOST_ALIAS_DNS" } ] } }'
以下提供範例。請務必在網域名稱中加上「https://」前置字串。
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/my_organization \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "my_organization", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://foo-mart.example.com" } ] } }'
儲存覆寫檔案
請務必儲存覆寫檔案。您需要這個檔案才能執行日後的升級、修補或叢集設定的任何其他修改。