Skip to content

Commit 06eb939

Browse files
Wei WengWei Weng
authored andcommitted
rollout started acrolynx
Signed-off-by: Wei Weng <[email protected]>
1 parent 82f0083 commit 06eb939

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

support/azure/kubernetes-fleet/cluster-resource-placement/crp-clusterresourceplacementoverridden-false.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ jsonPatchOverrides:
176176

177177
The code adds the new label `newlabel` that has the value `new-value` to the ClusterRole `secret-reader`.
178178

179-
## ResourcePlacement case study
179+
## General Notes
180180

181181
For ResourcePlacement, the override flow is identical except that all the resources reside in the same namespace. Use `ResourceOverride` instead of `ClusterResourceOverride` and expect `ResourcePlacementOverridden` in conditions.
182182

support/azure/kubernetes-fleet/cluster-resource-placement/crp-clusterresourceplacementrolloutstarted-false.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This article describes how to troubleshoot `ClusterResourcePlacementRolloutStart
1515
When using the `ClusterResourcePlacement` or `ResourcePlacement` API object in Azure Kubernetes Fleet Manager to propagate resources, the selected resources aren't rolled out in all scheduled clusters, and the `ClusterResourcePlacementRolloutStarted` (for ClusterResourcePlacement) or `ResourcePlacementRolloutStarted` (for ResourcePlacement) condition status shows as `False`.
1616

1717
> [!NOTE]
18-
> This TSG only applies to the `RollingUpdate` rollout strategy, which is the default strategy if you don't specify in the placement. To troubleshoot the update run strategy when you specify `External` in the placement, refer to the staged update run troubleshooting documentation.
18+
> This troubleshooting guide (TSG) only applies to the `RollingUpdate` rollout strategy, which is the default strategy if you don't specify in the placement. To troubleshoot the update run strategy when you specify `External` in the placement, refer to the staged update run troubleshooting documentation.
1919
>
2020
> To get more information about why the rollout doesn't start, you can check the [rollout controller](https://github.com/Azure/fleet/blob/main/pkg/controllers/rollout/controller.go) logs.
2121
@@ -25,13 +25,13 @@ The rollout strategy is blocked because the `RollingUpdate` configuration is too
2525

2626
## Troubleshooting steps
2727

28-
1. In the placement status section, check the `placementStatuses` to identify clusters with the `RolloutStarted` status set to `False`.
29-
2. Locate the corresponding `ClusterResourceBinding` (for ClusterResourcePlacement) or `ResourceBinding` (for ResourcePlacement) for the identified cluster.
28+
1. To identify clusters with the `RolloutStarted` status set to `False`, check the `placementStatuses` in the placement status section.
29+
2. To find the corresponding binding resource for the identified cluster, locate the `ClusterResourceBinding` (for ClusterResourcePlacement) or `ResourceBinding` (for ResourcePlacement).
3030
- For ClusterResourcePlacement, see [How can I find the latest ClusterResourceBinding resource?](troubleshoot-clusterresourceplacement-api-issues.md#how-can-i-find-the-latest-clusterresourcebinding-resource)
3131
- For ResourcePlacement, see [How can I find the latest ResourceBinding resource?](troubleshoot-resourceplacement-api-issues.md#how-can-i-find-the-latest-resourcebinding-resource)
3232

3333
This resource should indicate the `Work` status (whether it was created or updated).
34-
3. Verify the values of `maxUnavailable` and `maxSurge` to ensure they align with your expectations.
34+
3. To ensure the rollout configuration meets your expectations, verify the values of `maxUnavailable` and `maxSurge`.
3535

3636
## Case study: ClusterResourcePlacement
3737

@@ -182,7 +182,7 @@ status:
182182
The preceding output indicates that the resource `test-ns` namespace never existed on the hub cluster and shows the following `ClusterResourcePlacement` condition statuses:
183183

184184
- The `ClusterResourcePlacementScheduled` condition status shows as `False`, as the specified policy aims to pick three clusters, but the scheduler can only accommodate placements in two currently available and joined clusters.
185-
- The `ClusterResourcePlacementRolloutStarted` condition status shows as `True`, as the rollout process has started with two clusters selected.
185+
- The `ClusterResourcePlacementRolloutStarted` condition status shows as `True`, as the rollout process started with two clusters selected.
186186
- The `ClusterResourcePlacementOverridden` condition status shows as `True`, as no override rules are configured for the selected resources.
187187
- The `ClusterResourcePlacementWorkSynchronized` condition status shows as `True`.
188188
- The `ClusterResourcePlacementApplied` condition status shows as `True`.
@@ -366,17 +366,18 @@ The `ClusterResourceBinding` remains unchanged. In the `ClusterResourceBinding`
366366

367367
Initially, when the `ClusterResourcePlacement` was created, two `ClusterResourceBindings` were generated. However, since the rollout didn't apply to the initial phase, the `ClusterResourcePlacementRolloutStarted` condition was set to `True`.
368368

369-
Upon creating the `test-ns` namespace on the hub cluster, the rollout controller attempted to update the two existing `ClusterResourceBindings`. However, `maxUnavailable` was set to `1` due to the lack of member clusters, which caused the `RollingUpdate` configuration to be too strict.
369+
After you create the `test-ns` namespace on the hub cluster, the rollout controller attempted to update the two existing `ClusterResourceBindings`. However, `maxUnavailable` was set to `1` due to the lack of member clusters, which caused the `RollingUpdate` configuration to be too strict.
370370

371371
> [!NOTE]
372-
> During the update, if one of the bindings fails to apply, it will also violate the `RollingUpdate` configuration, which causes `maxUnavailable` to be set to `1`.
372+
> During the update, if one of the bindings fails to apply, it also violates the `RollingUpdate` configuration, which causes `maxUnavailable` to be set to `1`.
373373

374374
### Resolution
375375

376376
In this situation, to address this issue, consider manually setting `maxUnavailable` to a value greater than `1` to relax the `RollingUpdate` configuration. Alternatively, you can join a third member cluster.
377377

378378
## General Notes
379-
The rollout failure investigation flow is identical for ClusterResourcePlacement and ResourcePlacement; only the snapshot object kind differs. Replace CRP-specific object kinds with their RP equivalents when working with namespace-scoped placements.
379+
380+
The rollout failure investigation flow is identical for ClusterResourcePlacement and ResourcePlacement. Only the snapshot object kind differs. Replace ClusterResourcePlacement (CRP)-specific object kinds with their ResourcePlacement (RP) equivalents when working with namespace-scoped placements.
380381

381382
[!INCLUDE [Azure Help Support](../../../includes/azure-help-support.md)]
382383

0 commit comments

Comments
 (0)