Skip to content

Commit 72bf20b

Browse files
committed
Merge branch 'main' into release-fabric-mirroring-pupr
2 parents d7ee0fd + da7831d commit 72bf20b

File tree

299 files changed

+4118
-3040
lines changed

Some content is hidden

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

299 files changed

+4118
-3040
lines changed

articles/active-directory-b2c/custom-domain.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -331,14 +331,6 @@ https://<domain-name>/11111111-1111-1111-1111-111111111111/v2.0/
331331
```
332332
::: zone pivot="b2c-custom-policy"
333333

334-
## (Optional) Block access to the default domain name
335-
336-
After you add the custom domain and configure your application, users will still be able to access the &lt;tenant-name&gt;.b2clogin.com domain. If you want to prevent access, you can configure the policy to check the authorization request "host name" against an allowed list of domains. The host name is the domain name that appears in the URL. The host name is available through `{Context:HostName}` [claim resolvers](claim-resolver-overview.md). Then you can present a custom error message.
337-
338-
1. Get the example of a conditional access policy that checks the host name from [GitHub](https://github.com/azure-ad-b2c/samples/tree/master/policies/check-host-name).
339-
1. In each file, replace the string `yourtenant` with the name of your Azure AD B2C tenant. For example, if the name of your B2C tenant is *contosob2c*, all instances of `yourtenant.onmicrosoft.com` become `contosob2c.onmicrosoft.com`.
340-
1. Upload the policy files in the following order: `B2C_1A_TrustFrameworkExtensions_HostName.xml` and then `B2C_1A_signup_signin_HostName.xml`.
341-
342334
::: zone-end
343335

344336

articles/ai-services/document-intelligence/includes/preview-notice.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ ms.date: 02/29/2024
1515
>
1616
> * Document Intelligence public preview releases provide early access to features that are in active development.
1717
> * Features, approaches, and processes may change, prior to General Availability (GA), based on user feedback.
18-
> * The public preview version of Document Intelligence client libraries default to REST API version [**2024-02-29-preview**](https://westus.dev.cognitive.microsoft.com/docs/services/document-intelligence-api-2024-02-29-preview/operations/AnalyzeDocument).
19-
> * Public preview version [**2024-02-29-preview**](https://westus.dev.cognitive.microsoft.com/docs/services/document-intelligence-api-2024-02-29-preview/operations/AnalyzeDocument) is currently only available in the following Azure regions:
18+
> * The public preview version of Document Intelligence client libraries default to REST API version [**2024-02-29-preview**](/rest/api/aiservices/operation-groups?view=rest-aiservices-2024-02-29-preview&preserve-view=true).
19+
> * Public preview version [**2024-02-29-preview**](/rest/api/aiservices/operation-groups?view=rest-aiservices-2024-02-29-preview&preserve-view=true) is currently only available in the following Azure regions:
2020
> * **East US**
2121
> * **West US2**
2222
> * **West Europe**

articles/ai-studio/how-to/create-azure-ai-resource.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: How to create and manage an Azure AI hub resource
33
titleSuffix: Azure AI Studio
4-
description: This article describes how to create and manage an Azure AI hub resource
4+
description: This article describes how to create and manage an Azure AI hub resource.
55
manager: scottpolly
66
ms.service: azure-ai-studio
77
ms.custom:
@@ -23,7 +23,7 @@ In this article, you learn how to create and manage an Azure AI hub resource in
2323

2424
## Create an Azure AI hub resource in AI Studio
2525

26-
To create a new Azure AI hub resource, you need either the Owner or Contributor role on the resource group or on an existing Azure AI hub resource. If you are unable to create an Azure AI hub resource due to permissions, reach out to your administrator. If your organization is using [Azure Policy](../../governance/policy/overview.md), don't create the resource in AI Studio. Create the Azure AI hub resource [in the Azure portal](#create-a-secure-azure-ai-hub-resource-in-the-azure-portal) instead.
26+
To create a new Azure AI hub resource, you need either the Owner or Contributor role on the resource group or on an existing Azure AI hub resource. If you're unable to create an Azure AI hub resource due to permissions, reach out to your administrator. If your organization is using [Azure Policy](../../governance/policy/overview.md), don't create the resource in AI Studio. Create the Azure AI hub resource [in the Azure portal](#create-a-secure-azure-ai-hub-resource-in-the-azure-portal) instead.
2727

2828
Follow these steps to create a new Azure AI hub resource in AI Studio.
2929

@@ -32,7 +32,7 @@ Follow these steps to create a new Azure AI hub resource in AI Studio.
3232

3333
1. Enter your AI hub name, subscription, resource group, and location details.
3434

35-
1. In the **Azure OpenAI** dropdown, you can select an existing Azure OpenAI resource to bring all your deployments into AI Studio. If you do not bring one, we will create one for you.
35+
1. In the **Azure OpenAI** dropdown, you can select an existing Azure OpenAI resource to bring all your deployments into AI Studio. If you don't bring one, we'll create one for you.
3636

3737
:::image type="content" source="../media/how-to/resource-create-advanced.png" alt-text="Screenshot of the Create an Azure AI hub resource wizard with the option to set basic information." lightbox="../media/how-to/resource-create-advanced.png":::
3838

@@ -86,6 +86,7 @@ If your organization is using [Azure Policy](../../governance/policy/overview.md
8686
## Manage your Azure AI hub resource from the Azure portal
8787

8888
### Azure AI hub resource keys
89+
8990
View your keys and endpoints for your Azure AI hub resource from the overview page within the Azure portal.
9091

9192
:::image type="content" source="../media/how-to/resource-manage-view-keys.png" alt-text="Screenshot of the Azure AI hub resource in the Azure portal showing the keys and endpoints." lightbox="../media/how-to/resource-manage-view-keys.png":::
@@ -124,6 +125,14 @@ For Azure AI hub resources that use CMK encryption mode, you can update the encr
124125

125126
:::image type="content" source="../media/how-to/resource-manage-encryption.png" alt-text="Screenshot of the Encryption page of the Azure AI hub resource in the Azure portal." lightbox="../media/how-to/resource-manage-encryption.png":::
126127

128+
### Update Azure Application Insights and Azure Container Registry
129+
130+
To use custom environments for Prompt Flow, you're required to configure an Azure Container Registry for your AI hub. To use Azure Application Insights for Prompt Flow deployments, a configured Azure Application Insights resource is required for your AI hub.
131+
132+
You can configure your AI hub for these resources during creation or update after creation. To update Azure Application Insights from the Azure portal, navigate to the **Properties** for your Azure AI hub resource in the Azure portal, then select **Change Application Insights**. You can also use the Azure SDK/CLI options or infrastructure-as-code templates to update both Azure Application Insights and Azure Container Registry for the AI Hub.
133+
134+
:::image type="content" source="../media/how-to/resource-manage-update-associated-resources.png" alt-text="Screenshot of the properties page of the Azure AI resource in the Azure portal." lightbox="../media/how-to/resource-manage-update-associated-resources.png":::
135+
127136
## Manage your Azure AI hub resource from the Manage tab within the AI Studio
128137

129138
### Getting started with the AI Studio
57.5 KB
Loading

articles/aks/best-practices-app-cluster-reliability.md

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -186,33 +186,37 @@ You can use the `nodeSelector` field in your pod specification to specify the no
186186
The following example pod definition file shows how to use pod anti-affinity to ensure that pods are spread across nodes:
187187

188188
```yaml
189-
apiVersion: v1
190-
kind: Pod
189+
apiVersion: apps/v1
190+
kind: Deployment
191191
metadata:
192-
name: with-node-affinity
192+
name: multi-zone-deployment
193+
labels:
194+
app: myapp
193195
spec:
194-
affinity:
195-
nodeAffinity:
196-
requiredDuringSchedulingIgnoredDuringExecution:
197-
nodeSelectorTerms:
198-
- matchExpressions:
199-
- key: topology.kubernetes.io/zone
200-
operator: In
201-
values:
202-
- 0 # Azure Availability Zone 0
203-
- 1 # Azure Availability Zone 1
204-
- 2 # Azure Availability Zone 2
205-
preferredDuringSchedulingIgnoredDuringExecution:
206-
- weight: 1
207-
preference:
208-
matchExpressions:
209-
- key: another-node-label-key
210-
operator: In
211-
values:
212-
- another-node-label-value
213-
containers:
214-
- name: with-node-affinity
215-
image: registry.k8s.io/pause:2.0
196+
replicas: 3
197+
selector:
198+
matchLabels:
199+
app: myapp
200+
template:
201+
metadata:
202+
labels:
203+
app: myapp
204+
spec:
205+
containers:
206+
- name: myapp-container
207+
image: nginx
208+
ports:
209+
- containerPort: 80
210+
affinity:
211+
podAntiAffinity:
212+
requiredDuringSchedulingIgnoredDuringExecution:
213+
- labelSelector:
214+
matchExpressions:
215+
- key: app
216+
operator: In
217+
values:
218+
- myapp
219+
topologyKey: topology.kubernetes.io/zone
216220
```
217221

218222
For more information, see [Affinity and anti-affinity in Kubernetes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity).

articles/aks/istio-deploy-addon.md

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,23 @@ export LOCATION=<location>
2929

3030
The add-on requires Azure CLI version 2.57.0 or later installed. You can run `az --version` to verify version. To install or upgrade, see [Install Azure CLI][azure-cli-install].
3131

32-
## Install Istio add-on at the time of cluster creation
32+
## Get available Istio add-on revisions
33+
To find information about which Istio add-on revisions are available in a region and their compatibility with AKS cluster versions, use:
34+
35+
```azurecli-interactive
36+
az aks mesh get-revisions --location <location> -o table
37+
```
38+
39+
40+
## Install Istio add-on
41+
### Revision selection
42+
If you enable the add-on without specifying a revision, a default supported revision is installed for you.
43+
44+
If you wish to specify the revision instead:
45+
1. Use the `get-revisions` command in the [previous step](#get-available-istio-add-on-revisions) to check which revisions are available for different AKS cluster versions in a region.
46+
1. Based on the available revisions, you can include the `--revision asm-X-Y` (ex: `--revision asm-1-20`) flag in the enable command you use for mesh installation.
47+
48+
### Install mesh during cluster creation
3349

3450
To install the Istio add-on when creating the cluster, use the `--enable-azure-service-mesh` or`--enable-asm` parameter.
3551

@@ -42,7 +58,7 @@ az aks create \
4258
--enable-asm
4359
```
4460

