サービスメッシュ(ASM)トラフィックスケジューリングスイートによって提供される LoadRampingPolicy CustomResourceDefinition(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 | はい | サービスリリースフェーズの期間。単位:秒。例: 300s 。 |
target_accept_percentage | float | はい | サービスリリースフェーズにおけるターゲットリクエスト受け入れ率。このフェーズへの遷移中に、リクエストサンプラーによって受け入れられるリクエストの割合は、このサービスリリースフェーズにおけるターゲットリクエスト受け入れ率まで線形的に増加します。 |