2.4. scale-to-zero
Knative Serving에서는 애플리케이션이 들어오는 요구에 맞게 자동 스케일링 또는 자동 스케일링 을 제공합니다.
2.4.1. scale-to-zero
enable-scale-to-zero
사양을 사용하여 클러스터의 애플리케이션에 대해 전체적으로 scale-to-zero 사양을 활성화하거나 비활성화할 수 있습니다.
사전 요구 사항
- 클러스터에 OpenShift Serverless Operator 및 Knative Serving을 설치했습니다.
- OpenShift Container Platform에 대한 클러스터 관리자 권한이 있거나 AWS 또는 OpenShift Dedicated의 Red Hat OpenShift Service에 대한 클러스터 또는 전용 관리자 권한이 있습니다.
- 기본 Knative Pod Autoscaler를 사용하고 있습니다. Kubernetes Horizontal Pod Autoscaler를 사용하는 경우 0으로 스케일링 기능을 사용할 수 없습니다.
절차
KnativeServing
CR(사용자 정의 리소스)에서enable-scale-to-zero
사양을 수정합니다.KnativeServing CR의 예
apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving spec: config: autoscaler: enable-scale-to-zero: "false" 1
- 1
enable-scale-to-zero
사양은"true"
또는"false"
일 수 있습니다. true로 설정하면 scale-to-zero가 활성화됩니다. false로 설정하면 애플리케이션이 구성된 최소 스케일 바인딩 으로 축소됩니다. 기본값은"true"
입니다.
2.4.2. scale-to-zero 유예 기간 구성
Knative Serving에서는 애플리케이션의 Pod를 0개로 자동 축소합니다. scale-to-zero-grace-period
사양을 사용하여 Knative가 애플리케이션의 마지막 복제본이 제거되기 전에 Knative가 0으로 전환될 때까지 대기하는 상한 시간 제한을 정의할 수 있습니다.
사전 요구 사항
- 클러스터에 OpenShift Serverless Operator 및 Knative Serving을 설치했습니다.
- OpenShift Container Platform에 대한 클러스터 관리자 권한이 있거나 AWS 또는 OpenShift Dedicated의 Red Hat OpenShift Service에 대한 클러스터 또는 전용 관리자 권한이 있습니다.
- 기본 Knative Pod Autoscaler를 사용하고 있습니다. Kubernetes Horizontal Pod Autoscaler를 사용하는 경우에는 scale-to-zero 기능을 사용할 수 없습니다.
절차
KnativeServing
CR(사용자 정의 리소스)에서scale-to-zero-grace-period
사양을 수정합니다.KnativeServing CR의 예
apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving spec: config: autoscaler: scale-to-zero-grace-period: "30s" 1
- 1
- 유예 기간(초)입니다. 기본값은 30초입니다.