45-
## Install Istio add-on for existing cluster
61+
### Install mesh for existing cluster
4662

4763
The following example enables Istio add-on for an existing AKS cluster:
4864

@@ -86,23 +102,44 @@ istiod-asm-1-18-74f7f7c46c-xfdtl 1/1 Running 0 2m
86102

87103
## Enable sidecar injection
88104

89-
To automatically install sidecar to any new pods, annotate your namespaces:
105+
To automatically install sidecar to any new pods, you will need to annotate your namespaces with the revision label corresponding to the control plane revision currently installed.
106+
107+
If you're unsure which revision is installed, use:
108+
```bash
109+
az aks show --resource-group ${RESOURCE_GROUP} --name ${CLUSTER} --query 'serviceMeshProfile.istio.revisions'
110+
```
90111

112+
Apply the revision label:
91113
```bash
92-
kubectl label namespace default istio.io/rev=asm-1-18
114+
kubectl label namespace default istio.io/rev=asm-X-Y
93115
```
94116

95117
> [!IMPORTANT]
96-
> The default `istio-injection=enabled` labeling doesn't work. Explicit versioning (`istio.io/rev=asm-1-18`) is required.
118+
> The default `istio-injection=enabled` labeling doesn't work. Explicit versioning matching the control plane revision (ex: `istio.io/rev=asm-1-18`) is required.
97119
120+
For manual injection of sidecar using `istioctl kube-inject`, you need to specify extra parameters for `istioNamespace` (`-i`) and `revision` (`-r`). For example:
98121

