Skip to content

Commit c5fa3d8

Browse files
authored
Merge pull request #1 from alvinli222/alvinli222-pdb-patch
add PodDrainFailure into troubleshooting
2 parents 98db2eb + b96e48c commit c5fa3d8

File tree

145 files changed

+3095
-2513
lines changed

Some content is hidden

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

145 files changed

+3095
-2513
lines changed

articles/active-directory/develop/mobile-app-quickstart-portal-android.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ms.custom: aaddev, identityplatformtop40, "scenarios:getting-started", "language
2424
>
2525
> We apologize for the inconvenience and appreciate your patience while we work to get this resolved.
2626
27-
> [!div renderon="portal" class="sxs-lookup display-on-portal"]
27+
> [!div renderon="portal" id="display-on-portal" class="sxs-lookup"]
2828
> # Quickstart: Sign in users and call the Microsoft Graph API from an Android app
2929
>
3030
> In this quickstart, you download and run a code sample that demonstrates how an Android application can sign in users and get an access token to call the Microsoft Graph API.
@@ -42,15 +42,17 @@ ms.custom: aaddev, identityplatformtop40, "scenarios:getting-started", "language
4242
> ### Step 1: Configure your application in the Azure portal
4343
> For the code sample in this quickstart to work, add a **Redirect URI** compatible with the Auth broker.
4444
>
45-
> <button id="makechanges" class="nextstepaction" class="configure-app-button"> Make this change for me </button>
45+
> <button id="makechanges" class="nextstepaction configure-app-button"> Make these changes for me </button>
4646
>
4747
> > [!div id="appconfigured" class="alert alert-info"]
4848
> > ![Already configured](media/quickstart-v2-android/green-check.png) Your application is configured with these attributes
4949
>
5050
> ### Step 2: Download the project
5151
>
5252
> Run the project using Android Studio.
53-
> <a href='https://github.com/Azure-Samples/ms-identity-android-java/archive/master.zip'><button id="downloadsample" class="download-sample-button">Download the code sample</button></a>
53+
>
54+
> > [!div class="nextstepaction"]
55+
> > <button id="downloadsample" class="download-sample-button">Download the code sample</button>
5456
>
5557
>
5658
> ### Step 3: Your app is configured and ready to run
@@ -484,4 +486,4 @@ ms.custom: aaddev, identityplatformtop40, "scenarios:getting-started", "language
484486
> Move on to the Android tutorial in which you build an Android app that gets an access token from the Microsoft identity platform and uses it to call the Microsoft Graph API.
485487
>
486488
> > [!div class="nextstepaction"]
487-
> > [Tutorial: Sign in users and call the Microsoft Graph from an Android application](tutorial-v2-android.md)
489+
> > [Tutorial: Sign in users and call the Microsoft Graph from an Android application](tutorial-v2-android.md)

