指定設定覆寫值
Apigee Hybrid 安裝程式會為許多設定使用預設值,但有些設定沒有預設值。您必須為這些設定提供值,如下文所述。
- 請確認您位於
hybrid-base-directory/hybrid-files/overrides/
目錄。cd hybrid-base-directory/hybrid-files/overrides
- 使用您偏好的文字編輯器建立名為
overrides.yaml
的新檔案。例如:vi overrides.yaml
overrides.yaml
會為您的 Apigee Hybrid 專屬安裝作業提供設定。這個步驟中的覆寫檔案會為小型混合式執行階段安裝作業提供基本設定,適合用於首次安裝作業。 - 在
overrides.yaml
中新增必要的屬性值,如下所示。以下也提供各項屬性的詳細說明:語法
請確認
overrides.yaml
檔案具有下列結構和語法。red, bold italics 中的值是您必須提供的屬性值。請參閱下表的說明。Google Cloud 專案區域和 Kubernetes 叢集區域的不同平台之間存在差異。選擇要安裝 Apigee Hybrid 的平台。
gcp: region: analytics-region projectID: gcp-project-id k8sCluster: name: cluster-name region: cluster-location # Must be the closest Google Cloud region to your cluster. org: org-name instanceID: "unique-instance-identifier" cassandra: hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites virtualhosts: - name: environment-group-name sslCertPath: ./certs/cert-name.pem sslKeyPath: ./certs/key-name.key envs: - name: environment-name serviceAccountPaths: synchronizer: ./service-accounts/synchronizer-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-synchronizer.json udca: ./service-accounts/udca-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-udca.json runtime: ./service-accounts/runtime-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/mart-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/mart-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-mart.json # Use the same service account for mart and connectAgent metrics: serviceAccountPath: ./service-accounts/metrics-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/udca-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/watcher-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-watcher.json logger: enabled: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: ./service-accounts/logger-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-logger.json
範例
以下範例顯示已完成的覆寫檔案,其中加入了屬性值範例:
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" cassandra: hostNetwork: false virtualhosts: - name: example-env-group sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-synchronizer.json udca: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json runtime: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms. serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, logger-service-account-name.json
- 完成後,請儲存檔案。
下表說明您必須在覆寫檔案中提供的每個屬性值。詳情請參閱「設定屬性參考資料」。
變數 | 說明 |
---|---|
analytics-region | 在 GKE 中,您必須將這個值設為叢集執行所在的區域。在所有其他平台中,選取與叢集最接近且支援 Analytics 的數據分析區域 (請參閱第 1 部分,步驟 4:建立機構中的表格)。
這是您先前指派給環境變數 |
gcp-project-id | 指出 apigee-logger 和 apigee-metrics 推送資料的 Google Cloud 專案。這是指派給環境變數 PROJECT_ID 的值。 |
cluster-name | Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME 的值。 |
cluster-location | 叢集執行的地區。這是您在步驟 1:建立叢集中建立叢集的地區。
這是您先前指派給環境變數 |
org-name | Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME 的值。 |
unique-instance-identifier | 用於識別這個執行個體的專屬字串。可以混合使用英文字母和數字,長度上限為 63 個半形字元。 您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中的所有機構的instanceId 必須相同。 |
environment-group-name | 環境所屬環境群組的名稱。這是您在「專案和機構設定 - 步驟 5:建立環境群組」一節中建立的群組。這是指派給環境變數 ENV_GROUP 的值。
|
cert-name key-name |
輸入您先前在步驟 6:建立 TLS 憑證中產生的自行簽署 TLS 金鑰和憑證檔案名稱。這些檔案必須位於 base_directory/hybrid-files/certs 目錄中。例如:sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key |
environment-name | 請使用在 UI 中建立環境時使用的名稱,如專案和機構設定 - 步驟 5:建立環境群組所述。 |
synchronizer-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您在混合式執行階段設定 - 步驟 6:建立服務帳戶和憑證中,使用 create-service-account 工具產生的 apigee-synchronizer 服務帳戶金鑰檔案名稱。您可以在 service-accounts/ 目錄中查看服務帳戶檔案清單。例如:
ls ../service-accounts/ |
udca-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您使用 create-service-account 工具產生的 apigee-udca 服務帳戶金鑰檔案名稱。 |
runtime-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。對於實際環境,請輸入您使用 create-service-account 工具產生的 apigee-runtime 服務帳戶金鑰檔案名稱。 |
mart-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您使用 create-service-account 工具產生的 apigee-mart 服務帳戶金鑰檔案名稱。 |
metrics-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您使用 create-service-account 工具產生的 apigee-metrics 服務帳戶金鑰檔案名稱。 |
udca-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您使用 create-service-account 工具產生的 apigee-udca 服務帳戶金鑰檔案名稱。 |
watcher-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您使用 create-service-account 工具產生的 apigee-watcher 服務帳戶金鑰檔案名稱。 |
logger-service-account-name | 對於非正式環境,單一服務帳戶的名稱,預設為 non-prod 。如為實際環境,請輸入您使用 create-service-account 工具產生的 apigee-logger 服務帳戶金鑰檔案名稱。 |
摘要
設定檔會告訴 Kubernetes 如何將混合型元件部署至叢集。接下來,您將啟用同步處理工具存取權,讓 Apigee 執行階段和管理計畫能夠進行通訊。
1 2 3 4 5 6 7 (NEXT) 步驟 8:啟用 Synchronizer 存取權 9