配置属性参考文档

本部分列出了可用于自定义 Apigee 混合部署的运行时平面的所有配置属性。

过滤此页面

如需过滤此页面中显示的属性,请选择基本(最常见的属性)或高级(很少需要更改的属性):

显示   此页面上的配置属性。

顶层属性

下表描述了 overrides.yaml 文件中的顶层属性。以下属性不属于其他对象,并应用于组织或环境级别:

属性 类型 说明
axHashSalt 高级

在以下版本中引入:1.3.0

默认值:iloveapis123

可选

Kubernetes Secret 的名称,其中包含在计算哈希值时使用的盐值,以在将用户数据发送到 Apigee Analytics 之前混淆用户数据。如果您未指定盐值,则默认使用 iloveapis123。使用盐值作为输入来创建 Secret。您可以对多个集群使用相同的盐,以确保集群之间的哈希结果保持一致。

Apigee 会先使用 SHA512 对原始值进行哈希处理,然后再将数据从运行时平面发送到控制平面。

请参阅对用户数据进行混淆处理以用于分析

contractProvider 高级 在以下版本中引入:1.0.0

默认值:https://apigee.googleapis.com

定义安装中所有 API 的 API 路径。

如果 Hybrid 安装按照以下格式使用数据驻留,则是必需的:

contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com

其中 CONTROL_PLANE_LOCATION 是存储代理软件包等控制平面数据的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域

例如:

contractProvider: https://us-apigee.googleapis.com
customAutoscaling.enabled 基本 在以下版本中引入:1.14.0

默认值:true

设置为 true(默认值)时,可启用 Apigee 的基于指标的自动扩缩功能。设置为 false 可停用自定义自动扩缩功能。

通过更新 apigee-telemetry 图表,将更改应用于 customAutoscaling.enabled

enhanceProxyLimits 高级 在以下版本中引入:1.14.0

默认值:false

必需

Apigee 增强型个别环境设置的代理限制功能需要 enhanceProxyLimits。如果您的 Hybrid 组织有权使用增强型个别环境代理限制,请将此值设置为 enhanceProxyLimits: true

请参阅:

代理链、端点链和 ServiceCallout 链都需要设置 enhanceProxyLimits: true。如需了解详情,请参阅以下主题:

通过更新每个环境组的 apigee-org 图表和 apigee-virtualhost 图表,将更改应用于 enhanceProxyLimits

gcpProjectID 高级 Deprecated: 对于 1.2.0 版及更高版本,请改用 gcp.projectID

在以下版本中引入:1.0.0

默认值:none

必需

您的 Google Cloud 项目的 ID。与 k8sClusterName(已弃用)和 gcpRegion(已弃用)搭配使用,用于标识项目并确定 apigee-loggerapigee-metrics 推送其数据的位置。

gcpRegion 高级 Deprecated: 对于 1.2.0 版及更高版本,请改用 gcp.region

在以下版本中引入:1.0.0

默认值:us-central1

必需

您的 Kubernetes 集群的秘密 Google Cloud 区域或可用区。与 gcpProjectID(已弃用)和 k8sClusterName(已弃用)搭配使用,用于标识项目并确定 apigee-loggerapigee-metrics 推送其数据的位置。

hub 高级 在以下版本中引入:1.11.0

默认值:None

用于从私有仓库中拉取所有 Apigee 组件的映像的私有映像容器仓库网址。

hub 提供所有 Apigee Hybrid 组件的默认路径。如果您使用的是私有仓库,请使用 hub 为所有组件设置仓库网址,而不是为每个组件使用单独的 image.url 属性。仅当您为特定组件使用单独的仓库时,才配置各个网址。

每个组件的映像路径是 hub 的值加上组件的映像名称和标记。

例如,如果值为 hub private-docker-host.example.com,则各个组件会自动将映像路径:

hub: private-docker-host.example.com

解析为:

containers:
- name: apigee-udca
  image: private-docker-host.example.com/apigee-udca:1.14.2
  imagePullPolicy: IfNotPresent

其他组件遵循类似的模式。

使用 apigee-pull-push --list 查看所有组件的当前仓库网址。

请参阅使用 Apigee Hybrid 处理私有映像仓库

您可以使用以下属性单独替换组件的映像网址:

imagePullSecrets.name 高级 在以下版本中引入:1.0.0

默认值:None

配置为 docker-registry 类型的 Kubernetes 秘密名称;用于从私有代码库中提取映像。

instanceID 基本 在以下版本中引入:1.3.0

默认值:None

必需

此安装的唯一标识符。

用于标识此实例的唯一字符串。该 ID 可以是字母和数字的任意组合,长度不得超过 63 个字符。

