第 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. cd 复制到 overrides 目录:
  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 使用在界面中创建环境时使用的名称,如第 5 步:在混合界面中添加新环境中所述。
test-host-alias

(必需)对于快速入门,请使用通配符“*”。

建议仅在使用自签名 TLS 凭据时才将 * 用于试用版安装。稍后,当您开发更复杂的 Apigee Hybrid 配置(例如创建多个环境)时,您需要为此值使用限定域名。

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 On-Prem 集成式负载平衡,您需要在混合 MART 和运行时服务中为 LoadBalancer 提供虚拟 IP。GKE On-Prem 会自动在 F5 BIG-IP 负载平衡器上配置虚拟 IP 地址。如需了解详情,请参阅为 GKE On-Prem 设置负载平衡器
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 步:安装 Hybrid 运行时