步驟 4:設定叢集

指定設定覆寫值

Apigee Hybrid 安裝程式會為許多設定使用預設值,但有些設定沒有預設值。您必須為這些設定提供值,如下文所述。

  1. 請確認您位於 hybrid-base-directory/hybrid-files/overrides/ 目錄。
    cd hybrid-base-directory/hybrid-files/overrides
  2. 使用您偏好的文字編輯器建立名為 overrides.yaml 的新檔案。例如:
    vi overrides.yaml

    overrides.yaml 會為您的 Apigee Hybrid 專屬安裝作業提供設定。這個步驟中的覆寫檔案會為小型混合式執行階段安裝作業提供基本設定,適合用於首次安裝作業。

  3. overrides.yaml 中新增必要的屬性值,如下所示。以下也提供各項屬性的詳細說明:

    語法

    請確認 overrides.yaml 檔案具有下列結構和語法。red, bold italics 中的值是您必須提供的屬性值。請參閱下表的說明。

    
    gcp:
      region: analytics-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-region # Must be the same region where the cluster is running.
    
    org: org-name
    
    instanceID: "unique-instance-identifier"
    
    cassandra:
      hostNetwork: false #Set this to `true` for GKE-On-prem installations.
    
    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
          udca: ./service-accounts/udca-service-account-name.json
    
    mart:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
      # Same account used for mart and connectAgent
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
    
    watcher:
      serviceAccountPath: ./service-accounts/watcher-service-account-name.json
    
    logger:
      enabled: true
      serviceAccountPath: ./service-accounts/logger-service-account-name.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 #Set this to `true` for GKE-On Prem installations.
    
    virtualhosts:
      - name: example-env-group
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-udca.json
    
    mart:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/example-hybrid-apigee-mart.json
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
    
    watcher:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-watcher.json
    
    logger:
      enabled: true
      serviceAccountPath: ./service-accounts/logger-service-account-name.json
    
    
  4. 完成後,請儲存檔案。

下表說明您必須在覆寫檔案中提供的每個屬性值。詳情請參閱「設定屬性參考資料」。

變數 說明
analytics-region 您必須將這個值設為叢集執行所在的區域。這是您先前在建立叢集時,指派給環境變數 ANALYTICS_REGION 的值。apigee-loggerapigee-metrics 會將資料推送至這個區域。
gcp-project-id 指出 apigee-loggerapigee-metrics 推送資料的 Google Cloud 專案。這是指派給環境變數 PROJECT_ID 的值。
cluster-name Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME 的值。
org-name Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME 的值。
unique-instance-identifier

用於識別這個執行個體的專屬字串。可以混合使用英文字母和數字,長度上限為 63 個半形字元。

您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中的所有機構的 instanceId 必須相同
environment-group-name 環境所屬環境群組的名稱。這是您在「專案和機構設定 - 步驟 6:建立環境群組」一文中建立的群組。這是指派給環境變數 ENV_GROUP 的值。
cert-name
key-name
輸入您先前在步驟 3:安裝 apigeectl 中產生的自行簽署 TLS 金鑰和憑證檔案名稱。這些檔案必須位於 base_directory/hybrid-files/certs 目錄中。例如:
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
environment-name 請使用您在 UI 中建立環境時使用的名稱,如「專案和機構設定 - 步驟 6:建立環境群組」一文所述。
synchronizer-service-account-name 您使用 create-service-account 工具產生的 synchronizer 服務帳戶金鑰檔案名稱。例如:
serviceAccountPath:
  synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
udca-service-account-name 您使用 create-service-account 工具產生的 udca 服務帳戶金鑰檔案名稱。例如:
serviceAccountPath:
  udca: ./service-accounts/hybrid-project-apigee-udca.json
mart-service-account-name 您使用 create-service-account 工具產生的 mart 服務帳戶金鑰 JSON 檔案名稱。
metrics-service-account-name 您使用 create-service-account 工具產生的成效指標服務帳戶 JSON 檔案名稱。例如:
metrics:
  serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
mart-service-account-name 您在步驟 3:安裝 apigeectl 中建立的 mart 服務帳戶名稱 (已指派 Apigee Connect 代理人 角色)。MART 和 Apigee Connect 代理程式會使用相同的服務帳戶。
watcher-service-account-name 您使用 create-service-account 工具產生的 watcher 服務帳戶 JSON 檔案名稱。例如:
watcher:
  serviceAccountPath: ./service-accounts/hybrid-project-apigee-watcher.json

摘要

設定檔會告訴 Kubernetes 如何將混合型元件部署至叢集。接下來,您將將這項設定套用至叢集。

1 2 4 (NEXT) Step 5: Install hybrid runtime