LoadRampingPolicy是服務網格ASM流量調度套件提供的一種預置策略,用於對新服務進行漸進式上線。本文介紹LoadRampingPolicy的CRD說明。
LoadRampingPolicy欄位說明
LoadRampingPolicy指定了服務上線流程的若干階段的相關參數,以及用作上線階段轉移決策的服務負載表現基準的相關參數。
LoadRampingPolicySpec
LoadRampingPolicySpec是LoadRampingPolicy的核心配置,即spec的部分。
欄位 | 類型 | 是否必選 | 說明 |
drivers | 是 | 服務上線階段遷移決策驅動。 | |
start | bool | 是 | 部署時需指定為true,代表上線流程開始。在上線流程運行過程中,此欄位可被修改為false以暫停上線流程。 |
reset | bool | 否 | 部署時不能指定。在上線流程運行過程中,此欄位可被置為true,以手動重設上線流程。 |
load_ramp | 是 | 上線過程執行器的相關配置。 |
Drivers
Drivers中可以定義不同種類的驅動,驅動可以通過指定的方式採集服務的負載指標、並通過預先定義的指標閾值來決策服務上線流程是否要進行下個階段的遷移。
欄位 | 類型 | 是否必選 | 說明 |
average_latency_drivers | AverageLatencyDriver | 否 | 平均遷移驅動。該驅動會定期檢測服務的平均延遲,並通過延遲是否達到閾值來決策服務上線流程是否要向下個階段進行遷移。 |
AverageLatencyDriver
欄位 | 類型 | 是否必選 | 說明 |
selectors | []Selector | 是 | 基於選取器來選擇驅動採集延遲的具體請求流。 |
criteria | DriverCriteria | 是 | 對上線階段遷移進行決策的判斷基準。驅動會將採集到的請求延遲和判斷基準進行比較,進而決策是否要向下一個上線階段進行遷移 |
DriverCriteria
欄位 | 類型 | 是否必選 | 說明 |
forward | 是 | 決策是否要向下一個上線階段進行遷移的基準,當驅動採集到的請求負載數值小於此基準時,向下一個上線階段進行遷移。 | |
reset | 是 | 決策是否要重設上線流程的基準,當驅動採集到的請求負載數值大於此基準時,重設上線流程。 |
Criteria
Criteria指定一個基準閾值,驅動會將採集到的數值與該閾值進行比較,以進行上線階段遷移決策。
欄位 | 類型 | 是否必選 | 說明 |
threshold | float | 是 | 基準閾值數值。 |
LoadRamp
LoadRamp指定了上線流程執行器的相關配置,包括請求採樣器以及若干上線階段的配置。
欄位 | 類型 | 是否必選 | 說明 |
sampler | 是 | 請求採樣器配置。請求採樣器會在整個上線流程中根據指定的比例來拒絕部分請求。 | |
steps | []Step | 是 | 多個上線階段的定義,整個上線流程就是在多個上線階段之間進行線性地遷移。 |
Sampler
欄位 | 類型 | 是否必選 | 說明 |
selectors | []Selector | 是 | 基於選取器來選擇採樣器作用的請求流。 |
Step
Step定義了服務上線的一個階段
欄位 | 類型 | 是否必選 | 說明 |
duration | Duration | 是 | 上線階段期間,需要指定一個以s結尾的時間,代表若干秒,如300s。 |
target_accept_percentage | float | 是 | 上線階段的目標請求接受比例。在向該階段遷移時,採樣器接受的請求比例將線性地遷移至此階段的目標請求接收比例。 |