指定配置替换
Apigee Hybrid 安装程序使用许多设置的默认值;但是,有几项设置没有默认值。如下文所述,您必须为这些设置提供值。
- 确保您位于
hybrid-base-directory/hybrid-files/overrides/
目录中。cd hybrid-base-directory/hybrid-files/overrides
- 在您首选的文本编辑器中创建名为
overrides.yaml
的新文件。例如:vi overrides.yaml
overrides.yaml
提供您独特的 Apigee Hybrid 安装的配置。此步骤中的替换文件为小规模 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 | 用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,长度不得超过 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 | 使用您在界面中创建环境时所用的相同名称,详见项目和组织设置 - 第 5 步:创建环境组。 |
synchronizer-service-account-name | 对于非生产环境,单个服务账号的名称,默认为 non-prod 。对于生产环境,apigee-synchronizer 您生成的服务账号密钥文件create-service-account 工具Hybrid 运行时设置 - 第 6 步:创建服务账号和凭据。您可以在 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 (下一步)第 8 步:启用同步器访问权限 9