Skip to content

Commit 95b373d

Browse files
authored
Merge pull request #262070 from MicrosoftDocs/main
12/29/2023 AM Publish
2 parents 5d9da61 + 0242150 commit 95b373d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+253
-104
lines changed

articles/azure-monitor/logs/cross-workspace-query.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ If you manage subscriptions in other Microsoft Entra tenants through [Azure Ligh
2626
## Permissions required
2727

2828
- You must have `Microsoft.OperationalInsights/workspaces/query/*/read` permissions to the Log Analytics workspaces you query, as provided by the [Log Analytics Reader built-in role](./manage-access.md#log-analytics-reader), for example.
29-
- To save a query, you must have `microsoft.operationalinsights/querypacks/queries/action` permisisons to the query pack where you want to save the query, as provided by the [Log Analytics Contributor built-in role](./manage-access.md#log-analytics-contributor), for example.
29+
- To save a query, you must have `microsoft.operationalinsights/querypacks/queries/action` permissions to the query pack where you want to save the query, as provided by the [Log Analytics Contributor built-in role](./manage-access.md#log-analytics-contributor), for example.
3030

3131
## Limitations
3232

articles/azure-resource-manager/bicep/bicep-config-linter.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Linter settings for Bicep config
33
description: Describes how to customize configuration values for the Bicep linter
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 11/27/2023
6+
ms.date: 12/29/2023
77
---
88

99
# Add linter settings in the Bicep config file
@@ -36,6 +36,9 @@ The following example shows the rules that are available for configuration.
3636
"explicit-values-for-loc-params": {
3737
"level": "warning"
3838
},
39+
"max-asserts": {
40+
"level": "warning"
41+
},
3942
"max-outputs": {
4043
"level": "warning"
4144
},
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: Linter rule - max asserts
3+
description: Linter rule - max asserts.
4+
ms.topic: conceptual
5+
ms.custom: devx-track-bicep
6+
ms.date: 12/28/2023
7+
---
8+
9+
# Linter rule - max asserts
10+
11+
This rule checks that the number of predeployment conditions doesn't exceed `32`.
12+
13+
## Linter rule code
14+
15+
Use the following value in the [Bicep configuration file](bicep-config-linter.md) to customize rule settings:
16+
17+
`max-asserts`
18+
19+
> [!WARNING]
20+
> This rule is intended used in tandem with `testFramework` experimental feature flag for expected functionality. For more information, see [Bicep Experimental Test Framework](https://github.com/Azure/bicep/issues/11967).
21+
22+
## Solution
23+
24+
Reduce the number of predeployment conditions in your template.
25+
26+
## Next steps
27+
28+
For more information about the linter, see [Use Bicep linter](./linter.md).

articles/azure-resource-manager/bicep/linter.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use Bicep linter
33
description: Learn how to use Bicep linter.
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 11/27/2023
6+
ms.date: 12/29/2023
77
---
88

99
# Use Bicep linter
@@ -22,6 +22,7 @@ The default set of linter rules is minimal and taken from [arm-ttk test cases](.
2222
- [artifacts-parameters](./linter-rule-artifacts-parameters.md)
2323
- [decompiler-cleanup](./linter-rule-decompiler-cleanup.md)
2424
- [explicit-values-for-loc-params](./linter-rule-explicit-values-for-loc-params.md)
25+
- [max-asserts](./linter-rule-max-asserts.md)
2526
- [max-outputs](./linter-rule-max-outputs.md)
2627
- [max-params](./linter-rule-max-parameters.md)
2728
- [max-resources](./linter-rule-max-resources.md)

articles/azure-resource-manager/bicep/toc.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,9 @@
458458
- name: Explicit values for module location parameters
459459
displayName: linter
460460
href: linter-rule-explicit-values-for-loc-params.md
461+
- name: Max asserts
462+
displayName: linter
463+
href: linter-rule-max-asserts.md
461464
- name: Max outputs
462465
displayName: linter
463466
href: linter-rule-max-outputs.md
@@ -530,13 +533,13 @@
530533
- name: Use parent property
531534
displayName: linter
532535
href: linter-rule-use-parent-property.md
533-
- name: use recent API versions
536+
- name: Use recent API versions
534537
displayName: linter
535538
href: linter-rule-use-recent-api-versions.md
536-
- name: use resource ID functions
539+
- name: Use resource ID functions
537540
displayName: linter
538541
href: linter-rule-use-resource-id-functions.md
539-
- name: use resource symbol reference
542+
- name: Use resource symbol reference
540543
displayName: linter
541544
href: linter-rule-use-resource-symbol-reference.md
542545
- name: Use stable resource identifier

articles/backup/azure-kubernetes-service-backup-overview.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.topic: conceptual
55
ms.service: backup
66
ms.custom:
77
- ignite-2023
8-
ms.date: 12/25/2023
8+
ms.date: 12/29/2023
99
author: AbhishekMallick-MS
1010
ms.author: v-abhmallick
1111
---
@@ -67,6 +67,15 @@ Azure Backup gives you the option to restore all the items that are backed up or
6767

6868
To restore backup stored in Vault Tier, you must provide a staging location where the backup data is hydrated. This staging location includes a resource group and a storage account in it within the same region and a subscription as the target cluster for restore. During restore, specific resources (blob container, disk, and disk snapshots) are created as part of hydration, which is then cleared after the restore operation is complete.
6969

70+
Azure Backup for AKS currently supports the following two options when doing a restore operation when resource clash happens (backed-up resource has the same name as the resource in the target AKS cluster). You can choose one of these options when defining the restore configuration.
71+
72+
1. **Skip**: This option is selected by default. For example, if you have backed up a PVC named *pvc-azuredisk* and you're restoring it in a target cluster that has the PVC with the same name, then the backup extension skips restoring the backed-up persistent volume claim (PVC). In such scenarios, we recommend you to delete the resource from the cluster, and then do the restore operation so that the backed-up items are only available in the cluster and aren't skipped.
73+
74+
2. **Patch**: This option allows the patching mutable variable in the backed-up resource on the resource in the target cluster. If you want to update the number of replicas in the target cluster, you can opt for patching as an operation.
75+
76+
>[!Note]
77+
>AKS backup currently doesn't delete and recreate resources in the target cluster if they already exist. If you attempt to restore Persistent Volumess in the original location, delete the existing Persistent Volumes, and then do the restore operation.
78+
7079
## Use custom hooks for backup and restore
7180

7281
You can use custom hooks to take application-consistent snapshots of volumes that are used for databases deployed as containerized workloads.

articles/backup/azure-kubernetes-service-backup-troubleshoot.md

Lines changed: 110 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Troubleshoot Azure Kubernetes Service backup
3-
description: Symptoms, causes, and resolutions of Azure Kubernetes Service backup and restore.
3+
description: Symptoms, causes, and resolutions of the Azure Kubernetes Service backup and restore operations.
44
ms.topic: troubleshooting
5-
ms.date: 03/15/2023
5+
ms.date: 12/28/2023
66
ms.service: backup
77
ms.custom:
88
- ignite-2023
@@ -114,6 +114,114 @@ This error appears due to absence of these FQDN rules because of which configura
114114

115115
6. Delete and reinstall Backup Extension to initiate backup.
116116

117+
## Backup Extension post installation related errors
118+
119+
These error codes appear due to issues on the Backup Extension installed in the AKS cluster.
120+
121+
122+
123+
### KubernetesBackupListExtensionsError:
124+
125+
**Cause**: Backup vault as part of a validation, checks if the cluster has backup extension installed. For this, the Vault MSI needs a reader permission on the AKS cluster allowing it to list all the extensions installed in the cluster.
126+
127+
**Recommended action**: Reassign the Reader role to the Vault MSI (remove the existing role assignment and assign the Reader role again), because the Reader role assigned is missing the *list-extension* permission in it. If reassignment fails, use a different Backup vault to configure backup.
128+
129+
### UserErrorKubernetesBackupExtensionNotFoundError
130+
131+
**Cause**: Backup vault as part of validation, checks if the cluster has the Backup extension installed. Vault performs an operation to list the extensions installed in the cluster. If the Backup extension is absent in the list, this error appears.
132+
133+
**Recommended action**: Use the CL or Azure portal client to delete the extension, and then install the extension again.
134+
135+
### UserErrorKubernetesBackupExtensionHasErrors
136+
137+
**Cause**: The Backup extension installed in the cluster has some internal errors.
138+
139+
**Recommended action**: Use the CL or Azure portal client to delete the extension, and then install the extension again.
140+
141+
### UserErrorKubernetesBackupExtensionIdentityNotFound
142+
143+
**Cause**: AKS backup requires a Backup extension installed in the cluster. The extension along with its installation has a User Identity created called extension MSI. This MSI is created in the Resource Group comprising the node pools for the AKS cluster. This MSI gets the required Roles assigned to access Backup Storage location. The error code suggests that the Extension Identity is missing.
144+
145+
**Recommended action**: Use the CLI or the Azure portal client to delete the extension, and then install the extension again. A new identity is created along with the extension.
146+
147+
### KubernetesBackupCustomResourcesTrackingTimeOutError
148+
149+
**Cause**: Azure Backup for AKS requires a Backup extension to be installed in the cluster. To perform the backup and restore operations, custom resources are created in the cluster. The extension-spawn pods that perform backup related operations via these CRs. This error occurs when the extension isn't able to update the status of these CRs.
150+
151+
**Recommended action**: The health of the extension is required to be verified via running the command `kubectl get pods -n dataprotection.microsoft`. If the pods aren't in running state, then increase the number of nodes in the cluster by *1* or increase the compute limits. Then wait for a few minutes and run the command again, which should change the state of the pods to *running*. If the issue persists, delete and reinstall the extension.
152+
153+
### BackupPluginDeleteBackupOperationFailed
154+
155+
**Cause**: The Backup extension should be running to delete the backups.
156+
157+
**Recommended action**: If the cluster is running, verify if the extension is running in a healthy state. Check if the extension pods are spawning, otherwise, increase the nodes. If that fails, try deleting and reinstalling the extension. If the backed-up cluster is deleted, then manually delete the snapshots and metadata.
158+
159+
### ExtensionTimedOutWaitingForBackupItemSync
160+
161+
**Cause**: The Backup extension waits for the backup items to be synced with the storage account.
162+
163+
**Recommended action**: If this error code appears, then either retry the backup operation or reinstall the extension.
164+
165+
## Backup storage location based errors
166+
167+
These error codes appear due to issues based on the Backup extension installed in the AKS cluster.
168+
169+
### UserErrorDeleteBackupFailedBackupStorageLocationReadOnly
170+
171+
**Cause**: The storage account provided as input during Backup extension installation is in *read only* state, which doesn't allow to delete the backup data from the blob container.
172+
173+
**Recommended action**: Change the storage account state from *read only* to *write*.
174+
175+
### UserErrorDeleteBackupFailedBackupStorageLocationNotFound
176+
177+
**Cause**: During the extension installation, a Backup Storage Location is to be provided as input that includes a storage account and blob container. This error appears if the location is deleted or incorrectly added during extension installation.
178+
179+
**Recommended action**: Delete the Backup extension, and then reinstall it with correct storage account and blob container as input.
180+
181+
### UserErrorBackupFailedBackupStorageLocationReadOnly
182+
183+
**Cause**: The storage account provided as input during Backup extension installation is in *read only* state, which doesn't allow to write backup data on the blob container.
184+
185+
**Recommended action**: Change the storage account state from *read only* to *write*.
186+
187+
### UserErrorNoDefaultBackupStorageLocationFound
188+
189+
**Cause**: During extension installation, a Backup Storage Location is to be provided as input, which includes a storage account and blob container. The error appears if the location is deleted or incorrectly entered during extension installation.
190+
191+
**Recommended action**: Delete the Backup extension, and then reinstall it with correct storage account and blob container as input.
192+
193+
### UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation
194+
195+
**Cause**: The Backup extension should have the *Storage Account Contributor* role on the Backup Storage Location (storage account). The Extension Identity gets this role assigned.
196+
197+
**Recommended action**: If this role is missing, then use Azure portal or CLI to reassign this missing permission on the storage account.
198+
199+
### UserErrorBackupStorageLocationNotReady
200+
201+
**Cause**: During extension installation, a Backup Storage Location is to be provided as input that includes a storage account and blob container. The Backup extension should have *Storage Account Contributor* role on the Backup Storage Location (storage account). The Extension Identity gets this role assigned.
202+
203+
**Recommended action**: The error appears if the Extension Identity doesn't have right permissions to access the storage account. This error appears if AKS backup extension is installed the first time when configuring protection operation. This happens for the time taken for the granted permissions to propagate to the AKS backup extension. As a workaround, wait an hour and retry the protection configuration. Otherwise, use Azure portal or CLI to reassign this missing permission on the storage account.
204+
205+
## Vaulted backup based errors
206+
207+
This error code can appear while you enable AKS backup to store backups in a vault standard datastore.
208+
209+
### DppUserErrorVaultTierPolicyNotSupported
210+
211+
**Cause**: This error code appears when a backup policy is created with retention rule defined for vault-standard datastore for a Backup vault in a region where this datastore isn't supported.
212+
213+
**Recommended action**: Update the retention rule with vault-standard duration defined on Azure portal:
214+
215+
1. Select **Edit** icon next to the rule.
216+
217+
:::image type="content" source="./media/azure-kubernetes-service-backup-troubleshoot/edit-backup-policy-for-vaulted-backup.png" alt-text="Screenshot shows how to edit the retention duration of the AKS backups." lightbox="./media/azure-kubernetes-service-backup-troubleshoot/edit-backup-policy-for-vaulted-backup.png":::
218+
219+
2. Clear the checkbox next the **Vault-standard**, and then select **Update**.
220+
221+
:::image type="content" source="./media/azure-kubernetes-service-backup-troubleshoot/clear-vault-standard-checkbox.png" alt-text="Screenshot shows clearing the vault-standard checkbox." lightbox="./media/azure-kubernetes-service-backup-troubleshoot/clear-vault-standard-checkbox.png":::
222+
223+
3. Create a backup policy for operational tier backup (only snapshots for the AKS cluster).
224+
117225
## Next steps
118226

119227
- [About Azure Kubernetes Service (AKS) backup](azure-kubernetes-service-backup-overview.md)

articles/backup/azure-kubernetes-service-cluster-restore.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.topic: how-to
55
ms.service: backup
66
ms.custom:
77
- ignite-2023
8-
ms.date: 12/25/2023
8+
ms.date: 12/29/2023
99
author: AbhishekMallick-MS
1010
ms.author: v-abhmallick
1111
---
@@ -111,6 +111,15 @@ As part of item-level restore capability of AKS backup, you can utilize multiple
111111

112112
:::image type="content" source="./media/azure-kubernetes-service-cluster-restore/select-backed-up-namespace-for-migrate.png" alt-text="Screenshot shows the selection of namespace for migration.":::
113113

114+
Azure Backup for AKS currently supports the following two options when doing a restore operation when resource clash happens (backed-up resource has the same name as the resource in the target AKS cluster). You can choose one of these options when defining the restore configuration.
115+
116+
- **Skip**: This option is selected by default. For example, if you have backed up a PVC named *pvc-azuredisk* and you're restoring it in a target cluster that has the PVC with the same name, then the backup extension skips restoring the backed-up persistent volume claim (PVC). In such scenarios, we recommend you to delete the resource from the cluster, and then do the restore operation so that the backed-up items are only available in the cluster and aren't skipped.
117+
118+
- **Patch**: This option allows the patching mutable variable in the backed-up resource on the resource in the target cluster. If you want to update the number of replicas in the target cluster, you can opt for patching as an operation.
119+
120+
>[!Note]
121+
>AKS backup currently doesn't delete and recreate resources in the target cluster if they already exist. If you attempt to restore Persistent Volumess in the original location, delete the existing Persistent Volumes, and then do the restore operation.
122+
114123
## Restore in secondary region (preview)
115124

116125
To restore the AKS cluster in the secondary region, [configure Geo redundancy and Cross Region Restore in the Backup vault](azure-kubernetes-service-cluster-backup.md#create-a-backup-vault), and then [trigger restore](tutorial-restore-aks-backups-across-regions.md#restore-in-secondary-region-preview).
148 KB
Loading
82.6 KB
Loading

0 commit comments

Comments
 (0)