You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/howtos/crp.md
+21-3Lines changed: 21 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -372,10 +372,11 @@ unavailable as Fleet dispatches updated resources. Clusters that are no longer s
372
372
resulting in lost traffic. If too many new clusters are selected and Fleet places resources on them simultaneously,
373
373
your backend may become overloaded. The exact interruption pattern may vary depending on the resources you place using Fleet.
374
374
375
-
To minimize interruption, Fleet allows users to configure the rollout strategy, similar to native Kubernetes deployment,
376
-
to transition between changes as smoothly as possible. Currently, Fleet supports only one rollout strategy: rolling update.
375
+
### Default rollout strategy: Rolling Update
376
+
To minimize interruption, Fleet allows users to configure the rollout strategy.
377
+
The default strategy is rolling update, and it applies to all changes you initiate.
377
378
This strategy ensures changes, including the addition or removal of selected clusters and resource refreshes,
378
-
are applied incrementally in a phased manner at a pace suitable for you. This is the default option and applies to all changes you initiate.
379
+
are applied incrementally in a phased manner at a pace suitable for you, similar to native Kubernetes deployments.
379
380
380
381
This rollout strategy can be configured with the following parameters:
381
382
@@ -471,6 +472,23 @@ longer to complete the rollout, in accordance with the rolling update strategy y
471
472
> to some clusters. You can identify this behavior if CRP status; for more information, see
472
473
> [Understanding the Status of a `ClusterResourcePlacement`](crp-status.md) How-To Guide.
473
474
475
+
### External rollout strategy and staged update run
476
+
477
+
Fleet supports flexible rollout patterns through an `External` rollout strategy, which allows you to implement custom rollout controllers.
478
+
When configured, Fleet delegates the responsibility of resource placement to your external controller instead of using Fleet's built-in rolling update mechanism.
479
+
480
+
One implementation of an external rollout strategy is the **Staged Update Run**.
481
+
This approach enables a controlled, stage-by-stage placement of workload resources defined in a `ClusterResourcePlacement`.
482
+
483
+
To utilize this strategy:
484
+
1. Set `spec.strategy.type` as `External` in the `ClusterResourcePlacement` object.
485
+
2. Define your rollout process using two custom resources:
486
+
- `ClusterStagedUpdateStrategy`: A reusable template defining the rollout pattern
487
+
- `ClusterStagedUpdateRun`: The resource that triggers and manages the actual rollout process.
488
+
489
+
For comprehensive guidance on implementing staged updates, please refer to the [Staged Update Run Concepts](../concepts/StagedUpdateRun/README.md)
490
+
and [Staged Update Run How-To Guide](updaterun.md).
491
+
474
492
## Snapshots and revisions
475
493
476
494
Internally, Fleet keeps a history of all the scheduling policies you have used with a
0 commit comments