8.4. 用于流量分割的 CLI 标志
Knative (kn
) CLI 支持作为 kn service update
命令的一部分对服务的流量块进行流量操作。
8.4.1. Knative CLI 流量分割标志
下表显示流量分割标志、值格式和标志执行的操作汇总。Repetition 列表示在 kn service update
命令中是否允许重复标志的特定值。
标记 | 值 | 操作 | 重复 |
---|---|---|---|
|
|
为 | 是 |
|
|
为带有 | 是 |
|
|
为最新可用的修订版本提供 | 否 |
|
|
为 | 是 |
|
|
为最新可用的修订版本提供 | 否 |
|
|
从修订中删除 | 是 |
8.4.1.1. 多个标志和顺序优先级
所有流量相关标志均可使用单一 kn service update
命令指定。kn
定义这些标志的优先级。不考虑使用命令时指定的标志顺序。
通过 kn
评估标志时,标志的优先级如下:
-
--untag
:带有此标志的所有引用修订版本均将从流量块中移除。 -
--tag
:修订版本将按照流量块中的指定进行标记。 -
--traffic
:为引用的修订版本分配一部分流量分割。
您可以将标签添加到修订版本,然后根据您设置的标签来分割流量。
8.4.1.2. 修订版本的自定义 URL
使用 kn service update
命令为服务分配 --tag
标志,可为在更新服务时创建的修订版本创建一个自定义 URL。自定义 URL 遵循 https://<tag>-<service_name>-<namespace>.<domain>
或 http://<tag>-<service_name>-<namespace>.<domain>
。
--tag
和 --untag
标志使用以下语法:
- 需要一个值。
- 在服务的流量块中表示唯一标签。
- 在一个命令中可多次指定.
8.4.1.2.1. 示例:将标签分配给修订版本
以下示例将标签 latest
分配给名为 example-revision
的修订版本:
$ kn service update <service_name> --tag @latest=example-tag
8.4.1.2.2. 示例:从修订中删除标签
您可以使用 --untag
标志来删除自定义 URL。
如果修订版本删除了其标签,并分配了流量的 0%,则修订版本将完全从流量块中删除。
以下命令从名为 example-revision
的修订版本中删除所有标签:
$ kn service update <service_name> --untag example-tag