8.5. ロールアウトデバイスの選択
flightctl を使用してロールアウトを実行する場合は、ロールアウトに参加させるデバイスと、許容される中断の程度を管理する必要があります。デバイスの選択プロセスと Rollout Disruption Budget の概念により、制御された予測可能なロールアウトが確実に実行されます。
ロールアウト中にデバイスを選択するためのプロセスと設定には、ターゲティングストラテジー、バッチの順序付け、制御されたソフトウェアデプロイメントのための成功基準が含まれます。
8.5.1. デバイスのターゲティング リンクのコピーリンクがクリップボードにコピーされました!
ロールアウトは、フリートに属するデバイスにのみ適用されます。各デバイスは 1 つのフリートにのみ属することができます。ロールアウトの定義はフリートレベルで行われるため、選択プロセスでは、ラベル条件に基づいて、フリート内のどのデバイスをバッチロールアウトに参加させるかが決定されます。すべてのバッチを処理した後、すべてのフリートデバイスがロールアウトされます。
- ラベル: 特定のメタデータラベルを持つデバイスをロールアウトの対象にすることができます。
- フリートメンバーシップ: 指定したフリート内のデバイスにのみロールアウトが適用されます。
8.5.2. デバイス選択ストラテジー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Edge Manager は、BatchSequence デバイス選択ストラテジーのみをサポートしています。このストラテジーは、特定の基準に基づいてデバイスをバッチ単位で追加する段階的なロールアウトプロセスを定義するものです。バッチは順番に実行されます。各バッチが完了すると、前のバッチの成功率が設定された成功しきい値以上の場合にのみ、実行が次のバッチに進みます。
成功率は次のように決定されます。
of successful rollouts in the batch / # of devices in the batch >= success threshold
# of successful rollouts in the batch / # of devices in the batch >= success threshold
バッチシーケンスにおいて、最後のバッチは暗黙的なバッチであり、バッチシーケンス内では指定されていません。最後のバッチは、シーケンス内の明示的なバッチによって選択されていない、フリート内のすべてのデバイスを選択します。
8.5.3. デバイス選択の制限 リンクのコピーリンクがクリップボードにコピーされました!
BatchSequence ストラテジーの各バッチでは、オプションの limit パラメーターを使用して、バッチに含めるデバイスの数を定義できます。制限は次の 2 つの方法で指定できます。
- 絶対数: 選択するデバイスの固定数。
パーセンテージ: 選択される一致するデバイスの総数の割合。
-
ラベルを使用して
selectorを指定すると、フリート内のラベル条件に一致するデバイスの数に基づいてパーセンテージが計算されます。 -
selectorを指定しない場合は、このパーセンテージがフリート内のすべてのデバイスに適用されます。
-
ラベルを使用して
8.5.4. 成功のしきい値 リンクのコピーリンクがクリップボードにコピーされました!
successThreshold は、ロールアウトを続行するために必要な、正常に更新されたデバイスの割合を定義するものです。成功率がこのしきい値を下回った場合、さらなる失敗を防ぐために、ロールアウトが一時停止される場合があります。
例
以下に、フリート仕様の YAML 設定の例を示します。
この例には、6 つの明示的なバッチと 1 つの暗黙的なバッチがあります。
- 最初のバッチでは、ラベル site:madrid を持つデバイスを 1 つ選択します。
- 2 番目のバッチまでに、ラベル site:madrid を持つすべてのデバイスの 80% が、現在のバッチまたはそれ以前のバッチでロールアウト対象として選択された状態になります。
- 3 番目のバッチまでに、すべてのデバイスの 50% が、現在のバッチまたはそれ以前のバッチでロールアウト対象として選択された状態になります。
- 4 番目のバッチでは、以前に選択されておらず、ラベル site:paris を持つすべてのデバイスが選択されます。
- 5 番目のバッチまでに、すべてのデバイスの 80% が、現在のバッチまたはそれ以前のバッチでロールアウト対象として選択された状態になります。
- 6 番目のバッチまでに、すべてのデバイスの 100% が、現在のバッチまたはそれ以前のバッチでロールアウト対象として選択された状態になります。
- 最後の暗黙的なバッチでは、以前のバッチで選択されていないすべてのデバイスが選択されます (デバイスがまったく選択されていない場合もあります)。