articles/active-directory/develop/mobile-app-quickstart-portal-ios.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ms.custom: aaddev, identityplatformtop40, "scenarios:getting-started", "language
2626
>
2727
> We apologize for the inconvenience and appreciate your patience while we work to get this resolved.
2828
29-
> [!div renderon="portal" class="sxs-lookup display-on-portal"]
29+
> [!div renderon="portal" id="display-on-portal" class="sxs-lookup"]
3030
> # Quickstart: Sign in users and call the Microsoft Graph API from an iOS or macOS app
3131
>
3232
> In this quickstart, you download and run a code sample that demonstrates how a native iOS or macOS application can sign in users and get an access token to call the Microsoft Graph API.
@@ -47,16 +47,18 @@ ms.custom: aaddev, identityplatformtop40, "scenarios:getting-started", "language
4747
> #### Step 1: Configure your application
4848
> For the code sample in this quickstart to work, add a **Redirect URI** compatible with the Auth broker.
4949
>
50-
> <button id="makechanges" class="nextstepaction" class="configure-app-button"> Make this change for me </button>
50+
> <button id="makechanges" class="nextstepaction configure-app-button"> Make these changes for me </button>
5151
>
5252
> > [!div id="appconfigured" class="alert alert-info"]
5353
> > ![Already configured](media/quickstart-v2-ios/green-check.png) Your application is configured with these attributes
5454
>
5555
> #### Step 2: Download the sample project
5656
>
57-
> <a href='https://github.com/Azure-Samples/active-directory-ios-swift-native-v2/archive/master.zip'><button id="downloadsample" class="downloadsample_ios">Download the code sample for iOS</button></a>
58-
>
59-
> <a href='https://github.com/Azure-Samples/active-directory-macOS-swift-native-v2/archive/master.zip'><button id="downloadsample" class="downloadsample_ios">Download the code sample for macOS</button></a>
57+
> > [!div class="nextstepaction"]
58+
> > <button id="downloadsample_ios" class="download-sample-button">Download the code sample for iOS</button>
59+
>
60+
> > [!div class="nextstepaction"]
61+
> > <button id="downloadsample_macos" class="download-sample-button">Download the code sample for macOS</button>
6062
>
6163
> #### Step 3: Install dependencies
6264
>
@@ -238,4 +240,4 @@ ms.custom: aaddev, identityplatformtop40, "scenarios:getting-started", "language
238240
> Move on to the step-by-step tutorial in which you build an iOS or macOS app that gets an access token from the Microsoft identity platform and uses it to call the Microsoft Graph API.
239241
>
240242
> > [!div class="nextstepaction"]
241-
> > [Tutorial: Sign in users and call Microsoft Graph from an iOS or macOS app](tutorial-v2-ios.md)
243+
> > [Tutorial: Sign in users and call Microsoft Graph from an iOS or macOS app](tutorial-v2-ios.md)

articles/active-directory/develop/refresh-tokens.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ Before reading through this article, it's recommended that you go through the fo
2929

3030
## Refresh token lifetime
3131

32-
Refresh tokens have a longer lifetime than access tokens. The default lifetime for the tokens is 90 days and they replace themselves with a fresh token upon every use. As such, whenever a refresh token is used to acquire a new access token, a new refresh token is also issued. The Microsoft identity platform doesn't revoke old refresh tokens when used to fetch new access tokens. Securely delete the old refresh token after acquiring a new one. Refresh tokens need to be stored safely like access tokens or application credentials.
32+
Refresh tokens have a longer lifetime than access tokens. The default lifetime for the refresh tokens is 24 hours for [single page apps](reference-third-party-cookies-spas.md) and 90 days for all other scenarios. Refresh tokens replace themselves with a fresh token upon every use. The Microsoft identity platform doesn't revoke old refresh tokens when used to fetch new access tokens. Securely delete the old refresh token after acquiring a new one. Refresh tokens need to be stored safely like access tokens or application credentials.
33+
34+
>[!IMPORTANT]
35+
> Refresh tokens sent to a redirect URI registered as `spa` expire after 24 hours. Additional refresh tokens acquired using the initial refresh token carry over that expiration time, so apps must be prepared to rerun the authorization code flow using an interactive authentication to get a new refresh token every 24 hours. Users do not have to enter their credentials and usually don't even see any related user experience, just a reload of your application. The browser must visit the log-in page in a top-level frame to show the login session. This is due to [privacy features in browsers that block third party cookies](reference-third-party-cookies-spas.md).
3336
3437
## Refresh token expiration
3538

articles/active-directory/privileged-identity-management/pim-resource-roles-configure-alerts.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.topic: how-to
1010
ms.tgt_pltfrm: na
1111
ms.workload: identity
1212
ms.subservice: pim
13-
ms.date: 05/24/2022
13+
ms.date: 10/07/2021
1414
ms.author: curtand
1515
ms.reviewer: shaunliu
1616
ms.custom: pim
@@ -31,15 +31,11 @@ Select an alert to see a report that lists the users or roles that triggered the
3131

3232
## Alerts
3333

