啟用同步器存取權
如何啟用同步器存取權:
- 建立 Google Cloud 服務帳戶,並將 Apigee 機構管理員角色新增至該帳戶。這個服務帳戶會用於驗證您在後續步驟中要發出的 API 呼叫。您可以透過 GCP 主控台輕鬆建立服務帳戶。如需詳細操作說明,請參閱 GCP 說明文件中的「
    建立及管理服務帳戶」一節。舉例來說,下列 gcloud指令會建立服務帳戶,並將 Apigee 組織管理員指派給該帳戶:- 建立帳戶:
      gcloud iam service-accounts create apigee-org-admin \ --display-name="apigee-org-admin"其中 apigee-org-admin 是您要建立的服務帳戶名稱。本教學課程建議使用「 apigee-org-admin」。
- 將 Apigee 機構組織管理員角色指派給服務帳戶:
        gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.admin"其中: - $PROJECT_ID 是您在步驟 2:建立 Google Cloud 專案中建立的 Google Cloud 專案名稱。
- apigee-org-admin 是您剛建立的服務帳戶名稱。
- roles/apigee.admin 是 Apigee 機構管理員角色。
 
 
- 建立帳戶:
      
- 將服務帳戶金鑰下載至系統。使用下列指令,將金鑰下載至 service-accounts/目錄。詳情請參閱 GCP 說明文件中的「 建立服務帳戶金鑰」一節。- 確認您位於 /hybrid-base-directory/hybrid-files/目錄。
- 下載金鑰:
        gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \ --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com 輸出內容應如下所示: created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $ 
 
- 確認您位於 
- 請使用下列指令驗證 Apigee 機構管理員服務帳戶金鑰的路徑:
  ls service-accounts/*admin* 結果應如下所示: service-accounts/hybrid-example-apigee-org-admin.json 
- 建立 ORG_ADMIN_ACCOUNT 環境變數,並使用金鑰檔案的名稱。
    例如:
    export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json" 
- 執行下列指令取得權杖:export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNTexport TOKEN=$(gcloud auth application-default print-access-token)
- 使用下列指令,取得 apigee-synchronizer服務帳戶的電子郵件地址:gcloud iam service-accounts list --filter "apigee-synchronizer" 如果符合模式 apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com,您可以在下一個步驟中使用該模式。
- 請呼叫 setSyncAuthorization API,使用下列指令為 Synchronizer 啟用必要權限:curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'其中: - $ORG_NAME:混合型機構名稱。
- apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com:apigee-syncnronizer 服務帳戶的電子郵件地址。
 
- 如要確認已設定服務帳戶,請使用下列指令呼叫 API,取得服務帳戶清單:curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \ -d '' 輸出內容會類似以下內容: { "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
將設定套用至叢集
請按照下列步驟,將 Apigee hybrid 安裝至叢集:
- 請確認您位於 hybrid-base-directory/hybrid-files目錄。
- 使用下列指令,確認 kubectl已設為正確的內容。應將目前的背景設定為要部署 Apigee Hybrid 的叢集。kubectl config get-contexts 
- 使用下列指令確認已設定 KUBECONFIG變數。如果沒有,請參閱 必備條件。echo $KUBECONFIG 
- 執行模擬測試初始化。執行含有 --dry-run旗標的init指令。進行模擬執行作業,可讓您在對叢集進行任何變更前,先檢查是否有任何錯誤。在混合式 1.3 版中, --dry-run標記的語法取決於您執行的kubectl版本。請使用下列指令檢查kubectl的版本:kubectl version kubectl1.17 以下版本:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true kubectl1.18 以上版本:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client 
- 如果沒有錯誤,請依下列方式執行 init指令:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml init指令會安裝 Apigee 部署服務 Apigee Deployment Controller 和 Apigee Admission Webhook。
- 如要檢查部署作業的狀態,您可以使用下列指令:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yamlkubectl get pods -n apigee-systemkubectl get pods -n istio-system當 Pod 準備就緒後,請繼續執行下一個步驟。 
- 執行模擬測試安裝作業。執行含有 --dry-run旗標的apply指令。kubectl1.17 以下版本:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true kubectl1.18 以上版本:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client 
- 
      如果沒有錯誤,您可以使用下列指令將
      Apigee 專屬的執行階段元件套用至叢集:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml 
- 如要檢查部署作業的狀態,請執行下列指令:
      $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml 重複執行這項步驟,直到所有 Pod 都準備就緒為止。Pod 可能需要幾分鐘的時間才能啟動。 
啟用 Apigee Connect
Apigee Connect 會管理 Apigee 管理層與執行階段層中的 MART 之間的通訊。詳情請參閱「使用 Apigee Connect」一文。
如要啟用 Apigee Connect,請按照下列步驟操作:
- 
  在指令列中取得 gcloud驗證憑證,如以下範例所示:TOKEN=$(gcloud auth print-access-token) 如要確認權杖是否已填入,請使用 echo,如以下範例所示:echo $TOKEN 權杖應會以編碼字串的形式顯示。 如需詳細資訊,請參閱 gcloud 指令列工具總覽。 
- 使用下列指令,查看貴機構是否已啟用 Apigee Connect。curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME" 其中 $ORG_NAME 是機構 ID。 如果輸出內容包含下列內容: "name" : "features.mart.connect.enabled", "value" : "true"Apigee Connect 已啟用,您可以略過本節的其餘部分。 
- 使用下列指令啟用 Apigee Connect:curl -H "Authorization: Bearer $TOKEN" -X PUT \ -H "Content-Type: application/json" \ -d '{ "name" : "'"$ORG_NAME"'", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }' \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"如果輸出內容包含下列屬性,表示已成功啟用 Apigee Connect: { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }輸出內容應如下所示: { "name": "hybrid-example-2", "createdAt": "1594409699772", "lastModifiedAt": "1594776283697", "environments": [ "example-env" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-central1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL" }