Skip to content

Commit cd4d9f8

Browse files
committed
fix rollout doc
1 parent 6160725 commit cd4d9f8

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

docs/howtos/crp.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,11 @@ unavailable as Fleet dispatches updated resources. Clusters that are no longer s
372372
resulting in lost traffic. If too many new clusters are selected and Fleet places resources on them simultaneously,
373373
your backend may become overloaded. The exact interruption pattern may vary depending on the resources you place using Fleet.
374374

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.
377378
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.
379380

380381
This rollout strategy can be configured with the following parameters:
381382

@@ -471,6 +472,23 @@ longer to complete the rollout, in accordance with the rolling update strategy y
471472
> to some clusters. You can identify this behavior if CRP status; for more information, see
472473
> [Understanding the Status of a `ClusterResourcePlacement`](crp-status.md) How-To Guide.
473474

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+
474492
## Snapshots and revisions
475493

476494
Internally, Fleet keeps a history of all the scheduling policies you have used with a

0 commit comments

Comments
 (0)