×

Knative (kn) CLI 支持作为kn service update命令一部分的服务流量块上的流量操作。

Knative CLI 流量拆分标志

下表显示了流量拆分标志、值格式和标志执行的操作的摘要。**重复**列表示在kn service update命令中是否允许重复该标志的特定值。

标志 操作 重复

--traffic

RevisionName=Percent

Percent流量分配给RevisionName

--traffic

Tag=Percent

Percent流量分配给具有Tag的修订版

--traffic

@latest=Percent

Percent流量分配给最新的就绪修订版

--tag

RevisionName=Tag

Tag分配给RevisionName

--tag

@latest=Tag

Tag分配给最新的就绪修订版

--untag

Tag

从修订版中移除Tag

多个标志和顺序优先级

所有与流量相关的标志都可以使用单个kn service update命令指定。kn定义了这些标志的优先级。使用命令时指定的标志顺序不会被考虑在内。

kn评估这些标志的优先级为:

  1. --untag:使用此标志的所有引用的修订版都将从流量块中移除。

  2. --tag:修订版将按照流量块中指定的标记进行标记。

  3. --traffic:引用的修订版将被分配一部分流量。

您可以向修订版添加标记,然后根据已设置的标记拆分流量。

修订版的自定义 URL

通过使用kn service update命令为服务分配--tag标志会为更新服务时创建的修订版创建一个自定义URL。自定义URL遵循模式https://<tag>-<service_name>-<namespace>.<domain>;http://<tag>-<service_name>-<namespace>.<domain>;

--tag--untag标志使用以下语法:

  • 需要一个值。

  • 在服务的流量块中表示唯一的标记。

  • 可以在一个命令中多次指定。

示例:向修订版分配标记

以下示例将标记latest分配给名为example-revision的修订版。

$ kn service update <service_name> --tag @latest=example-tag

示例:从修订版中移除标记

您可以使用--untag标志移除标记以移除自定义URL。

如果修订版的标记被移除,并且其被分配了0%的流量,则该修订版将完全从流量块中移除。

以下命令将从名为example-revision的修订版中移除所有标记。

$ kn service update <service_name> --untag example-tag