步驟 3:設定 GKE On-Prem 使用者叢集

指定設定覆寫值

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/test-cert-name.pem
        sslKeyPath: ./certs/test-key-name.key
        routingRules:
          - paths:
            - /path1
            - /path2
            - /pathn
            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
    
    cassandra:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
    
    ingress:
      runtime:
        loadBalancerIP: virtual_IP_runtime
      mart:
        loadBalancerIP: virtual_IP_mart
    
    
    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:
            - /foo
            - /bar
            env: test
    
    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
    
    cassandra:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
    
    ingress:
      runtime:
        loadBalancerIP: 21.0.124.13
      mart:
        loadBalancerIP: 21.0.124.14
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
    
    logger:
      enabled: false
  6. 完成後,請儲存檔案。

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

變數 說明
project-id 您的 GCP 專案 ID。
cluster-name Kubernetes 叢集名稱。
cluster-region 建立叢集的地區
org-name Apigee Hybrid 機構的名稱。
environment-name 請使用在 UI 中建立環境時使用的名稱,如步驟 5:在混合式 UI 中新增環境所述。
test-host-alias

(必填) 在快速入門中,請使用萬用字元「*」。

只有在使用自行簽署的 TLS 憑證時,才建議在試用安裝作業中使用 *。日後,如果您要開發更複雜的 Apigee 混合型設定 (例如建立多個環境),就必須使用合格的網域名稱做為這個值。

test-cert-name
test-key-name
輸入您先前在「 為執行階段閘道建立 TLS 憑證」步驟中產生的自行簽署 TLS 金鑰和憑證檔案名稱。這些檔案必須位於 base_directory/hybrid-files/certs 目錄中。例如:
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
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
virtual_IP_runtime,
virtual_IP_mart
如要使用 GKE 內部部署整合式負載平衡,您必須為混合式 MART 和執行階段服務的 LoadBalancer 提供虛擬 IP。GKE on-prem 會自動在 F5 BIG-IP 負載平衡器上設定虛擬 IP。詳情請參閱「設定 GKE 內部負載平衡器
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
gcp-region 指出 apigee-loggerapigee-metrics 推送資料的 GCP 區域
gcp-project-id 指出 apigee-loggerapigee-metrics 推送資料的 Google Cloud 專案。
metrics-service-account-name 您使用 create-service-account 工具產生的成效評估服務帳戶金鑰檔案名稱。例如:
serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json

摘要

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

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