Skip to content

Commit 598e388

Browse files
Merge pull request #10576 from MicrosoftDocs/main
Auto Publish – main to live - 2026-01-22 18:00 UTC
2 parents 496b6d7 + d162c71 commit 598e388

13 files changed

Lines changed: 610 additions & 134 deletions

support/azure/app-service/web-apps-performance-faqs.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.custom: sap:Availability, Performance, and Application Issues
1515
1616
## Summary
1717

18-
This article answers common questions about availability, performance, and troubleshooting application issues in the [Web Apps feature of Azure App Service](https://azure.microsoft.com/services/app-service/web/). Use this guide to quickly resolve problems and optimize your app’s reliability.
18+
This article has answers to frequently asked questions (FAQs) about application performance issues for the [Web Apps feature of Azure App Service](https://azure.microsoft.com/services/app-service/web/).
1919

2020
## Where can I learn more about quotas and limits for various App Service plans?
2121

@@ -145,3 +145,4 @@ To turn on failed request tracing, follow these steps:
145145
- If you're deploying in regions that support availability zones, consider enabling zone redundancy to enhance resiliency during regional outages. For more information, see [Reliability in Azure App Service](/azure/reliability/reliability-app-service).
146146

147147
- App Service undergoes routine maintenance to ensure platform reliability. For more control over update behavior, especially in App Service Environment v3, configure upgrade preference. For more information, see [Routine (planned) maintenance for Azure App Service](/azure/app-service/routine-maintenance).
148+

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

Lines changed: 65 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,73 @@
11
---
2-
title: ClusterResourcePlacementApplied failure when using ClusterResourcePlacement API object in Azure Kubernetes Fleet Manager
3-
description: Helps you resolve ClusterResourcePlacementApplied failure when you propagate resources by using the ClusterResourcePlacement API object in Azure Kubernetes Fleet Manager APIs.
4-
ms.date: 08/05/2024
2+
title: PlacementApplied failure when using placement APIs in Azure Kubernetes Fleet Manager
3+
description: Helps you resolve ClusterResourcePlacementApplied or ResourcePlacementApplied failure when you propagate resources by using the ClusterResourcePlacement or ResourcePlacement API object in Azure Kubernetes Fleet Manager APIs.
4+
ms.date: 12/09/2025
55
ms.reviewer: zhangryan, chiragpa, shasb, ericlucier, arfallas, sachidesai
66
ms.service: azure-kubernetes-fleet-manager
77
ms.custom: sap:Other issue or questions related to Fleet manager
88
---
99

10-
# Resource propagation failure: ClusterResourcePlacementApplied is False
10+
# Resource propagation failure: PlacementApplied is False
1111

12-
This article discusses how to troubleshoot `ClusterResourcePlacementApplied` issues when you propagate resources by using the `ClusterResourcePlacement` object API in Microsoft Azure Kubernetes Fleet Manager.
12+
## Summary
13+
14+
This article discusses how to troubleshoot resource application failures when you propagate resources by using placement APIs in Microsoft Azure Kubernetes Fleet Manager. This issue applies to both `ClusterResourcePlacement` and `ResourcePlacement`, each with their own dedicated custom resource condition types:
15+
16+
- `ClusterResourcePlacementApplied` for ClusterResourcePlacement
17+
- `ResourcePlacementApplied` for ResourcePlacement
18+
19+
Sample error messages:
20+
21+
# [ClusterResourcePlacement](#tab/clusterresourceplacement)
22+
23+
```yaml
24+
- lastTransitionTime: "2024-05-07T23:32:40Z"
25+
message: Failed to apply resources to 1 clusters, please check the `failedPlacements` status
26+
observedGeneration: 1
27+
reason: ApplyFailed
28+
status: "False"
29+
type: ClusterResourcePlacementApplied
30+
```
31+
32+
# [ResourcePlacement](#tab/resourceplacement)
33+
34+
```yaml
35+
- lastTransitionTime: "2024-05-07T23:32:40Z"
36+
message: Failed to apply resources to 1 clusters, please check the `failedPlacements` status
37+
observedGeneration: 1
38+
reason: ApplyFailed
39+
status: "False"
40+
type: ResourcePlacementApplied
41+
```
42+
43+
---
1344
1445
## Symptoms
1546
16-
When you use the `ClusterResourcePlacement` API object in Azure Kubernetes Fleet Manager to propagate resources, the deployment fails. The `ClusterResourcePlacementApplied` status shows as `False`.
47+
When you use the `ClusterResourcePlacement` or `ResourcePlacement` API object in Azure Kubernetes Fleet Manager to propagate resources, the deployment fails. The `ClusterResourcePlacementApplied` (for ClusterResourcePlacement) or `ResourcePlacementApplied` (for ResourcePlacement) status shows as `False`.
48+
49+
> [!NOTE]
50+
> To get more information about why the resources aren't applied, you can check the work applier controller logs. For more information about viewing Fleet agent logs, see [View agent logs in Azure Kubernetes Fleet Manager](/azure/kubernetes-fleet/view-fleet-agent-logs).
1751

1852
## Cause
1953

20-
This issue might occur because of one of the following reasons:
54+
One of the following reasons might cause the issue:
2155

22-
- The resource already exists on the cluster and isn't managed by the fleet controller. To resolve this issue, update the `ClusterResourcePlacement` manifest YAML file to use `AllowCoOwnership` within `ApplyStrategy` to allow the fleet controller to manage the resource.
23-
- Another `ClusterResourcePlacement` deployment is already managing the resource for the selected cluster by using a different apply strategy.
24-
- The `ClusterResourcePlacement` deployment doesn't apply the manifest because of syntax errors or invalid resource configurations. This might also occur if a resource is propagated through an envelope object.
56+
- The resource already exists on the cluster and the fleet controller doesn't manage it.
57+
- Another placement (ClusterResourcePlacement or ResourcePlacement) already manages the resource for the selected cluster by using a different apply strategy.
58+
- The placement doesn't apply the manifest because of syntax errors or invalid resource configurations. A resource propagated through an envelope object might also cause the issue.
2559

2660
## Troubleshooting steps
2761

28-
1. View the `ClusterResourcePlacement` status and locate the `placementStatuses` section. Check the `placementStatuses` value to identify which clusters have the `ResourceApplied` condition set to `False`, and note their `clusterName` value.
29-
2. Locate the `Work` object in the hub cluster. Use the identified `clusterName` to locate the `Work` object that's associated with the member cluster. For more information, see [How to find the correct Work resource associated with `ClusterResourcePlacement`](troubleshoot-clusterresourceplacement-api-issues.md#find-work).
30-
3. Check the status of the `Work` object to understand the specific issues that are preventing successful resource application.
62+
1. To identify clusters with the `ClusterResourcePlacementApplied` (for ClusterResourcePlacement) or `ResourcePlacementApplied` (for ResourcePlacement) condition set to `False`, inspect the `placementStatuses` in the placement status section and note down their `clusterName`.
63+
2. To locate the `Work` object associated with the member cluster, use the identified `clusterName`.
64+
- For ClusterResourcePlacement, see [How to find the correct Work resource associated with `ClusterResourcePlacement`](troubleshoot-clusterresourceplacement-api-issues.md#find-work)
65+
- For ResourcePlacement, see [How to find the correct Work resource associated with `ResourcePlacement`](troubleshoot-resource-placement-issues.md#find-work)
66+
3. To understand the specific issues preventing successful resource application, inspect the status of the `Work` object.
3167

32-
## Case study
68+
## Case study: ClusterResourcePlacement
3369

34-
In the following example, `ClusterResourcePlacement` is trying to propagate a namespace that contains a deployment to two member clusters. However, the namespace already exists on one member cluster, specifically `kind-cluster-1`.
70+
In the following example, a `ClusterResourcePlacement` is trying to propagate a namespace that contains a deployment to two member clusters. However, the namespace already exists on one member cluster, specifically `kind-cluster-1`.
3571

3672
### ClusterResourcePlacement specifications
3773

@@ -191,7 +227,7 @@ status:
191227
version: v1
192228
```
193229
194-
In the `failedPlacements` section for `kind-cluster-1`, the `message` fields explain why the resource wasn't applied on the member cluster. In the preceding `conditions` section, the `Applied` condition for `kind-cluster-1` is flagged as `false` and shows the `NotAllWorkHaveBeenApplied` reason. This indicates that the `Work` object that's intended for the member cluster `kind-cluster-1` wasn't applied. For more information, see [How to find the correct Work resource associated with `ClusterResourcePlacement`](troubleshoot-clusterresourceplacement-api-issues.md#find-work).
230+
In the `failedPlacements` section for `kind-cluster-1`, the `message` fields explain why the resource wasn't applied on the member cluster. In the preceding `conditions` section, the `Applied` condition for `kind-cluster-1` is flagged as `false` and shows the `NotAllWorkHaveBeenApplied` reason. The `Work` object intended for the member cluster `kind-cluster-1` wasn't applied. For more information, see [How to find the correct Work resource associated with `ClusterResourcePlacement`](troubleshoot-clusterresourceplacement-api-issues.md#find-work).
195231

196232
### Work status of kind-cluster-1
197233

@@ -258,8 +294,19 @@ Check the `Work` status, particularly the `manifestConditions` section. You can
258294

259295
### Resolution
260296

261-
In this situation, a potential solution is to set the `AllowCoOwnership` to `true` in the ApplyStrategy policy. However, it's important to notice that this decision should be made by the user because the resources might not be shared.
297+
In the situation, set the `AllowCoOwnership` to `true` in the ApplyStrategy policy. However, the user must make the decision because the resources might not be shared.
298+
299+
## General troubleshooting notes
300+
301+
The troubleshooting process and Work object inspection are identical for both placement types:
302+
303+
- Both use the same underlying Work API to apply resources to member clusters.
304+
- The Work object status and manifestConditions have the same structure regardless of the placement type that created them.
305+
- The main difference is the scope: the cluster-scoped placement can select both cluster-scoped and namespace-scoped resources, while the namespace-scoped placement can only select namespace-scoped resources within its own namespace.
306+
307+
For ResourcePlacement-specific considerations:
262308

263-
Additionally, you can review the logs for the [Apply Work Controller](https://github.com/Azure/fleet/blob/main/pkg/controllers/work/apply_controller.go) for more insights into why the resources are unavailable.
309+
- Ensure the target namespace exists on member clusters before the ResourcePlacement tries to apply resources to it
310+
- ResourcePlacement can only select resources within the same namespace where the ResourcePlacement object itself resides
264311

265312

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

Lines changed: 55 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,66 @@
11
---
2-
title: ClusterResourcePlacementAvailable is false when using ClusterResourcePlacement API object in Azure Kubernetes Fleet Manager
3-
description: Helps you resolve ClusterResourcePlacementAvailable failure when you propagate resources by using the ClusterResourcePlacement API object in Azure Kubernetes Fleet Manager APIs.
4-
ms.date: 08/05/2024
2+
title: PlacementAvailable failure when using placement APIs in Azure Kubernetes Fleet Manager
3+
description: Helps you resolve ClusterResourcePlacementAvailable or ResourcePlacementAvailable failure when you propagate resources by using the ClusterResourcePlacement or ResourcePlacement API object in Azure Kubernetes Fleet Manager APIs.
4+
ms.date: 12/09/2025
55
ms.reviewer: zhangryan, chiragpa, shasb, ericlucier, arfallas, sachidesai
66
ms.service: azure-kubernetes-fleet-manager
77
ms.custom: sap:Other issue or questions related to Fleet manager
88
---
99

10-
# Resource propagation failure: ClusterResourcePlacementAvailable is False
10+
# Resource propagation failure: PlacementAvailable is False
1111

12-
This article discusses how to troubleshoot `ClusterResourcePlacementAvailable` issues when you propagate resources by using the `ClusterResourcePlacement` object API in Microsoft Azure Kubernetes Fleet Manager.
12+
## Summary
13+
14+
This article discusses how to troubleshoot resource availability failures when you propagate resources by using placement APIs in Microsoft Azure Kubernetes Fleet Manager. This issue applies to both `ClusterResourcePlacement` and `ResourcePlacement`, each with their own dedicated custom resource condition types:
15+
16+
- `ClusterResourcePlacementAvailable` for ClusterResourcePlacement
17+
- `ResourcePlacementAvailable` for ResourcePlacement
18+
19+
Sample error messages:
20+
21+
# [ClusterResourcePlacement](#tab/clusterresourceplacement)
22+
23+
```yaml
24+
- lastTransitionTime: "2024-05-07T23:32:40Z"
25+
message: Failed to check the availability of resources in 1 clusters, please check the `failedPlacements` status
26+
observedGeneration: 1
27+
reason: ResourcesUnavailable
28+
status: "False"
29+
type: ClusterResourcePlacementAvailable
30+
```
31+
32+
# [ResourcePlacement](#tab/resourceplacement)
33+
34+
```yaml
35+
- lastTransitionTime: "2024-05-07T23:32:40Z"
36+
message: Failed to check the availability of resources in 1 clusters, please check the `failedPlacements` status
37+
observedGeneration: 1
38+
reason: ResourcesUnavailable
39+
status: "False"
40+
type: ResourcePlacementAvailable
41+
```
42+
43+
---
1344
1445
## Symptoms
1546
16-
When you use the `ClusterResourcePlacement` API object in Azure Kubernetes Fleet Manager to propagate resources, the deployment fails. The `ClusterResourcePlacementAvailable` status shows as `False`.
47+
When you use the `ClusterResourcePlacement` or `ResourcePlacement` API object in Azure Kubernetes Fleet Manager to propagate resources, the deployment fails. The `ClusterResourcePlacementAvailable` (for ClusterResourcePlacement) or `ResourcePlacementAvailable` (for ResourcePlacement) status shows as `False`.
48+
49+
> [!NOTE]
50+
> To get more information about why resources are unavailable, check the work applier controller logs. Detailed failures are placed in the `failedPlacements` section of the placement status. For more information about viewing Fleet agent logs, see [View agent logs in Azure Kubernetes Fleet Manager](/azure/kubernetes-fleet/view-fleet-agent-logs).
1751

1852
## Cause
1953

2054
This issue might occur because of one of the following reasons:
2155

2256
- The member cluster doesn't have enough resource availability.
2357
- The deployment contains an invalid image name.
58+
- Required resources (such as persistent volumes, config maps, or secrets) are missing.
59+
- Resource quotas or limit ranges are preventing the resource from becoming available.
2460

25-
## Case study
61+
## Case study: ClusterResourcePlacement
2662

27-
The following example shows that `ClusterResourcePlacement` doesn't propagate a deployment to a member cluster because of an invalid image name.
63+
The following example shows that a `ClusterResourcePlacement` is unable to propagate a deployment to a member cluster because of an invalid image name.
2864

2965
#### ClusterResourcePlacement specifications
3066

@@ -153,7 +189,7 @@ status:
153189
namespace: test-ns
154190
version: v1
155191
```
156-
In the `failedPlacements` section for `kind-cluster-1`, the `message` field explains why the resource wasn't applied on the member cluster. In the preceding `conditions` section, the `Applied` condition for `kind-cluster-1` is flagged as `false` and shows the `NotAllWorkHaveBeenApplied` reason. This indicates that the `Work` object that's intended for the member cluster `kind-cluster-1` wasn't applied. For more information, see [How to find the correct Work resource associated with `ClusterResourcePlacement`](troubleshoot-clusterresourceplacement-api-issues.md#find-work).
192+
In the `failedPlacements` section for `kind-cluster-1`, the `message` field explains why the resource wasn't applied on the member cluster. In the preceding `conditions` section, the `Applied` condition for `kind-cluster-1` is flagged as `false` and shows the `NotAllWorkHaveBeenApplied` reason. The `Work` object intended for the member cluster `kind-cluster-1` wasn't applied. For more information, see [How to find the correct Work resource associated with `ClusterResourcePlacement`](troubleshoot-clusterresourceplacement-api-issues.md#find-work).
157193
158194
### Work status of kind-cluster-1
159195
```
@@ -213,13 +249,20 @@ conditions:
213249
version: v1
214250
```
215251
216-
Check the `Available` status for `kind-cluster-1`. You can see that the `my-deployment` deployment isn't yet available on the member cluster. This suggests that an issue might be affecting the deployment manifest.
252+
Check the `Available` status for `kind-cluster-1`. You can see that the `my-deployment` deployment isn't yet available on the member cluster. An issue might be affecting the deployment manifest.
217253
218254
### Resolution
219255
220-
In this situation, a potential solution is to check the deployment in the member cluster because the message indicates that the root cause of the issue is a bad image name. After this image name is identified, you can correct the deployment manifest and update it. After you fix and update the resource manifest, the `ClusterResourcePlacement` object API automatically propagates the corrected resource to the member cluster.
256+
In the situation, check the deployment in the member cluster because the message indicates that the root cause of the issue is a bad image name. After you identify the image name, correct the deployment manifest and update it. After you fix and update the resource manifest, the placement object (ClusterResourcePlacement or ResourcePlacement) automatically propagates the corrected resource to the member cluster.
221257
222258
For all other situations, make sure that the propagated resource is configured correctly. Additionally, verify that the selected cluster has sufficient available capacity to accommodate the new resources.
223259
224-
260+
## General troubleshooting notes
261+
262+
The troubleshooting process and Work object inspection are identical for both placement types:
263+
264+
- Both use the same underlying Work API to apply resources to member clusters.
265+
- The Work object status and manifestConditions have the same structure regardless of the placement type that created them.
266+
- The `Available` condition in the Work status indicates whether the applied resources are now available on the member cluster.
267+
- The main difference is the scope: the cluster-scoped placement can select both cluster-scoped and namespace-scoped resources, while the namespace-scoped placement can only select namespace-scoped resources within its own namespace.
225268

0 commit comments

Comments
 (0)