指定配置替换
Apigee Hybrid 安装程序对许多设置使用默认值。但是,有一些设置没有默认值。如下文所述,您必须为这些设置提供值。
准备工作
我们建议您查看以下场景以确定您是否要为它们配置集群。这些配置是可选的。
- 如果您计划在多个区域中安装 Hybrid,请阅读多区域部署,然后再继续操作。
- Apigee Hybrid 为 Cassandra 用户提供默认密码。Apigee 建议您更改默认用户密码。如需了解详情,请参阅为 Cassandra 配置 TLS。
- 如果要为 Cassandra 配置存储空间和堆设置,请参阅配置存储空间和堆设置。
- 如第 1 部分:项目和组织设置 - 第 1 步:启用 API中所述,对于生产安装场景,请为 Cassandra 配置永久性固态硬盘 (SSD) 存储空间。Apigee 不支持对 Apigee Hybrid 使用本地 SSD。如需了解详情,请参阅为生产部署添加 SSD 存储空间。
配置集群
按照惯例,配置替换项会写入名为 overrides.yaml
的文件,该文件通常存储在 $APIGEE_HELM_CHARTS_HOME
目录中。
- 在
$APIGEE_HELM_CHARTS_HOME
目录中创建名为overrides.yaml
的新文件。overrides.yaml
提供唯一 Apigee Hybrid 安装的配置。此步骤中的替换文件会为小规模 Hybrid 运行时安装提供基本配置,适合首次安装。 - 在
overrides.yaml
中,添加所需的属性值,如下所示。下面提供了每个属性的详细说明。请确保
overrides.yaml
文件具有以下结构和语法。选择与安装中使用的服务账号身份验证类型对应的标签页: 第 4 步:创建服务账号。
- Kubernetes Secret 中的服务账号密钥:Kubernetes Secret
- 服务账号 JSON 密钥文件:JSON 文件
- 保险柜中的服务账号密钥:保险柜
- 适用于 GKE 的工作负载身份联合:WIF for GKE
- 工作负载身份联合:其他平台上的 WIF
如需大致了解不同的身份验证选项,请参阅 Apigee Hybrid 中的服务账号身份验证方法。
为安装、生产、生产或非生产(演示、评估或概念验证安装)选择标签页,非生产取决于您在第 4 步:创建服务账号中的选择。
对于生产环境中的安装,请在针对生产环境配置 Cassandra 中查看 Cassandra 数据库的存储要求。
Kubernetes Secret
生产
模板
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_SECRET # For example: "apigee-synchronizer-svc-account" runtime: RUNTIME_SERVICE_ACCOUNT_SECRET # For example: "apigee-runtime-svc-account" udca: UDCA_SERVICE_ACCOUNT_SECRET # For example: "apigee-udca-svc-account" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountRef: MART_SERVICE_ACCOUNT_SECRET # For example: "apigee-mart-svc-account" connectAgent: serviceAccountRef: MART_SERVICE_ACCOUNT_SECRET # Use the same secret for mart and connectAgent # For example: "apigee-mart-svc-account" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountRef: LOGGER_SERVICE_ACCOUNT_SECRET # For example: "apigee-logger-svc-account" metrics: serviceAccountRef: METRICS_SERVICE_ACCOUNT_SECRET # For example: "apigee-metrics-svc-account" udca: serviceAccountRef: UDCA_SERVICE_ACCOUNT_SECRET # For example: "apigee-udca-svc-account" watcher: serviceAccountRef: WATCHER_SERVICE_ACCOUNT_SECRET # For example: "apigee-watcher-svc-account" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_SECRET # For example: "apigee-mint-task-scheduler-svc-account" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号密钥创建的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非生产
apigee-non-prod-svc-account
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretRefs: synchronizer: "apigee-synchronizer-svc-account" runtime: "apigee-runtime-svc-account" udca: "apigee-udca-svc-account" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "apigee-mart-svc-account" connectAgent: serviceAccountRef: "apigee-mart-svc-account" logger: enabled: true serviceAccountRef: "apigee-logger-svc-account" metrics: serviceAccountRef: "apigee-metrics-svc-account" udca: serviceAccountRef: "apigee-udca-svc-account" watcher: serviceAccountRef: "apigee-watcher-svc-account" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: apigee-mint-task-scheduler-svc-account # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号密钥创建的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非生产
apigee-non-prod-svc-account
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
非生产
模板
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" runtime: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" udca: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" connectAgent: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # Use the same secret for mart and connectAgent # For example: "apigee-non-prod-svc-account" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" metrics: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" udca: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" watcher: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号密钥创建的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非生产
apigee-non-prod-svc-account
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretRefs: synchronizer: "apigee-non-prod-svc-account" runtime: "apigee-non-prod-svc-account" udca: "apigee-non-prod-svc-account" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "apigee-non-prod-svc-account" connectAgent: serviceAccountRef: "apigee-non-prod-svc-account" logger: enabled: true serviceAccountRef: "apigee-non-prod-svc-account" metrics: serviceAccountRef: "apigee-non-prod-svc-account" udca: serviceAccountRef: "apigee-non-prod-svc-account" watcher: serviceAccountRef: "apigee-non-prod-svc-account" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: apigee-non-prod-svc-account # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号密钥创建的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非生产
apigee-non-prod-svc-account
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
JSON 文件
生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-synchronizer.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-runtime.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-udca.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-F chart directory. # For example: "PROJECT_ID-apigee-logger.json" mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-mart.json" metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-watcher.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-mint-task-scheduler.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
FILEPATH相应图表目录中服务账号 JSON 文件的路径和文件名账号。提供名称以及相对于图表目录的路径。例如: - 如果
my-project-apigee-synchronizer.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
对于非生产环境,单个服务账号的名称默认为
PROJECT_ID-non-prod.json
。对于生产环境,该名称是您使用第 4 步:创建服务账号中的
create-service-account
工具生成的服务账号密钥文件的名称。您可以在每个相应的图表目录中查看服务账号文件。
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非生产
服务账号文件名 图表目录 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountPaths: synchronizer: "my-project-apigee-synchronizer.json" runtime: "my-project-apigee-runtime.json" udca: "my-project-apigee-udca.json" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true serviceAccountPath: "my-project-apigee-logger.json" mart: serviceAccountPath: "my-project-apigee-mart.json" connectAgent: serviceAccountPath: "my-project-apigee-mart.json" metrics: serviceAccountPath: "my-project-apigee-metrics.json" udca: serviceAccountPath: "my-project-apigee-udca.json" watcher: serviceAccountPath: "my-project-apigee-watcher.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: my-project-apigee-mint-task-scheduler.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
FILEPATH相应图表目录中服务账号 JSON 文件的路径和文件名账号。提供名称以及相对于图表目录的路径。例如: - 如果
my-project-apigee-synchronizer.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
对于非生产环境,单个服务账号的名称默认为
PROJECT_ID-non-prod.json
。对于生产环境,该名称是您使用第 4 步:创建服务账号中的
create-service-account
工具生成的服务账号密钥文件的名称。您可以在每个相应的图表目录中查看服务账号文件。
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非生产
服务账号文件名 图表目录 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
非生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-F chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
FILEPATH相应图表目录中服务账号 JSON 文件的路径和文件名账号。提供名称以及相对于图表目录的路径。例如: - 如果
my-project-apigee-synchronizer.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
对于非生产环境,单个服务账号的名称默认为
PROJECT_ID-non-prod.json
。对于生产环境,该名称是您使用第 4 步:创建服务账号中的
create-service-account
工具生成的服务账号密钥文件的名称。您可以在每个相应的图表目录中查看服务账号文件。
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非生产
服务账号文件名 图表目录 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountPaths: synchronizer: "hybrid-example-apigee-non-prod.json" runtime: "hybrid-example-apigee-non-prod.json" udca: "hybrid-example-apigee-non-prod.json" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountPath: "my-project-apigee-non-prod.json" connectAgent: serviceAccountPath: "my-project-apigee-non-prod.json" logger: enabled: true serviceAccountPath: "my-project-apigee-non-prod.json" metrics: serviceAccountPath: "my-project-apigee-non-prod.json" udca: serviceAccountPath: "my-project-apigee-non-prod.json" watcher: serviceAccountPath: "my-project-apigee-non-prod.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: my-project-apigee-non-prod.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
FILEPATH相应图表目录中服务账号 JSON 文件的路径和文件名账号。提供名称以及相对于图表目录的路径。例如: - 如果
my-project-apigee-synchronizer.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
对于非生产环境,单个服务账号的名称默认为
PROJECT_ID-non-prod.json
。对于生产环境,该名称是您使用第 4 步:创建服务账号中的
create-service-account
工具生成的服务账号密钥文件的名称。您可以在每个相应的图表目录中查看服务账号文件。
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非生产
服务账号文件名 图表目录 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
保险柜
生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretProviderClass: apigee-envsakeys-prod-env-spc cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
非生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretProviderClass: apigee-envsakeys-test-env-spc cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # for message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
适用于 GKE 的 WIF
生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME gsa: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com" runtime: RUNTIME_SERVICE_ACCOUNT_EMAIL # For example: "apigee-runtime@PROJECT_ID.iam.gserviceaccount.com" udca: UDCA_SERVICE_ACCOUNT_EMAIL # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. backup: enabled: true # Required to create the Cassandra Kubernetes service accounts # for Workload Identity Federation for GKE # See Cassandra backup overview. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: gsa: MART_SERVICE_ACCOUNT_EMAIL # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" connectAgent: gsa: MART_SERVICE_ACCOUNT_EMAIL # Use the same service account email for mart and connectAgent # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. gsa: LOGGER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-logger@PROJECT_ID.iam.gserviceaccount.com" metrics: gsa: METRICS_SERVICE_ACCOUNT_EMAIL # For example: "apigee-metrics@PROJECT_ID.iam.gserviceaccount.com" udca: gsa: UDCA_SERVICE_ACCOUNT_EMAIL # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" watcher: gsa: WATCHER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-watcher@PROJECT_ID.iam.gserviceaccount.com" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid gsa: MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-mint-task-scheduler@PROJECT_ID.iam.gserviceaccount.com" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
EMAIL当您使用 Workload Identity Federation for GKE 时,您需要提供的 Google 服务账号 (GSA) 的服务账号电子邮件地址。 这些服务账号是您在第 4 步:创建服务账号中创建的服务账号。 您可以使用以下命令找到服务账号的电子邮件地址: gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
请参阅:
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: true k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env gsa: synchronizer: "apigee-synchronizer@my-project.iam.gserviceaccount.com" runtime: "apigee-runtime@my-project.iam.gserviceaccount.com" udca: "apigee-udca@my-project.iam.gserviceaccount.com" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: gsa: "apigee-mart@my-project.iam.gserviceaccount.com" connectAgent: gsa: "apigee-mart@my-project.iam.gserviceaccount.com" logger: enabled: true gsa: "apigee-logger@my-project.iam.gserviceaccount.com" metrics: gsa: "apigee-metrics@my-project.iam.gserviceaccount.com" udca: gsa: "apigee-udca@my-project.iam.gserviceaccount.com" watcher: gsa: "apigee-watcher@my-project.iam.gserviceaccount.com" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: my-project-apigee-mint-task-scheduler.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
SERVICE_ACCOUNT_
EMAIL当您使用 Workload Identity Federation for GKE 时,您需要提供的 Google 服务账号 (GSA) 的服务账号电子邮件地址。 这些服务账号是您在第 4 步:创建服务账号中创建的服务账号。 您可以使用以下命令找到服务账号的电子邮件地址: gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
请参阅:
非生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true gsa: "NON_PROD_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。NON_PROD_
SERVICE_ACCOUNT_
EMAIL非生产环境 Google 服务账号 (GSA) 的服务账号电子邮件地址。 这是您在第 4 步:创建服务账号中创建的 apigee-non-prod
服务账号。如果您在非生产安装中使用 Workload Identity Federation for GKE,请为
gcp.workloadIdentity.gsa
属性指定服务账号电子邮件地址。您无需为任何单个组件添加gsa
属性。您可以使用以下命令找到服务账号的电子邮件地址:
gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: true gsa: "apigee-non-prod@my-project.iam.gserviceaccount.com" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。NON_PROD_
SERVICE_ACCOUNT_
EMAIL非生产环境 Google 服务账号 (GSA) 的服务账号电子邮件地址。 这是您在第 4 步:创建服务账号中创建的 apigee-non-prod
服务账号。如果您在非生产安装中使用 Workload Identity Federation for GKE,请为
gcp.workloadIdentity.gsa
属性指定服务账号电子邮件地址。您无需为任何单个组件添加gsa
属性。您可以使用以下命令找到服务账号的电子邮件地址:
gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
其他平台上的 WIF
WIF:密钥
生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: SYNCHRONIZER_WORKLOAD_IDENTITY_SECRET # For example: "synchronizer-workload-identity-secret" runtime: RUNTIME_WORKLOAD_IDENTITY_SECRET # For example: "runtime-workload-identity-secret" udca: UDCA_WORKLOAD_IDENTITY_SECRET # For example: "udca-workload-identity-secret" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_WORKLOAD_IDENTITY_SECRET # For example: "mart-workload-identity-secret" connectAgent: serviceAccountPath: MART_WORKLOAD_IDENTITY_SECRET # Use the same secret for mart and connectAgent # For example: "mart-workload-identity-secret" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, create a # Kubernetes secret for apigee-logger by following the steps # under Kubernetes secrets in # Step 5: Set up service account authentication. # Provide a reference to the secret with the # logger.serviceAccountRef property. metrics: serviceAccountPath: METRICS_WORKLOAD_IDENTITY_SECRET # For example: "metrics-workload-identity-secret" udca: serviceAccountPath: UDCA_WORKLOAD_IDENTITY_SECRET # For example: "udca-workload-identity-secret" watcher: serviceAccountPath: WATCHER_WORKLOAD_IDENTITY_SECRET # For example: "watcher-workload-identity-secret" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: MINT_TASK_SCHEDULER_WORKLOAD_IDENTITY_SECRET # For example: "apigee-mint-task-scheduler-workload-identity-secret" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号凭据配置设置的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非生产
non-prod-workload-identity-secret
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretRefs: synchronizer: "synchronizer-workload-identity-secret" runtime: "runtime-workload-identity-secret" udca: "udca-workload-identity-secret" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "mart-workload-identity-secret" connectAgent: serviceAccountRef: "mart-workload-identity-secret" logger: enabled: false metrics: serviceAccountRef: "metrics-workload-identity-secret" udca: serviceAccountRef: "udca-workload-identity-secret" watcher: serviceAccountRef: "watcher-workload-identity-secret" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: "apigee-mint-task-scheduler-workload-identity-secret" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号凭据配置设置的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非生产
non-prod-workload-identity-secret
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
非生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" runtime: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" udca: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" connectAgent: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # Use the same secret for mart and connectAgent # For example: "non-prod-workload-identity-secret" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, create a # Kubernetes secret for apigee-logger by following the steps # under Kubernetes secrets in # Step 5: Set up service account authentication. # Provide a reference to the secret with the # logger.serviceAccountRef property. metrics: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" udca: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" watcher: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号凭据配置设置的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非生产
non-prod-workload-identity-secret
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretRefs: synchronizer: "non-prod-workload-identity-secret" runtime: "non-prod-workload-identity-secret" udca: "non-prod-workload-identity-secret" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "non-prod-workload-identity-secret" connectAgent: serviceAccountRef: "non-prod-workload-identity-secret" logger: enabled: false metrics: serviceAccountRef: "non-prod-workload-identity-secret" udca: serviceAccountRef: "non-prod-workload-identity-secret" watcher: serviceAccountRef: "non-prod-workload-identity-secret" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: "non-prod-workload-identity-secret" # for message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在第 5 步:设置服务账号身份验证中为服务账号凭据配置设置的 Kubernetes Secret 的名称。 本指南中建议的 Secret 的默认名称如下:
生产
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非生产
non-prod-workload-identity-secret
请参阅:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
WIF:文件
生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: SYNCHRONIZER_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-synchronizer-credential-configuration.json" runtime: RUNTIME_SERVICE_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-runtime-credential-configuration.json" udca: UDCA_SERVICE_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-udca-credential-configuration.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE installations. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift # installations. See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-mart-credential-configuration.json" connectAgent: serviceAccountPath: MART_CREDENTIAL_CONFIGURATION_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "apigee-mart-credential-configuration.json" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, provide # the path to the apigee-logger service account key file with # the logger.serviceAccountPath property. metrics: serviceAccountPath: METRICS_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-metrics-credential-configuration.json" udca: serviceAccountPath: UDCA_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-udca-credential-configuration.json" watcher: serviceAccountPath: WATCHER_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-watcher-credential-configuration.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: MINT_TASK_SCHEDULER_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-mint-task-scheduler-credential-configuration.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在第 5 步:设置服务账号身份验证中创建的凭据配置文件的路径和文件名账号。 提供名称以及相对于图表目录的路径。例如:
- 如果
apigee-synchronizer-credential-configuration.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非生产
服务账号文件名 图表目录 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountPaths: synchronizer: "apigee-synchronizer-credential-configuration.json" runtime: "apigee-runtime-credential-configuration.json" udca: "apigee-udca-credential-configuration.json" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountPath: "apigee-mart-credential-configuration.json" connectAgent: serviceAccountPath: "apigee-mart-credential-configuration.json" logger: enabled: false metrics: serviceAccountPath: "apigee-metrics-credential-configuration.json" udca: serviceAccountPath: "apigee-udca-credential-configuration.json" watcher: serviceAccountPath: "apigee-watcher-credential-configuration.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: apigee-mint-task-scheduler-credential-configuration.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在第 5 步:设置服务账号身份验证中创建的凭据配置文件的路径和文件名账号。 提供名称以及相对于图表目录的路径。例如:
- 如果
apigee-synchronizer-credential-configuration.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非生产
服务账号文件名 图表目录 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
非生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-non-prod-credential-configuration.json" runtime: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-non-prod-credential-configuration.json" udca: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-non-prod-credential-configuration.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-non-prod-credential-configuration.json" connectAgent: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "apigee-non-prod-credential-configuration.json" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, provide # the path to the apigee-non-prod service account key file with # the logger.serviceAccountPath property. metrics: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-non-prod-credential-configuration.json" udca: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-non-prod-credential-configuration.json" watcher: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-non-prod-credential-configuration.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-non-prod-credential-configuration.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在第 5 步:设置服务账号身份验证中创建的凭据配置文件的路径和文件名账号。 提供名称以及相对于图表目录的路径。例如:
- 如果
apigee-synchronizer-credential-configuration.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非生产
服务账号文件名 图表目录 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountPaths: synchronizer: "apigee-non-prod-credential-configuration.json" runtime: "apigee-non-prod-credential-configuration.json<" udca: "apigee-non-prod-credential-configuration.json" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountPath: "apigee-non-prod-credential-configuration.json" connectAgent: serviceAccountPath: "apigee-non-prod-credential-configuration.json" logger: enabled: false metrics: serviceAccountPath: "apigee-non-prod-credential-configuration.json" udca: serviceAccountPath: "apigee-non-prod-credential-configuration.json" watcher: serviceAccountPath: "apigee-non-prod-credential-configuration.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: apigee-non-prod-credential-configuration.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在第 5 步:设置服务账号身份验证中创建的凭据配置文件的路径和文件名账号。 提供名称以及相对于图表目录的路径。例如:
- 如果
apigee-synchronizer-credential-configuration.json
文件位于apigee-env/
图表目录中,您只需提供文件名,例如:synchronizer: "FILE_NAME.json"
- 如果文件位于
apigee-env/service-accounts/
目录中,您可以指定相对路径:synchronizer: "service-accounts/FILE_NAME.json"
服务账号的相应图表目录的默认名称如下:
生产
服务账号文件名 图表目录 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非生产
服务账号文件名 图表目录 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
请参阅:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
WIF:保险柜
生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, add # a "logger" : "value" entry in the orgsakeys vault secret # using the contents of the apigee-logger key file for the # value. See Step 5: Set up service account authentication. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretProviderClass: apigee-envsakeys-prod-env-spc cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: false # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
非生产
模板
red, bold italics 中的值是您必须提供的属性值。您可以在此页面上修改它们的值。下表中介绍了它们。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, add # a "logger" : "value" entry in the orgsakeys vault secret # using the contents of the apigee-non-prod key file for the # value. See Step 5: Set up service account authentication. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
示例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretProviderClass: apigee-envsakeys-test-env-spc cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: false # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # for message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表介绍了您必须在替换文件中提供的每个属性值。如需了解详情,请参阅配置属性参考文档。
变量 说明 UNIQUE_INSTANCE_
IDENTIFIER用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,最多可达 63 个字符。
您可以在同一集群中创建多个组织,但对于同一 Kubernetes 集群中的所有组织,
instanceID
必须相同。请参阅
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 组件的 Kubernetes 命名空间。
默认值为
apigee
。请参阅
namespace
。PROJECT_ID 标识 apigee-logger
和apigee-metrics
将其数据推送到的 Google Cloud 项目。这是分配给环境变量PROJECT_ID
的值。请参阅
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必须将此值设置为集群在其中运行的区域。在所有其他平台上,请选择支持 Analytics 的集群的最近分析区域(请参阅第 1 部分的第 2 步:创建组织中的表)。 这是您在先前为环境变量
ANALYTICS_REGION
分配的值。请参阅
gcp.region
。AUDIENCE 工作负载身份提供方允许的目标对象。您可以在任何凭证配置文件中搜索 audience:
一词来查找该值。每个凭证配置文件中的 audience 值都相同。例如,在以下示例
apigee-udca-credential-configuration.json
文件中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目标受众群体值将如下所示(不换行):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME 您的 Kubernetes 集群名称。这是分配给环境变量 CLUSTER_NAME
的值。请参阅
k8sCluster.name
。CLUSTER_LOCATION 集群运行所在的区域。这是您在第 1 步:创建集群中创建集群所在的区域。 这是您在先前为环境变量
CLUSTER_LOCATION
分配的值。请参阅
k8sCluster.location
。ORG_NAME 您的 Apigee Hybrid 组织的 ID。这是分配给环境变量 ORG_NAME
的值。请参阅
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安装中使用数据驻留,则必须提供此值。这是存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域。它是在第 2 步:创建组织中分配给 CONTROL_PLANE_LOCATION
环境变量的值。请参阅
contractProvider
。ENVIRONMENT_NAME 使用您在界面中创建环境时所用的名称,如 项目和组织设置 - 第 3 步:创建环境组中所述。 请参阅
envs[].name
。ENVIRONMENT_GROUP_
NAME您的环境所分配到的环境组的名称。 这是您在项目和组织设置 - 第 3 步:创建环境组中创建的组。这是分配给环境变量 ENV_GROUP
的值。请参阅
virtualhosts[].name
。INGRESS_NAME 部署的 Apigee 入站流量网关的名称。 该字段可以是满足以下要求的任何名称: - 长度不得超过 17 个字符
- 只能包含小写字母数字字符、“-”或“.”
- 以字母数字字符开头
- 以字母数字字符结尾
请参阅:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE输入您之前在 第 6 步:创建 TLS 证书中生成的自签名 TLS 密钥和证书文件的路径和文件名。这些文件必须位于 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目录中。 例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
请参阅:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(可选)这是一个键值对,用于为默认入站流量服务提供注解。您的云平台使用注解来帮助配置 Hybrid 安装,例如将负载均衡器类型设置为内部或外部。 注解因平台而异。如需了解必需和建议的注解,请参阅平台文档。
如果不使用此部分,请将其注释掉或删除。
摘要
配置文件指示 Kubernetes 如何将 Hybrid 组件部署到集群。接下来,您将启用同步器访问权限,以便 Apigee 运行时和管理平面能够进行通信。
下一步
1 2 3 4 5 6 7 (下一步)第 8 步:启用控制平面访问权限 9 10 11