本主题介绍如何配置和管理 Apigee Hybrid 运行时平面组件。如需查看您可以配置的运行时平面组件列表,请参阅运行时服务配置概览。
替换文件简介
首次将 Hybrid 运行时安装到集群中时,您必须创建配置替换文件。借助此文件,您可以根据需要替换默认配置值、配置环境、引用 TLS 证书和服务账号密钥、将 Kubernetes 节点池分配给特定 Hybrid 组件,等等。
Hybrid 安装步骤介绍创建替换文件并将配置应用到集群的过程。如果您希望稍后更改配置,请修改您创建的替换文件并重新应用。
进行配置更改
如需更改 Hybrid 运行时平面组件的配置,请修改替换文件,然后使用 apigeectl
应用这些更改。
例如,如需更改消息处理器上的副本计数,请执行以下步骤:
- 打开您的 OVERRIDES
.yaml
文件。确保使用用于将 Hybrid 运行时安装到集群中的相同替换文件。 - 在文件中找到
runtime
元素。例如:... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 1 replicaCountMax: 2 ...
-
根据需要更改副本计数属性。例如:
... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 4 ...
- 使用
apigeectl
将更改应用到集群:apigeectl apply -f ./OVERRIDES.yaml --org --env ENV_NAME
您可以修改哪些配置属性?
您可以在配置属性参考文档中找到可配置属性的完整列表。该参考文档仅列出可修改的属性;如果您尝试修改不在参考文档中的属性,则系统会忽略该更改。
如何使用配置参考文档
配置属性参考文档使用点表示法来描述配置元素,其中第一项是顶级元素名称,后跟属性和子属性。例如:
authz.image.pullPolicy
在替换文件中,属性采用正确的 YAML 格式。在上述示例中,顶级 authz
元素左缩进,其下的子元素属性也会缩进。此外,YAML 要求每个元素和子元素的末尾都有一个英文冒号。
例如,如需将 authz.image.pullPolicy
属性设置为 Always
,请在替换文件中找到以下 YAML Standa,然后设置如下:
authz: image: pullPolicy: Always
在另一个示例中,cassandra.auth.admin.password
属性(在配置属性参考文档中列出)用于设置 Cassandra 管理员密码。如需进行更改,请在替换文件中找到以下 YAML,然后按如下所示进行设置:
cassandra: auth: admin: password: abc123
请注意,配置属性参考文档描述了您可在 Hybrid 运行时平面组件上设置的所有属性。请按照上述模式在将更改应用到集群之前修改替换文件中的这些元素。
使用预定义替换文件示例
首次安装 Hybrid 运行时时,Apigee 建议您使用一个预配置的替换文件示例。 这些示例为特定安装场景(例如设置生产或测试安装)提供了一整套配置属性。您只需要为属性提供适当的值,并对集群应用替换文件。如需了解详情,请参阅第 7 步:配置 Hybrid 运行时。
默认配置简介
Apigee 在 HYBRID_ROOT_DIR/config/values.yaml
文件中维护其默认组件配置。替换文件遵循与 values.yaml
相同的 YAML 结构。
替换文件通常仅包含 values.yaml
中的配置属性的子集。请记住,并非所有属性都可以修改。将配置应用于集群时,您的替换将与默认值合并,以创建完整的 Kubernetes 集群配置。另请参阅测试合并的配置。
以下代码显示了 values.yaml
中 mart
组件的默认配置。请注意,某些值都有默认值,而 sslCertPath
和 sslKeyPath
等其他值没有默认值。您必须按照安装步骤中的说明在替换文件中提供这些缺失值。如果您要更改任何默认值,请确保通过检查配置属性参考文档修改这些值。
... mart: replicaCountMin: 2 replicaCountMax: 4 targetCPUUtilizationPercentage: 75 terminationGracePeriodSeconds: 30 sslCertPath: sslKeyPath: hostAlias: nodeSelector: key: value: revision: blue image: url: "gcr.io/apigee-release/hybrid/apigee-mart-server" tag: "1.3.6" pullPolicy: IfNotPresent resources: requests: cpu: 500m memory: 512Mi initCheckCF: resources: requests: cpu: 10m livenessProbe: timeoutSeconds: 1 failureThreshold: 12 periodSeconds: 5 initialDelaySeconds: 15 readinessProbe: timeoutSeconds: 1 successThreshold: 1 failureThreshold: 2 periodSeconds: 5 initialDelaySeconds: 15 metricsURL: "/v1/server/metrics" cwcAppend: | ...
如果您要修改组件的默认值,并且该组件尚未在替换文件中,则可以将其 YAML 从 values.yaml
复制到替换文件并在其中进行修改。
替换文件示例
Apigee 提供了一组替换文件示例,以帮助引导您设置 Hybrid 部署。最好复制和修改与您的安装要求最相符的替换文件。
HYBRID_ROOT_DIR/examples
目录中包含以下示例:
替换文件示例 | 说明 |
---|---|
overrides-small.yaml |
此示例非常适用于快速入门。它使用建议的最小占用空间来启动 Hybrid 运行时组件。此配置示例尽可能依赖于默认设置和值。所有最低副本数都设置为 1 。 |
overrides-medium.yaml |
此示例是测试和质量检查环境的良好起点。我们为单个组件授予了更高级别的资源来处理附加流量。Cassandra 使用 SSD 磁盘提高性能。在此环境中,建议用户将有状态和无状态组件安装在单独的节点上。请参阅配置专用节点。 |
overrides-large.yaml |
此示例是预生产和生产等高性能环境的良好起点。本示例包含用于设置加密密钥、密码等的属性。单个组件至少需要两个副本。 |
自定义注释
注释是用于将元数据附加到 Apigee Hybrid Kubernetes pod 的键值对映射。您可以为配置属性参考文档中列出的以下属性创建自定义注释:
如需添加自定义注释,请在 OVERRIDES.yaml
文件中为相应组件添加节。
以下示例展示了如何在 runtime
pod 中指定注释:
runtime: annotations: businessunit: "bu1"
测试合并的配置
您可以将 --dry-run
标志与 apigeectl
结合使用,以测试合并的配置文件,而无需实际将其应用于您的集群。此选项有助于调试安装问题,因为它可以清楚地显示将应用于集群的内容。测试配置并将其存储在源代码控制系统中也是一种良好的做法,这样您就可以引用在集群中安装和配置的资源。
在 Apigee Hybrid 中,--dry-run
标志的语法取决于您运行的 kubectl
的版本。使用以下命令检查 kubectl
的版本:
kubectl version
kubectl 1.17 版及更低版本:
APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=true
kubectl 1.18 版及更高版本:
APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client
如需了解详情,请参阅 apigeectl
。
根据需要创建多个替换文件
您可以根据需要创建任意多个替换文件,其中每个替换文件都满足特定要求。例如,您可能会使用一个替换文件调整用于生产的集群,而使用另一个创建测试集群。然后,您可以在源代码控制系统中维护这些文件。
apigeectl apply -f ./test_env_override.yaml
如需了解详情,请参阅 apigeectl
。
删除特定于 Hybrid 的运行时平面组件
要从集群中删除特定于 Hybrid 的运行时平面组件,请使用 apigeectl delete
命令。这些组件包括 synchronizer
、mart
、runtime
、cassandra
、udca
。务必指定您安装运行时组件所用的相同替换文件:
例如:
apigeectl delete -f ./OVERRIDES.yaml
您可以使用 apigeectl apply
命令重新创建一个或多个特定组件:
apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml
如需了解详情,请参阅 apigeectl
。
删除特定组件
如果您只想删除特定组件,请将 -c
选项与 apigeectl delete
搭配使用。务必指定安装运行时组件所用的相同替换文件。
例如,如需删除 synchronizer
组件,请使用以下命令:
apigeectl delete --org --env ENV_NAME -f ./OVERRIDES.yaml
然后,您可以使用 apigeectl apply
命令重新创建组件:
apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml
如需了解详情,请参阅 apigeectl
。
删除所有组件
如需删除 Hybrid 的所有集群组件(包括由 apigeectl init
命令创建的组件),请将 apigeectl delete
命令与 --all
标志搭配使用。务必指定您安装运行时组件所用的相同替换文件:
例如:
apigeectl delete -f ./OVERRIDES.yaml --all
如需了解详情,请参阅 apigeectl
。