The LoadRampingPolicy CustomResourceDefinition (CRD) provided by the Service Mesh (ASM) traffic scheduling suite defines a policy that allows you to progressively release a service. This topic describes the fields of LoadRampingPolicy.
Overview
LoadRampingPolicy specifies the relevant fields for several service release phases and fields of service load measurement benchmark based on which you determine whether to perform a progressive service release.
LoadRampingPolicySpec
LoadRampingPolicySpec is the core configuration of LoadRampingPolicy and corresponds to the spec field.
Field | Type | Required | Description |
drivers | Yes | The driver of the service release phases. | |
start | bool | Yes | You must set this parameter to true during deployment. It indicates that the service release process starts. During the service release process, you can change this field to false to pause the service release process. |
reset | bool | No | This field cannot be specified during deployment. During the service release process, you can set this field to true to manually reset the service release process. |
load_ramp | Yes | The configurations of the executor used in the service release process. |
Drivers
Different types of drivers can be defined in the Drivers field. Drivers can collect the load metrics of services in a specified manner and determine whether the service release process needs to proceed to the next phase.
Field | Type | Required | Description |
average_latency_drivers | AverageLatencyDriver | No | The average latency driver. This driver periodically checks the average latency of the service and determines whether the service release process is to proceed to the next phase based on whether the latency reaches the threshold. |
AverageLatencyDriver
Field | Type | Required | Description |
selectors | []Selector | Yes | The selector used to select the specific requests from which the driver collects the service latency data. |
criteria | DriverCriteria | Yes | The benchmark based on which you determine whether to proceed to the next service release phase. The driver compares the collected request latency with the benchmark and then decides whether to proceed to the next service release phase. |
DriverCriteria
Field | Type | Required | Description |
forward | Yes | The benchmark based on which you determine whether to proceed to the next service release phase. When the request load collected by the driver is less than this benchmark, proceed to the next service release phase. | |
reset | Yes | The benchmark based on which you determine whether to reset the service release process. When the request load collected by the driver is greater than this benchmark, reset the service release process. |
Criteria
Criteria specifies a baseline threshold against which the driver compares the collected values. The driver determines whether to proceed to the next service release phase base on the comparison result.
Field | Type | Required | Description |
threshold | float | Yes | The baseline threshold. |
LoadRamp
LoadRamp specifies the configuration of the executor used in the service release process, including the configuration of the request sampler and several release phases.
Field | Type | Required | Description |
sampler | Yes | The configuration of the request sampler. The request sampler rejects some requests based on the specified percentage throughout the service release process. | |
steps | []Step | Yes | The definitions of multiple service release phases. The entire service release process involves linear transitions between multiple release phases. |
Sampler
Field | Type | Required | Description |
selectors | []Selector | Yes | The selector used to select the requests on which the request sampler is used. |
Step
Step specifies a service release phase.
Field | Type | Required | Description |
duration | Duration | Yes | The duration of the service release phase. Unit: s. Example: 300s. |
target_accept_percentage | float | Yes | The target request acceptance percentage in the service release phase. During the transition to this phase, the percentage of requests accepted by the request sampler will linearly increase to the target request acceptance percentage in this service release phase. |