k8sClusterName 高级 Deprecated: 对于 1.2.0 版及更高版本,请改用 k8sCluster.namek8sCluster.region

在以下版本中引入:1.0.0

默认值:None

您的混合项目正在运行的 Kubernetes (K8S) 专业集群名称。与 gcpProjectID(已弃用)和 gcpRegion(已弃用)搭配使用,用于标识项目并确定 apigee-loggerapigee-metrics 推送其数据的位置。

kmsEncryptionKey 高级 在以下版本中引入:1.0.0

默认值:defaults.org.kmsEncryptionKey

可选。仅使用 kmsEncryptionKeykmsEncryptionPathkmsEncryptionSecret 之一。

Apigee KMS 数据加密密钥的本地文件系统路径。

kmsEncryptionPath 高级 在以下版本中引入:1.2.0

默认值:None

可选。仅使用 kmsEncryptionKeykmsEncryptionPathkmsEncryptionSecret 之一。

包含 base64 编码的加密密钥的文件的路径。请参阅数据加密

kmsEncryptionSecret.key 高级 在以下版本中引入:1.2.0

默认值:None

可选。仅使用 kmsEncryptionKeykmsEncryptionPathkmsEncryptionSecret 之一。

包含 base64 编码的加密密钥的 Kubernetes Secret 的密钥。请参阅数据加密

kmsEncryptionSecret.name 高级 在以下版本中引入:1.2.0

默认值:None

可选。仅使用 kmsEncryptionKeykmsEncryptionPathkmsEncryptionSecret 之一。

包含 base64 编码的加密密钥的 Kubernetes Secret 的名称。请参阅数据加密

kvmEncryptionKey 高级 在以下版本中引入:1.0.0

默认值:defaults.org.kmsEncryptionKey

可选。仅使用 kvmEncryptionKeykvmEncryptionPathkvmEncryptionSecret 之一。

Apigee KVM 数据加密密钥的本地文件系统路径。

kvmEncryptionPath 高级 在以下版本中引入:1.2.0

默认值:None

可选。仅使用 kvmEncryptionKeykvmEncryptionPathkvmEncryptionSecret 之一。

包含 base64 编码的加密密钥的文件的路径。请参阅数据加密

kvmEncryptionSecret.key 高级 在以下版本中引入:1.2.0

默认值:None

可选。仅使用 kvmEncryptionKeykvmEncryptionPathkvmEncryptionSecret 之一。

包含 base64 编码的加密密钥的 Kubernetes Secret 的密钥。请参阅数据加密

kvmEncryptionSecret.name 高级 在以下版本中引入:1.2.0

默认值:None

可选。仅使用 kvmEncryptionKeykvmEncryptionPathkvmEncryptionSecret 之一。

包含 base64 编码的加密密钥的 Kubernetes Secret 的名称。请参阅数据加密

multiOrgCluster 高级 在以下版本中引入:1.10.0

默认值:false

对于多组织集群,此属性可让您将组织的指标导出到 gcp.projectID 属性中列出的项目。 在多组织集群中每个组织的替换文件中应用此设置。如需了解详情,请参阅将多个 Hybrid 组织添加到集群

namespace 基本 在以下版本中引入:1.0.0

默认值:apigee

将安装 Apigee 组件的 Kubernetes 集群的命名空间。

org 基本

在以下版本中引入:1.0.0

默认值:None

必需

混合启用组织,由 Apigee 在混合安装期间为您预配。组织是 Apigee 中的顶层容器。它包含您的所有 API 代理及相关资源。如果值为空,则必须在创建后将其更新为组织名称。

orgScopedUDCA 高级 在以下版本中引入:1.8.0

默认值:true

在组织级别启用通用数据收集代理服务 (UDCA),以提取分析、获利和调试(跟踪)并将其发送到控制平面中的统一分析平台 (UAP)。

组织级 UDCA 在所有 Apigee 环境中都使用一个 Google 服务账号。该服务账号需要具有 Apigee Analytics Agent (roles/apigee.analyticsAgent) 角色。

使用 udca.serviceAccountPath 属性指定服务账号密钥文件的路径或在 overrides.yaml 配置文件中使用 udca.serviceAccountRef 属性提供 Kubernetes Secret 中的密钥。

如果您希望为每个环境使用单独的 UDCA 代理,请设置 orgScopedUDCA: false 并为 envs[].serviceAccountPaths.udcaenvs[].serviceAccountSecretRefs.udca 设置值。

另请参阅:udca

revision 高级 在以下版本中引入:1.0.0

默认值"1142"(不包含句点的 Apigee Hybrid 版本)。例如,对于 1.12.0 版,默认值为 "1120"。)

Apigee Hybrid 支持滚动 Kubernetes 更新,让部署更新可以通过用新的逐步更新 Pod 实例来实现零停机时间。