99-
For manual injection of sidecar using `istioctl kube-inject`, you need to specify extra parameters for `istioNamespace` (`-i`) and `revision` (`-r`). Example:
122+
```bash
123+
kubectl apply -f <(istioctl kube-inject -f sample.yaml -i aks-istio-system -r asm-X-Y) -n foo
124+
```
125+
126+
## Trigger sidecar injection
127+
You can either deploy the sample application provided for testing, or trigger sidecar injection for existing workloads.
128+
129+
### Existing applications
130+
If you have existing applications to be added to the mesh, ensure their namespaces are labeled as in the previous step, and then restart their deployments to trigger sidecar injection:
131+
```bash
132+
kubectl rollout restart -n <namespace> <deployment name>
133+
```
100134

135+
Verify that sidecar injection succeeded by ensuring all containers are ready and looking for the `istio-proxy` container in the `kubectl describe` output, for example:
101136
```bash
102-
kubectl apply -f <(istioctl kube-inject -f sample.yaml -i aks-istio-system -r asm-1-18) -n foo
137+
kubectl describe pod -n namespace <pod name>
103138
```
104139

105-
## Deploy sample application
140+
The `istio-proxy` container is the Envoy sidecar. Your application is now part of the data plane.
141+
142+
### Deploy sample application
106143