34-
Alert | Severity | Trigger | Recommendation
35-
--- | --- | --- | ---
36-
**Too many owners assigned to a resource** |Medium |Too many users have the owner role. |Review the users in the list and reassign some to less privileged roles.
37-
**Too many permanent owners assigned to a resource** |Medium |Too many users are permanently assigned to a role. |Review the users in the list and re-assign some to require activation for role use.
38-
**Duplicate role created** |Medium |Multiple roles have the same criteria. |Use only one of these roles.
39-
**Roles are being assigned outside of Privileged Identity Management (Preview)** | High | A role is managed directly through the Azure IAM resource blade or the Azure Resource Manager API | Review the users in the list and remove them from privileged roles assigned outside of Privilege Identity Management.
40-
41-
> [!Note]
42-
> During the public preview of the **Roles are being assigned outside of Privileged Identity Management (Preview)** alert, Microsoft supports only permissions that are assigned at the subscription level.
34+
| Alert | Severity | Trigger | Recommendation |
35+
| --- | --- | --- | --- |
36+
| **Too many owners assigned to a resource** |Medium |Too many users have the owner role. |Review the users in the list and reassign some to less privileged roles. |
37+
| **Too many permanent owners assigned to a resource** |Medium |Too many users are permanently assigned to a role. |Review the users in the list and re-assign some to require activation for role use. |
38+
| **Duplicate role created** |Medium |Multiple roles have the same criteria. |Use only one of these roles. |
4339

4440
### Severity
4541

