3.2.12.2. 修改路由器分片


由于路由器分片是基于标签的结构,因此您可以修改标签(通过 oc label)或选择表达式(通过 oc set env)。

本节扩展了创建路由器分片一节中启动的示例,演示了如何更改选择表达式。

以下是可修改现有路由器以使用新选择表达式的便捷脚本 modshard

#!/bin/bash
# Usage: modshard ID SELECTION-EXPRESSION...
id=$1
shift
router=router-shard-$id       1
dc=dc/$router                 2
oc scale $dc --replicas=0     3
oc set env   $dc "$@"             4
oc scale $dc --replicas=3     5
1
修改后的路由器具有名称 router-shard-<id>
2
进行修改的部署配置。
3
缩减规模。
4
使用 oc set env 设置新的选择表达式。与创建路由器分片部分中的 mkshard 不同,在 modshard 中指定为非ID 参数的选择表达式必须包含环境变量名称及其值。
5
纵向扩展。
注意

modshard 中,如果 router-shard-<id>部署策略Rolling,则不需要 oc scale 命令。

例如,将 router-shard-3 的部门扩展到包含 opsdev

$ modshard 3 ROUTE_LABELS='dept in (dev, ops)'

结果是,router-shard-3 现在选择路由 g — s (g — kl — s 的组合)。

本例考虑了本例中只有三个部门,并指定了一个部门离开分片,从而得到与上例相同的结果:

$ modshard 3 ROUTE_LABELS='dept != finance'

这个示例指定了三个用逗号分开的功能,并只选择路由 b

$ modshard 3 ROUTE_LABELS='hw=strong,type=dynamic,geo=west'

与涉及路由标签的 ROUTE_LABELS 类似,您可以使用 NAMESPACE_LABELS 环境变量根据路由命名空间的标签选择路由。本例修改 router-shard-3 以提供命名空间具有标签 frequency=weekly 的路由:

$ modshard 3 NAMESPACE_LABELS='frequency=weekly'

最后一个示例组合了 ROUTE_LABELSNAMESPACE_LABELS,以选择带有标签 sla=low 的路由,其命名空间具有标签 frequency=weekly

$ modshard 3 \
    NAMESPACE_LABELS='frequency=weekly' \
    ROUTE_LABELS='sla=low'
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.