107144
Use `kubectl apply` to deploy the sample application on the cluster:
108145

@@ -150,10 +187,8 @@ reviews ClusterIP 10.0.73.95 <none> 9080/TCP 86s
150187
kubectl get pods
151188
```
152189

153-
Confirm that all the pods have status of `Running`.
154-
155190
```
156-
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
191+
NAME READY STATUS RESTARTS AGE
157192
details-v1-558b8b4b76-2llld 2/2 Running 0 2m41s
158193
productpage-v1-6987489c74-lpkgl 2/2 Running 0 2m40s
159194
ratings-v1-7dc98c7588-vzftc 2/2 Running 0 2m41s
@@ -162,8 +197,8 @@ reviews-v2-7d79d5bd5d-8zzqd 2/2 Running 0 2m41s
162197
reviews-v3-7dbcdcbc56-m8dph 2/2 Running 0 2m41s
163198
```
164199

165-
> [!NOTE]
166-
> Each pod has two containers, one of which is the Envoy sidecar injected by Istio and the other is the application container.
200+
201+
Confirm that all the pods have status of `Running` with 2 containers in the `READY` column. The second container (`istio-proxy`) added to each pod is the Envoy sidecar injected by Istio, and the other is the application container.
167202

168203
To test this sample application against ingress, check out [next-steps](#next-steps).
169204

articles/aks/istio-upgrade.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ The following example illustrates how to upgrade from revision `asm-1-18` to `as
3232
1. Initiate a canary upgrade from revision `asm-1-18` to `asm-1-19` using [az aks mesh upgrade start](/cli/azure/aks/mesh#az-aks-mesh-upgrade-start):
3333
3434
```bash
35-
az aks mesh upgrade start --resource-group $RESOURCE_GROUP --name $CLUSTER --revision asm-1-18
35+
az aks mesh upgrade start --resource-group $RESOURCE_GROUP --name $CLUSTER --revision asm-1-19
3636
```
3737
3838
A canary upgrade means the 1.18 control plane is deployed alongside the 1.17 control plane. They continue to coexist until you either complete or roll back the upgrade.
@@ -101,7 +101,7 @@ The following example illustrates how to upgrade from revision `asm-1-18` to `as
101101

102102
* **Rollback the canary upgrade**: In case you observe any issues with the health of your workloads, you can roll back to the previous revision of Istio:
103103

104-
* Relabel the namespace to the previous revision
104+
* Relabel the namespace to the previous revision:
105105

106106
```bash
107107
kubectl label namespace default istio.io/rev=asm-1-18 --overwrite
@@ -119,7 +119,7 @@ The following example illustrates how to upgrade from revision `asm-1-18` to `as
119119
az aks mesh upgrade rollback --resource-group $RESOURCE_GROUP --name $CLUSTER
120120
```
121121

122-
1. If [mesh configuration][meshconfig] was set up for the revisions in previous steps, you can now delete the ConfigMap for the revision that was removed from the cluster on completing or rolling back the upgrade.
122+
1. If [mesh configuration][meshconfig] was previously set up for the revisions, you can now delete the ConfigMap for the revision that was removed from the cluster during complete/rollback.
123123

124124
> [!NOTE]
125125
> Manually relabeling namespaces when moving them to a new revision can be tedious and error-prone. [Revision tags](https://istio.io/latest/docs/setup/upgrade/canary/#stable-revision-labels) solve this problem. Revision tags are stable identifiers that point to revisions and can be used to avoid relabeling namespaces. Rather than relabeling the namespace, a mesh operator can simply change the tag to point to a new revision. All namespaces labeled with that tag will be updated at the same time. However, note that you still need to restart the workloads to make sure the correct version of `istio-proxy` sidecars are injected.

0 commit comments

Comments
 (0)