articles/aks/howto-deploy-java-liberty-app-with-postgresql.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ The steps in this section guide you through creating an Azure Database for Postg
8181
Use the [az postgres server create](/cli/azure/postgres/server#az-postgres-server-create) command to create the DB server. The following example creates a DB server named *youruniquedbname*. Make sure *youruniqueacrname* is unique within Azure.
8282

8383
> [!TIP]
84-
> To help ensure a globally unique name, prepend a disambiguation string such as your intitials and the MMDD of today's date.
84+
> To help ensure a globally unique name, prepend a disambiguation string such as your initials and the MMDD of today's date.
8585
8686

8787
```bash
@@ -153,7 +153,7 @@ In directory *liberty/config*, the *server.xml* is used to configure the DB conn
153153

154154
After the offer is successfully deployed, an AKS cluster will be generated automatically. The AKS cluster is configured to connect to the ACR. Before we get started with the application, we need to extract the namespace configured for the AKS.
155155

156-
1. Run following command to print the current deployment file, using the `appDeploymentTemplateYamlEncoded` you saved above. The output contains all the variables we need.
156+
1. Run the following command to print the current deployment file, using the `appDeploymentTemplateYamlEncoded` you saved above. The output contains all the variables we need.
157157

158158
```bash
159159
echo <appDeploymentTemplateYamlEncoded> | base64 -d

articles/aks/troubleshooting.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,20 @@ To help diagnose the issue run `az aks show -g myResourceGroup -n myAKSCluster -
131131
* If cluster is actively upgrading, wait until the operation finishes. If it succeeded, retry the previously failed operation again.
132132
* If cluster has failed upgrade, follow steps outlined in previous section.
133133

134+
## I'm receiving an error due to "PodDrainFailure"
135+
136+
This error is due to the requested operation being blocked by a PodDisruptionBudget (PDB) that has been set on the deployments within the cluster. To learn more about how PodDisruptionBudgets work, please visit check out [the official Kubernetes example](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pdb-example).
137+
138+
If you'd like to proceed, either configure your PDB to be less restrictive by reducing the minAvailable pod count, or increasing the maxUnavailable pod count, or deleting the PDB completely before proceeding with the operation.
139+
140+
You may use this command to find the PDBs applied on your cluster:
141+
142+
```
143+
kubectl get poddisruptionbudgets
144+
```
145+
146+
For more information about PodDisruptionBudgets, please check out the [official Kubernetes guide on configuring a PDB](https://kubernetes.io/docs/tasks/run-application/configure-pdb/).
147+
134148
## Can I move my cluster to a different subscription or my subscription with my cluster to a new tenant?
135149

136150
If you've moved your AKS cluster to a different subscription or the cluster's subscription to a new tenant, the cluster won't function because of missing cluster identity permissions. **AKS doesn't support moving clusters across subscriptions or tenants** because of this constraint.

articles/aks/web-app-routing.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ The Web Application Routing solution makes it easy to access applications that a
2323
The add-on deploys four components: an [nginx ingress controller][nginx], [Secrets Store CSI Driver][csi-driver], [Open Service Mesh (OSM)][osm], and [External-DNS][external-dns] controller.
2424

2525
- **Nginx ingress Controller**: The ingress controller exposed to the internet.
26-
- **External-dns**: Watches for Kubernetes Ingress resources and creates DNS A records in the cluster-specific DNS zone.
26+
- **External-DNS controller**: Watches for Kubernetes Ingress resources and creates DNS A records in the cluster-specific DNS zone.
2727
- **CSI driver**: Connector used to communicate with keyvault to retrieve SSL certificates for ingress controller.
2828
- **OSM**: A lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
29-
- **External-DNS controller**: Watches for Kubernetes Ingress resources and creates DNS A records in the cluster-specific DNS zone.
3029

3130
## Prerequisites
3231

@@ -251,4 +250,4 @@ service "aks-helloworld" deleted
251250
[kubectl-delete]: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#delete
252251
[kubectl-logs]: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
253252
[ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/
254-
[ingress-resource]: https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource
253+
[ingress-resource]: https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource

articles/azure-arc/data/active-directory-introduction.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ ms.topic: how-to
1212
---
1313

1414
# Azure Arc-enabled SQL Managed Instance with Active Directory authentication
15+
1516
Azure Arc-enabled data services support Active Directory (AD) for Identity and Access Management (IAM). The Arc-enabled SQL Managed Instance uses an existing on-premises Active Directory (AD) domain for authentication.
1617

18+
[!INCLUDE [azure-arc-data-preview](../../../includes/azure-arc-data-preview.md)]
19+
1720
This article describes how to enable Azure Arc-enabled SQL Managed Instance with Active Directory (AD) Authentication. The article demonstrates two possible AD integration modes:
1821
- Customer-managed keytab (CMK)
1922
- System-managed keytab (SMK)

articles/azure-arc/data/active-directory-prerequisites.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ ms.topic: how-to
1515

1616
This document explains how to prepare to deploy Azure Arc-enabled data services with Active Directory (AD) authentication. Specifically the article describes Active Directory objects you need to configure before the deployment of Kubernetes resources.
1717

18+
[!INCLUDE [azure-arc-data-preview](../../../includes/azure-arc-data-preview.md)]
19+
1820
[The introduction](active-directory-introduction.md#compare-ad-integration-modes) describes two different integration modes:
1921
- *System-managed keytab* mode allows the system to create and manage the AD accounts for each SQL Managed Instance.
2022
- *Customer-managed keytab* mode allows you to create and manage the AD accounts for each SQL Managed Instance.

articles/azure-arc/data/configure-managed-instance.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.subservice: azure-arc-data
77
author: dnethi
88
ms.author: dinethi
99
ms.reviewer: mikeray
10-
ms.date: 02/22/2022
10+
ms.date: 05/27/2022
1111
ms.topic: how-to
1212
---
1313

@@ -45,6 +45,39 @@ To view the changes made to the Azure Arc-enabled SQL managed instance, you can
4545
az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s
4646
```
4747

48+
## Configure readable secondaries
49+
50+
When you deploy Azure Arc enabled SQL managed instance in `BusinessCritical` service tier with 2 or more replicas, by default, one secondary replica is automatically configured as `readableSecondary`. This setting can be changed, either to add or to remove the readable secondaries as follows:
51+
52+
```azurecli
53+
az sql mi-arc update --name <sqlmi name> --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s
54+
```
55+
56+
For example, the following example will reset the readable secondaries to 0.
57+
58+
```azurecli
59+
az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s
60+
```
61+
## Configure replicas
62+
63+
You can also scale up or down the number of replicas deployed in the `BusinessCritical` service tier as follows:
64+
65+
```azurecli
66+
az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s
67+
```
68+
69+
For example:
70+
71+
The following example will scale down the number of replicas from 3 to 2.
72+
73+
```azurecli
74+
az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s
75+
```
76+
77+
> [Note]
78+
> If you scale down from 2 replicas to 1 replica, you may run into a conflict with the pre-configured `--readable--secondaries` setting. You can first edit the `--readable--secondaries` before scaling down the replicas.
79+
80+
4881
## Configure Server options
4982

5083
You can configure server configuration settings for Azure Arc-enabled SQL managed instance after creation time. This article describes how to configure settings like enabling or disabling mssql Agent, enable specific trace flags for troubleshooting scenarios.

0 commit comments

Comments
 (0)