Knative支持HPA的彈性能力。您可以在Knative Service中設置CPU指標閾值,滿足在突發高負載的場景下,自動擴縮容資源的訴求。本文介紹如何在Knative中使用HPA。
前提條件
部署Knative操作步驟
- 創建ksvc-hpa.yaml。
在Knative Service指定使用HPA彈性策略,以下為配置示例。
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go-hpa spec: template: metadata: labels: app: helloworld-go-hpa annotations: autoscaling.knative.dev/class: "hpa.autoscaling.knative.dev" autoscaling.knative.dev/metric: "cpu" autoscaling.knative.dev/target: "75" autoscaling.knative.dev/minScale: "1" autoscaling.knative.dev/maxScale: "10" spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/knative-samples/helloworld-go:160e4dc8 resources: requests: cpu: '200m'
- 通過
autoscaling.knative.dev/class: "hpa.autoscaling.knative.dev"
指定HPA彈性插件。 - 通過
autoscaling.knative.dev/metric
設置HPA CPU指標。 - 通過
autoscaling.knative.dev/target
設置HPA CPU指標的閾值。 - 通過
autoscaling.knative.dev/minScale: "1"
設置彈性策略實例數的最小值。 - 通過
autoscaling.knative.dev/maxScale: "10"
設置彈性策略實例數的最大值。
- 通過
- 執行HPA彈性策略。
kubectl apply -f ksvc-hpa.yaml
執行結果
Knative Service開啟HPA彈性后,實例變化趨勢如下圖所示。
文檔內容是否對您有幫助?