步驟 3:設定 GKE 叢集

指定設定覆寫值

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

  1. 確認您位於 hybrid-base-directory/hybrid-files 目錄。
  2. overrides-small.yaml 檔案從 $APIGEECTL_HOME/examples 目錄複製到 overrides 目錄:
    cp $APIGEECTL_HOME/examples/overrides-small.yaml ./overrides/overrides.yaml

    這個範例檔案提供小型混合式執行階段安裝作業的基本設定,這類設定適合用於首次安裝作業。

  3. cdoverrides 目錄:
  4. cd overrides
  5. 開啟 overrides.yaml 並新增必要的屬性值,如下所示。以下也提供各個屬性的詳細說明:

    語法

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

    gcp:
      region: gcp-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-region
    
    org: org-name
    
    virtualhosts:
      - name: virtual-host-name
        hostAliases:
          - "host-alias-1"
          - "host-alias-2"
          - "host-alias-n"
        sslCertPath: ./certs/cert-name.pem
        sslKeyPath: ./certs/key-name.key
        routingRules:
          - paths:
            - /path-1
            - /path-2
            - /path-n
            env: environment-name
    
    envs:
      - name: environment-name          # The same name of the env you created in the UI
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
          udca: ./service-accounts/udca-service-account-name.json
    
    mart:
      hostAlias: mart-host-alias
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
      sslCertPath: ./certs/mart-cert-name.pem
      sslKeyPath: ./certs/mart-key-name.key
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
    
    logger:
      enabled: false

    範例

    以下範例顯示已完成的覆寫檔案,其中加入了屬性值範例:

    gcp:
      region: us-central1
      projectID: my-gcp-project
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-org
    
    virtualhosts:
      - name: default
        hostAliases:
          - "*.acme.com"
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
        routingRules:
          # - paths:
          - env: my-environment
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-udca.json
    
    mart:
      hostAlias: "mart.apigee-hybrid-docs.net"
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-mart.json
      sslCertPath: ./certs/fullchain.pem
      sslKeyPath: ./certs/privkey.key
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
    
    logger:
      enabled: false
  6. 完成後,請儲存檔案。

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

變數 說明
gcp-region 指出 apigee-loggerapigee-metrics 推送資料的 GCP 區域
gcp-project-id 指出 apigee-loggerapigee-metrics 推送資料的 Google Cloud 專案。
cluster-name Kubernetes 叢集名稱。
cluster-region 建立叢集的地區
org-name Apigee Hybrid 機構的名稱。
virtual-host-name 用於識別虛擬主機的名稱。
host-alias (1 - n)

(必填) 環境的完整 DNS 名稱。您可以使用 *.foo.com 等部分萬用字元。不允許使用通用萬用字元 "*"

cert-name
key-name
輸入您先前在「 為執行階段閘道建立 TLS 憑證」步驟中產生的自行簽署 TLS 金鑰和憑證檔案名稱。這些檔案必須位於 base_directory/hybrid-files/certs 目錄中。例如:
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
path (1 - n) 轉送規則會將 API 呼叫導向至所提供的路徑,以便前往上述環境。path-1path-nenvironment-name 中所述環境中部署的 API Proxy 基本路徑。
paths: 為選用欄位。預設路徑為 /。另請參閱「 設定虛擬主機」。注意:目前不需要使用 paths: 。刪除或註解 paths: 和任何路徑項目。
environment-name
(位於 routingRules 下方)
這是 API 呼叫會轉送至的環境。請使用在 UI 中建立環境時使用的名稱,如步驟 5:在混合式 UI 中新增環境所述。
environment-name 請使用在 UI 中建立環境時使用的名稱,如步驟 5:在混合式 UI 中新增環境所述。
synchronizer-service-account-name 您使用 create-service-account 工具產生的同步器服務帳戶金鑰檔案名稱。例如:
synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
udca-service-account-name 您使用 create-service-account 工具產生的 udca 服務帳戶金鑰檔案名稱。例如:
udca: ./service-accounts/hybrid-project-apigee-udca.json
mart-host-alias MART 伺服器端點的合格 DNS 名稱。這個名稱必須與此設定所需的授權 TLS 憑證中使用的通用名稱 (CN) 相符。例如: mart.mydomain.com
mart-service-account-name 您使用 create-service-account 工具產生的 Mart 服務帳戶金鑰檔案名稱。
mart-cert-name
mart-key-name
輸入先前在「為 MART 閘道建立 TLS 憑證」步驟中產生的授權 TLS 金鑰和憑證檔案名稱。這些檔案必須位於 base_directory/hybrid-files/certs 目錄中。例如:
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.key
metrics-service-account-name 您使用 create-service-account 工具產生的成效評估服務帳戶金鑰檔案名稱。例如:
serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json

摘要

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

1 2 3 (下一頁) 步驟 4:安裝混合式執行階段