2.2. 扩展范围
缩放范围决定了可在任意给定时间为应用程序服务的最小和最大副本数。您可以为应用设置规模绑定,以帮助防止冷启动和控制计算成本。
2.2.1. 最小扩展范围
为应用程序提供服务的最小副本数量由 min-scale
注解决定。如果没有启用缩减为零,则 min-scale
值默认为 1
。
如果满足以下条件,min-scale
值默认为 0
个副本:
-
不设置
min-scale
注解 - 启用扩展到零
-
使用类
KPA
带有 min-scale
注解的 service spec 示例
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: example-service namespace: default spec: template: metadata: annotations: autoscaling.knative.dev/min-scale: "0" ...
2.2.1.1. 使用 Knative CLI 设置 min-scale 注解
使用 Knative (kn
) CLI 设置 min-scale
注解,比直接修改 YAML 文件提供了一个更加精简且直观的用户界面。您可以使用带有 --scale-min
标志的 kn service
命令为服务创建或修改 min-scale
值。
先决条件
- 在集群中安装了 Knative Serving。
-
已安装 Knative (
kn
) CLI。
流程
使用
--scale-min
标志设置服务的最小副本数:$ kn service create <service_name> --image <image_uri> --scale-min <integer>
示例命令
$ kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-min 2
2.2.2. 最大扩展范围
可提供应用程序的副本数量由 max-scale
注解决定。如果没有设置 max-scale
注解,则创建的副本数没有上限。
带有 max-scale
注解的 service spec 示例
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: example-service namespace: default spec: template: metadata: annotations: autoscaling.knative.dev/max-scale: "10" ...
2.2.2.1. 使用 Knative CLI 设置 max-scale 注解
使用 Knative (kn
) CLI 设置 max-scale
注解,比直接修改 YAML 文件提供了一个更精简且直观的用户界面。您可以使用带有 --scale-max
标志的 kn service
命令为服务创建或修改 max-scale
值。
先决条件
- 在集群中安装了 Knative Serving。
-
已安装 Knative (
kn
) CLI。
流程
使用
--scale-max
标志设置服务的最大副本数:$ kn service create <service_name> --image <image_uri> --scale-max <integer>
示例命令
$ kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-max 10