在更新可能导致底层 Kubernetes PodTemplateSpec 更改的特定 YAML 覆盖时,还必须在客户的 override.yaml 中更改 revision 替换属性。对于底层 Kubernetes ApigeeDeployment (AD) 控制器,必须执行此操作才能执行从上一个版本到新版本的安全滚动更新。您可以使用任意小写文本值,例如:bluea1.0.0

更改并应用 revision 属性后,将针对所有组件执行滚动更新

更改以下对象的属性时,需要更新 revision

如需了解详情,请参阅滚动更新

serviceAccountSecretProviderClass 高级 在以下版本中引入:1.12.0

默认值:None

在 Vault 中存储服务账号密钥的组织专属 Secret 提供方类 (SecretProviderClass) 的名称。

请参阅在 Hashicorp Vault 中存储服务账号密钥

validateOrg 高级 在以下版本中引入:1.8.0

默认值:true

启用对 Apigee 组织与 Google Cloud 项目之间的关联的严格验证,并检查是否存在环境组。

另请参阅 org

validateServiceAccounts 高级 在以下版本中引入:1.0.0

默认值:true

对服务账号权限启用严格验证。这使用 Cloud Resource Manager API 方法 testIamPermissions 来验证所提供的服务账号是否具备所需的权限。对于 Apigee 组织服务账号,项目 ID 检查就是映射到组织的。对于 Metrics 和 Logger,所检查的项目基于 gcpProjectID overrides.yaml 配置。

另请参阅 gcpProjectID

ao

Apigee Operators (AO) 创建和更新部署和维护组件所需的低级 Kubernetes 和 Istio 资源。例如,控制器会执行消息处理器的发布。

下表介绍了 apigee-operators ao 对象的属性:

属性 类型 说明
ao.args.disableIstioConfigInAPIServer 高级 在以下版本中引入:1.8.0

默认值:true

阻止 Apigee 向客户安装的 Cloud Service Mesh 提供配置。

  • 对于使用 Apigee 入站流量网关的 Hybrid 安装,设置为 true
  • 对于使用 Cloud Service Mesh(Apigee Hybrid 1.8 版及更早版本)的 Hybrid 安装,设置为 false
ao.args.disableManagedClusterRoles 高级 在以下版本中引入:1.10.0

默认值:true

如果为 true(默认值),Apigee Hybrid 不会直接管理 Kubernetes ClusterRoleClursterRoleBinding。如果您的进程需要管理这些资源,则此进程必须由具有正确权限的用户执行。

ao.image.pullPolicy 高级 在以下版本中引入:1.2.0

默认值:IfNotPresent

确定 kubelet 何时提取 pod 的 Docker 映像。可能的值包括:

  • IfNotPresent:如果新映像已存在,则请勿提取它。
  • Always:始终提取映像,无论它是否已经存在。

如需了解详情,请参阅更新映像

ao.image.tag 高级 在以下版本中引入:1.2.0

默认值:1.14.2

此服务 Docker 映像的版本标签。

ao.image.url 高级 在以下版本中引入:1.2.0

默认值:None

此服务的 Docker 映像的位置。

使用 apigee-pull-push --list 查看此组件的当前仓库网址。

ao.resources.limits.cpu 高级 在以下版本中引入:1.2.0

默认值:250m

Kubernetes 容器中资源的 CPU 限制,以毫米为单位。

ao.resources.limits.memory 高级 在以下版本中引入:1.2.0

默认值:256Mi

Kubernetes 容器中资源的内存限制,以字节为单位。

ao.resources.requests.cpu 高级 在以下版本中引入:1.2.0

默认值:250m

Kubernetes 容器中资源正常运行所需的 CPU,以毫秒为单位。

ao.resources.requests.memory 高级 在以下版本中引入:1.2.0

默认值:256Mi

在 Kubernetes 容器中资源正常运行所需的内存,以兆比字节为单位。

ao.tolerations.effect 高级 在以下版本中引入:1.10.1

默认值:None

使用 Kubernetes 的污点和容忍功能所必需的属性。

effect 指定将容忍与污点匹配的影响。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

如需了解详情,请参阅污点和容忍:概念

ao.tolerations.key 高级 在以下版本中引入:1.10.1

默认值:None

使用 Kubernetes 的污点和容忍功能所必需的属性。

key 标识可以应用容忍的 Pod。

如需了解详情,请参阅污点和容忍:概念

ao.tolerations.operator 高级 在以下版本中引入:1.10.1

默认值:"Equal"

使用 Kubernetes 的污点和容忍功能所必需的属性。

operator 指定用于触发 effect 的操作。operator 的值可以是:

  • Equal 匹配