Skip to content

Commit 678ef82

Browse files
committed
Merge branch 'main' into release-scommi
2 parents 5a103b2 + 8568454 commit 678ef82

File tree

148 files changed

+1170
-864
lines changed

Some content is hidden

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

148 files changed

+1170
-864
lines changed

articles/active-directory-b2c/identity-provider-generic-saml-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ Upon an application sign-out request, Azure AD B2C attempts to sign out from you
422422

423423
## Debug SAML protocol
424424

425-
To help configure and debug federation with a SAML identity provider, you can use a browser extension for the SAML protocol, such as [SAML DevTools extension](https://chrome.google.com/webstore/detail/saml-devtools-extension/jndllhgbinhiiddokbeoeepbppdnhhio) for Chrome, [SAML-tracer](https://addons.mozilla.org/es/firefox/addon/saml-tracer/) for FireFox, or [Microsoft Edge or IE Developer tools](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/gathering-a-saml-token-using-edge-or-ie-developer-tools/ba-p/320957).
425+
To help configure and debug federation with a SAML identity provider, you can use a browser extension for the SAML protocol, such as [SAML DevTools extension](https://chrome.google.com/webstore/detail/saml-devtools-extension/jndllhgbinhiiddokbeoeepbppdnhhio) for Chrome, [SAML-tracer](https://addons.mozilla.org/es/firefox/addon/saml-tracer/) for FireFox, or [Microsoft Edge or Internet Explorer developer tools](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/gathering-a-saml-token-using-edge-or-ie-developer-tools/ba-p/320957).
426426

427427
Using these tools, you can check the integration between Azure AD B2C and your SAML identity provider. For example:
428428

articles/active-directory-b2c/page-layout.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ Azure AD B2C page layout uses the following versions of the [jQuery library](htt
179179
- Added support for [display controls](display-controls.md) in custom policies.
180180

181181
**1.2.0**
182-
- The username/email and password fields now use the `form` HTML element to allow Microsoft Edge and Internet Explorer (IE) to properly save this information.
182+
- The username/email and password fields now use the `form` HTML element to allow Microsoft Edge and Internet Explorer to properly save this information.
183183
- Added a configurable user input validation delay for improved user experience.
184184
- Accessibility fixes
185185
- Fix an accessibility issue so that error messages are read by Narrator.
@@ -273,7 +273,7 @@ Azure AD B2C page layout uses the following versions of the [jQuery library](htt
273273
- When the [sign-in option](sign-in-options.md) is set to Email, the sign-in header presents "Sign in with your sign-in name". The username field presents "Sign in name". For more information, see [localization](localization-string-ids.md#sign-up-or-sign-in-page-elements).
274274

275275
**1.2.0**
276-
- The username/email and password fields now use the `form` HTML element to allow Microsoft Edge and Internet Explorer (IE) to properly save this information.
276+
- The username/email and password fields now use the `form` HTML element to allow Microsoft Edge and Internet Explorer to properly save this information.
277277
- Accessibility fixes
278278
- You can now add the `data-preload="true"` attribute [in your HTML tags](customize-ui-with-html.md#guidelines-for-using-custom-page-content) to control the load order for CSS and JavaScript.
279279
- Load linked CSS files at the same time as your HTML template so it doesn't 'flicker' between loading the files.
@@ -313,7 +313,7 @@ Azure AD B2C page layout uses the following versions of the [jQuery library](htt
313313

314314
**1.2.7**
315315
- Fixed accessibility issue on label for retries code.
316-
- Fixed issue caused by incompatibility of default parameter on IE 11.
316+
- Fixed issue caused by incompatibility of default parameter on Internet Explorer 11.
317317
- Set up `H1` heading and enable by default.
318318
- Updated HandlebarJS version to 4.7.7.
319319

articles/active-directory-b2c/troubleshoot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ Use **Run now** and `https://jwt.ms` to test your policies independently of your
165165

166166
## Troubleshoot SAML protocol
167167

168-
To help configure and debug the integration with your service provider, you can use a browser extension for the SAML protocol, for example, [SAML DevTools extension](https://chrome.google.com/webstore/detail/saml-devtools-extension/jndllhgbinhiiddokbeoeepbppdnhhio) for Chrome, [SAML-tracer](https://addons.mozilla.org/es/firefox/addon/saml-tracer/) for FireFox, or [Edge or IE Developer tools](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/gathering-a-saml-token-using-edge-or-ie-developer-tools/ba-p/320957).
168+
To help configure and debug the integration with your service provider, you can use a browser extension for the SAML protocol, for example, [SAML DevTools extension](https://chrome.google.com/webstore/detail/saml-devtools-extension/jndllhgbinhiiddokbeoeepbppdnhhio) for Chrome, [SAML-tracer](https://addons.mozilla.org/es/firefox/addon/saml-tracer/) for FireFox, or [Edge or Internet Explorer developer tools](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/gathering-a-saml-token-using-edge-or-ie-developer-tools/ba-p/320957).
169169

170170
The following screenshot demonstrates how the SAML DevTools extension presents the SAML request Azure AD B2C sends to the identity provider, and the SAML response.
171171

articles/ai-services/content-safety/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ To use the Content Safety APIs, you must create your Azure AI Content Safety res
116116
|---|---|---|---|---|---|---|
117117
| East US |||||||
118118
| East US 2 || | || ||
119-
| West US | | | | || |
119+
| West US | | | | || |
120120
| West US 2 || | | | ||
121121
| Central US || | | | ||
122122
| North Central US || | | | ||

articles/ai-services/openai/how-to/file-search.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ client = AzureOpenAI(
8080

8181
assistant = client.beta.assistants.create(
8282
name="Financial Analyst Assistant",
83-
instructions="You are an expert financial analyst. Use you knowledge base to answer questions about audited financial statements.",
83+
instructions="You are an expert financial analyst. Use your knowledge base to answer questions about audited financial statements.",
8484
model="gpt-4-turbo",
8585
tools=[{"type": "file_search"}],
8686
)

articles/aks/concepts-clusters-workloads.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -363,9 +363,7 @@ Two Kubernetes resources, however, let you manage these types of applications: *
363363

364364
Modern application development often aims for stateless applications. For stateful applications, like those that include database components, you can use *StatefulSets*. Like deployments, a StatefulSet creates and manages at least one identical pod. Replicas in a StatefulSet follow a graceful, sequential approach to deployment, scale, upgrade, and termination operations. The naming convention, network names, and storage persist as replicas are rescheduled with a StatefulSet.
365365

366-
You can define the application in YAML format using `kind: StatefulSet`. From there, the StatefulSet Controller handles the deployment and management of the required replicas. Data writes to persistent storage, provided by Azure Managed Disks or Azure Files. With StatefulSets, the underlying persistent storage remains, even when the StatefulSet is deleted.
367-
368-
For more information, see [Kubernetes StatefulSets][kubernetes-statefulsets].
366+
You can define the application in YAML format using `kind: StatefulSet`. From there, the StatefulSet Controller handles the deployment and management of the required replicas. Data writes to persistent storage, provided by Azure Managed Disks or Azure Files. The underlying persistent storage remains even when the StatefulSet is deleted, unless the `spec.persistentVolumeClaimRetentionPolicy` is set to `Delete`. For more information, see [Kubernetes StatefulSets][kubernetes-statefulsets].
369367

370368
> [!IMPORTANT]
371369
> Replicas in a StatefulSet are scheduled and run across any available node in an AKS cluster. To ensure at least one pod in your set runs on a node, you should use a DaemonSet instead.

articles/aks/node-autoprovision.md

Lines changed: 66 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ description: Learn about Azure Kubernetes Service (AKS) node autoprovisioning (p
44
ms.topic: article
55
ms.custom: devx-track-azurecli
66
ms.date: 01/18/2024
7-
ms.author: juda
7+
ms.author: schaffererin
8+
author: schaffererin
89
#Customer intent: As a cluster operator or developer, how to scale my cluster based on workload requirements and right size my nodes automatically
910
---
1011

@@ -68,7 +69,7 @@ NAP is based on the Open Source [Karpenter](https://karpenter.sh) project, and t
6869
- The only network configuration allowed is Cilium + Overlay + Azure
6970
- You can't enable in a cluster where node pools have cluster autoscaler enabled
7071
71-
### Unsupported features:
72+
### Unsupported features
7273
7374
- Windows node pools
7475
- Applying custom configuration to the node kubelet
@@ -84,69 +85,82 @@ NAP is based on the Open Source [Karpenter](https://karpenter.sh) project, and t
8485
8586
## Enable node autoprovisioning
8687
87-
To enable node autoprovisioning, create a new cluster using the az aks create command and set --node-provisioning-mode to "Auto". You'll also need to use overlay networking and the cilium network policy.
88+
### Enable node autoprovisioning on a new cluster
8889
8990
### [Azure CLI](#tab/azure-cli)
9091
91-
```azurecli-interactive
92-
az aks create --name karpuktest --resource-group karpuk --node-provisioning-mode Auto --network-plugin azure --network-plugin-mode overlay --network-dataplane cilium
92+
- Enable node autoprovisioning on a new cluster using the `az aks create` command and set `--node-provisioning-mode` to `Auto`. You also need to set the `--network-plugin` to `azure`, `--network-plugin-mode` to `overlay`, and `--network-dataplane` to `cilium`.
9393
94-
```
94+
```azurecli-interactive
95+
az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME --node-provisioning-mode Auto --network-plugin azure --network-plugin-mode overlay --network-dataplane cilium
96+
```
9597
96-
### [Azure ARM](#tab/azure-arm)
98+
### [ARM template](#tab/arm)
9799
98-
```azurecli-interactive
99-
az deployment group create --resource-group napcluster --template-file ./nap.json
100-
```
100+
- Enable node autoprovisioning on a new cluster using the `az deployment group create` command and specify the `--template-file` parameter with the path to the ARM template file.
101+
102+
```azurecli-interactive
103+
az deployment group create --resource-group $RESOURCE_GROUP_NAME --template-file ./nap.json
104+
```
101105
102-
```arm
103-
{
104-
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
105-
"contentVersion": "1.0.0.0",
106-
"metadata": {},
107-
"parameters": {},
108-
"resources": [
106+
The `nap.json` file should contain the following ARM template:
107+
108+
```JSON
109109
{
110-
"type": "Microsoft.ContainerService/managedClusters",
111-
"apiVersion": "2023-09-02-preview",
112-
"sku": {
113-
"name": "Base",
114-
"tier": "Standard"
115-
},
116-
"name": "napcluster",
117-
"location": "uksouth",
118-
"identity": {
119-
"type": "SystemAssigned"
120-
},
121-
"properties": {
122-
"networkProfile": {
123-
"networkPlugin": "azure",
124-
"networkPluginMode": "overlay",
125-
"networkPolicy": "cilium",
126-
"networkDataplane":"cilium",
127-
"loadBalancerSku": "Standard"
128-
},
129-
"dnsPrefix": "napcluster",
130-
"agentPoolProfiles": [
131-
{
132-
"name": "agentpool",
133-
"count": 3,
134-
"vmSize": "standard_d2s_v3",
135-
"osType": "Linux",
136-
"mode": "System"
110+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
111+
"contentVersion": "1.0.0.0",
112+
"metadata": {},
113+
"parameters": {},
114+
"resources": [
115+
{
116+
"type": "Microsoft.ContainerService/managedClusters",
117+
"apiVersion": "2023-09-02-preview",
118+
"sku": {
119+
"name": "Base",
120+
"tier": "Standard"
121+
},
122+
"name": "napcluster",
123+
"location": "uksouth",
124+
"identity": {
125+
"type": "SystemAssigned"
126+
},
127+
"properties": {
128+
"networkProfile": {
129+
"networkPlugin": "azure",
130+
"networkPluginMode": "overlay",
131+
"networkPolicy": "cilium",
132+
"networkDataplane":"cilium",
133+
"loadBalancerSku": "Standard"
134+
},
135+
"dnsPrefix": "napcluster",
136+
"agentPoolProfiles": [
137+
{
138+
"name": "agentpool",
139+
"count": 3,
140+
"vmSize": "standard_d2s_v3",
141+
"osType": "Linux",
142+
"mode": "System"
143+
}
144+
],
145+
"nodeProvisioningProfile": {
146+
"mode": "Auto"
147+
},
137148
}
138-
],
139-
"nodeProvisioningProfile": {
140-
"mode": "Auto"
141-
},
142-
}
149+
}
150+
]
143151
}
144-
]
145-
}
146-
```
152+
```
147153
148154
---
149155
156+
### Enable node autoprovisioning on an existing cluster
157+
158+
- Enable node autoprovisioning on an existing cluster using the `az aks update` command and set `--node-provisioning-mode` to `Auto`. You also need to set the `--network-plugin` to `azure`, `--network-plugin-mode` to `overlay`, and `--network-dataplane` to `cilium`.
159+
160+
```azurecli-interactive
161+
az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME --node-provisioning-mode Auto --network-plugin azure --network-plugin-mode overlay --network-dataplane cilium
162+
```
163+
150164
## Node pools
151165
152166
Node autoprovision uses a list of VM SKUs as a starting point to decide which is best suited for the workloads that are in a pending state. Having control over what SKU you want in the initial pool allows you to specify specific SKU families, or VM types and the maximum amount of resources a provisioner uses.

articles/aks/static-ip.md

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.author: allensu
77
ms.subservice: aks-networking
88
ms.custom: devx-track-azurecli
99
ms.topic: how-to
10-
ms.date: 09/22/2023
10+
ms.date: 06/03/2024
1111
#Customer intent: As a cluster operator or developer, I want to create and manage static IP address resources in Azure that I can use beyond the lifecycle of an individual Kubernetes service deployed in an AKS cluster.
1212
---
1313

@@ -65,11 +65,53 @@ This article shows you how to create a static public IP address and assign it to
6565
6666
## Create a service using the static IP address
6767
68-
1. Ensure the cluster identity used by the AKS cluster has delegated permissions to the public IP's resource group using the [`az role assignment create`][az-role-assignment-create] command.
68+
1. First, determine which type of managed identity your AKS cluster is using, system-assigned or user-assigned. If you're not certain, call the [az aks show][az-aks-show] command and query for the identity's *type* property.
69+
70+
```azurecli
71+
az aks show \
72+
--name myAKSCluster \
73+
--resource-group myResourceGroup \
74+
--query identity.type \
75+
--output tsv
76+
```
77+
78+
If the cluster is using a managed identity, the value of the *type* property will be either **SystemAssigned** or **UserAssigned**.
79+
80+
If the cluster is using a service principal, the value of the *type* property will be null. Consider upgrading your cluster to use a managed identity.
81+
82+
1. If your AKS cluster uses a system-assigned managed identity, then query for the managed identity's principal ID as follows:
83+
84+
```azurecli-interactive
85+
# Get the principal ID for a system-assigned managed identity.
86+
CLIENT_ID=$(az aks show \
87+
--name myAKSCluster \
88+
--resource-group myNetworkResourceGroup \
89+
--query identity.principalId \
90+
--output tsv)
91+
```
92+
93+
If your AKS cluster uses a user-assigned managed identity, then the principal ID will be null. Query for the user-assigned managed identity's client ID instead:
94+
95+
```azurecli-interactive
96+
# Get the client ID for a user-assigned managed identity.
97+
CLIENT_ID=$(az aks show \
98+
--name myAKSCluster \
99+
--resource-group myNetworkResourceGroup \
100+
--query identity.userAssignedIdentities.*.clientId \
101+
--output tsv
102+
```
103+
104+
1. Assign delegated permissions for the managed identity used by the AKS cluster for the public IP's resource group by calling the [`az role assignment create`][az-role-assignment-create] command.
69105
70106
```azurecli-interactive
71-
CLIENT_ID=$(az aks show --name myAKSCluster --resource-group myNetworkResourceGroup --query identity.principalId -o tsv)
72-
RG_SCOPE=$(az group show --name <node resource group> --query id -o tsv)
107+
# Get the resource ID for the node resource group.
108+
RG_SCOPE=$(az group show \
109+
--name <node resource group> \
110+
--query id \
111+
--output tsv)
112+
113+
# Assign the Network Contributor role to the managed identity,
114+
# scoped to the node resource group.
73115
az role assignment create \
74116
--assignee ${CLIENT_ID} \
75117
--role "Network Contributor" \
@@ -79,7 +121,7 @@ This article shows you how to create a static public IP address and assign it to
79121
> [!IMPORTANT]
80122
> If you customized your outbound IP, make sure your cluster identity has permissions to both the outbound public IP and the inbound public IP.
81123
82-
2. Create a file named `load-balancer-service.yaml` and copy in the contents of the following YAML file, providing your own public IP address created in the previous step and the node resource group name.
124+
1. Create a file named `load-balancer-service.yaml` and copy in the contents of the following YAML file, providing your own public IP address created in the previous step and the node resource group name.
83125
84126
> [!IMPORTANT]
85127
> Adding the `loadBalancerIP` property to the load balancer YAML manifest is deprecating following [upstream Kubernetes](https://github.com/kubernetes/kubernetes/pull/107235). While current usage remains the same and existing services are expected to work without modification, we **highly recommend setting service annotations** instead. To set service annotations, you can either use `service.beta.kubernetes.io/azure-pip-name` for public IP name, or use `service.beta.kubernetes.io/azure-load-balancer-ipv4` for an IPv4 address and `service.beta.kubernetes.io/azure-load-balancer-ipv6` for an IPv6 address, as shown in the example YAML.
@@ -103,7 +145,7 @@ This article shows you how to create a static public IP address and assign it to
103145
> [!NOTE]
104146
> Adding the `service.beta.kubernetes.io/azure-pip-name` annotation ensures the most efficient LoadBalancer creation and is highly recommended to avoid potential throttling.
105147
106-
3. Set a public-facing DNS label to the service using the `service.beta.kubernetes.io/azure-dns-label-name` service annotation. This publishes a fully qualified domain name (FQDN) for your service using Azure's public DNS servers and top-level domain. The annotation value must be unique within the Azure location, so we recommend you use a sufficiently qualified label. Azure automatically appends a default suffix in the location you selected, such as `<location>.cloudapp.azure.com`, to the name you provide, creating the FQDN.
148+
1. Set a public-facing DNS label to the service using the `service.beta.kubernetes.io/azure-dns-label-name` service annotation. This publishes a fully qualified domain name (FQDN) for your service using Azure's public DNS servers and top-level domain. The annotation value must be unique within the Azure location, so we recommend you use a sufficiently qualified label. Azure automatically appends a default suffix in the location you selected, such as `<location>.cloudapp.azure.com`, to the name you provide, creating the FQDN.
107149
108150
> [!NOTE]
109151
> If you want to publish the service on your own domain, see [Azure DNS][azure-dns-zone] and the [external-dns][external-dns] project.
@@ -125,13 +167,13 @@ This article shows you how to create a static public IP address and assign it to
125167
app: azure-load-balancer
126168
```
127169
128-
4. Create the service and deployment using the `kubectl apply` command.
170+
1. Create the service and deployment using the `kubectl apply` command.
129171
130172
```console
131173
kubectl apply -f load-balancer-service.yaml
132174
```
133175
134-
5. To see the DNS label for your load balancer, use the `kubectl describe service` command.
176+
1. To see the DNS label for your load balancer, use the `kubectl describe service` command.
135177
136178
```console
137179
kubectl describe service azure-load-balancer

0 commit comments

Comments
 (0)