Skip to content

Commit bfcb2d1

Browse files
authored
Merge branch 'release-local-2506' into 6b-sec-updates-2506
2 parents 19a89b9 + 9531bff commit bfcb2d1

38 files changed

+646
-217
lines changed

.acrolinx-config.edn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
{:allowed-branchname-matches ["main" "release-.*"]
2-
:allowed-filename-matches ["azure-stack" "AKS-Hybrid" "azure-managed-lustre" "azure-local"]}
2+
:allowed-filename-matches ["azure-stack" "azure-managed-lustre" "azure-local" "(?i)(AKS-Arc)(?!/reference)"]}

AKS-Arc/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
items:
66
- name: What is AKS enabled by Azure Arc?
77
href: aks-overview.md
8+
- name: Compare AKS across platforms
9+
href: aks-platforms-compare.md
810
- name: Supported Kubernetes versions
911
href: supported-kubernetes-versions.md
1012
- name: Data collection
@@ -125,7 +127,7 @@
125127
href: cluster-labels.md
126128
- name: Taints
127129
href: aks-arc-use-node-taints.md
128-
- name: Use auto-scaler
130+
- name: Use autoscaler
129131
href: auto-scale-aks-arc.md
130132
- name: Upgrade Kubernetes clusters
131133
href: cluster-upgrade.md

AKS-Arc/aks-platforms-compare.md

Lines changed: 128 additions & 0 deletions
Large diffs are not rendered by default.

AKS-Arc/aks-windows-server-retirement.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ AKS on Azure Local uses Azure Arc to create new Kubernetes clusters on Azure Loc
2121

2222
The following Kubernetes cluster deployment and management capabilities are available:
2323

24-
- **Pricing**: AKS is now included in Azure Local pricing, effective January 2025. This means that you only need to pay for Azure Local. There are no separate costs for running AKS clusters, including Linux and Windows node pools.
24+
- **Pricing**: AKS is now included in Azure Local pricing, effective January 2025. This means that you only need to pay for Azure Local.
2525
- **Simplified infrastructure deployment on Azure Local**. Infrastructure components of AKS Arc like Arc Resource Bridge, Custom Location and the Kubernetes Extension for the AKS Arc operator, are all deployed as part of the Azure Local. The whole lifecycle management of AKS Arc infrastructure follows the same approach as the other components on Azure Local.
2626
- **Cloud-based management**: Create and manage Kubernetes clusters on Azure Local with familiar tools such as the Azure portal, Azure CLI, Azure Resource Manager, and Bicep and Terraform templates.
2727
- **Arc Gateway integration**: Deploy AKS Arc clusters with pod-level Arc Proxy and communicate with the Arc gateway, reducing the list of outbound URLs to configure in an isolated network environment.

AKS-Arc/auto-scale-aks-arc.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
title: Use auto-scaling in a Kubernetes cluster
3-
description: Learn how to use Az CLI for cluster autoscaling.
3+
description: Learn how to use Azure CLI for cluster autoscaling.
44
ms.topic: how-to
55
ms.custom: devx-track-azurecli
66
author: sethmanheim
77
ms.author: sethm
8-
ms.date: 05/02/2025
8+
ms.date: 06/09/2025
99
ms.reviewer: abha
10-
ms.lastreviewed: 05/02/2025
10+
ms.lastreviewed: 06/09/2025
1111

1212
# Intent: As a Kubernetes user, I want to use cluster autoscaling to grow my nodes to keep up with application demand.
1313
# Keyword: cluster autoscaling Kubernetes
@@ -147,6 +147,18 @@ az aksarc update \
147147
--cluster-autoscaler-profile ""
148148
```
149149

150+
## Make effective use of autoscaler
151+
152+
Now that the cluster and node pool are configured to automatically scale, you can optionally configure a workload to also scale in a way that makes use of the horizontal autoscaler capabilities.
153+
154+
> [!NOTE]
155+
> The following guidance is not officially supported by Microsoft. It's shared as a best-effort recommendation based on open-source practices.
156+
157+
There are two methods available for workload scaling:
158+
159+
- **Kubernetes Horizontal Pod Autoscaler**: Based on load characteristics, the Horizontal Pod Autoscaler (also known as the *horizontal autoscaler*) scales the pods of an application deployment to available nodes in the Kubernetes cluster. If no more nodes are available to be scheduled, the horizontal autoscaler instantiates a new node to which to schedule the pods. If the application load subsides, the nodes are scaled back again. For the Horizontal Pod Autoscaler to work, you must manually deploy the Metrics Server component in your AKS cluster. For more information about horizontal pod autoscaler rules, see [Kubernetes horizontal pod autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/).
160+
- **Kubernetes node anti-affinity rules**: Anti-affinity rules for a Kubernetes deployment can specify that a set of pods can't be scaled on the same node, and a different node is required to scale the workload. In combination with either load characteristics or the number of target pods for the application instances, the horizontal autoscaler instantiates new nodes in the node pool to satisfy requests. If application demand subsides, the horizontal autoscaler scales down the node pool again. For more information about Kubernetes pod affinity rules, see [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node).
161+
150162
## Next steps
151163

152164
This article showed you how to automatically scale the number of AKS Arc nodes. To scale node pools manually, see [manage node pools in AKS Arc clusters](manage-node-pools.md).

AKS-Arc/concepts-storage.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Concepts - Storage options for applications in AKS enabled by Azure Arc
33
description: Storage options for applications in AKS enabled by Azure Arc.
44
author: sethmanheim
55
ms.topic: conceptual
6-
ms.date: 06/24/2024
6+
ms.date: 06/16/2025
77
ms.author: sethm
88
ms.lastreviewed: 1/14/2022
99
ms.reviewer: abha
@@ -112,6 +112,23 @@ volumeMounts:
112112
name: k-dir
113113
```
114114

115+
## Secure pod access to mounted volumes
116+
117+
For your applications to run correctly, pods should run as a defined user or group and not as *root*. The `securityContext` for a pod or container lets you define settings such as *fsGroup* to assume the appropriate permissions on the mounted volumes.
118+
119+
**fsGroup** is a field within the `securityContext` of a Kubernetes pod specification. It defines a supplemental group ID that Kubernetes assigns to all processes in the pod, and recursively to the files in mounted volumes. This ensures that the pod has the correct group-level access to shared storage volumes.
120+
121+
When a volume is mounted, Kubernetes changes the ownership of the volume's contents to match the **fsGroup** value. This is particularly useful when containers run as non-root users and need write access to shared volumes.
122+
123+
The following example YAML shows the **fsgroup** value:
124+
125+
```yaml
126+
securityContext:
127+
  fsGroup: 2000
128+
```
129+
130+
In this example, all files in mounted volumes are accessible by GID 2000.
131+
115132
## Next steps
116133

117134
- [Use the AKS on Azure Local disk Container Storage Interface (CSI) drivers](./container-storage-interface-disks.md).

AKS-Arc/container-storage-interface-files.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use Container Storage Interface (CSI) file drivers in AKS enabled by Azur
33
description: Learn how to use Container Storage Interface (CSI) drivers to manage files in AKS Arc.
44
author: sethmanheim
55
ms.topic: how-to
6-
ms.date: 08/20/2024
6+
ms.date: 06/16/2025
77
ms.author: sethm
88
ms.lastreviewed: 01/14/2022
99
ms.reviewer: abha
@@ -31,7 +31,7 @@ If multiple nodes need concurrent access to the same storage volumes in AKS Arc,
3131

3232
### [AKS on Azure Local](#tab/local)
3333

34-
1. Make sure the SMB driver is deployed. The SMB CSI driver is installed by default when you create a Kubernetes cluster using the Azure portal or the `az aksarc create` command. If you create a Kubernetes cluster by using `--disable-smb-driver`, you must enable the SMB driver on this cluster using the `az aksarc update` command:
34+
1. Make sure the SMB driver is deployed. The SMB CSI driver is installed by default when you create a Kubernetes cluster using the `az aksarc create` command. If you create a Kubernetes cluster by using the Azure portal, Azure Resource Manager (ARM) template, or Terraform, or by using the `az aksarc create` command with `--disable-smb-driver`, you must enable the SMB driver on this cluster using the `az aksarc update` command:
3535

3636
```azurecli
3737
az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
@@ -78,7 +78,7 @@ If multiple nodes need concurrent access to the same storage volumes in AKS Arc,
7878
7979
### [AKS on Azure Local](#tab/local)
8080
81-
1. Make sure the NFS driver is deployed. The NFS CSI driver is installed by default when you create a Kubernetes cluster using the Azure portal or the `az aksarc create` command. If you create a Kubernetes cluster by using `--disable-nfs-driver`, you must enable the the NFS driver on this cluster using the `az aksarc update` command:
81+
1. Make sure the NFS driver is deployed. The NFS CSI driver is installed by default when you create a Kubernetes cluster using the `az aksarc create` command. If you create a Kubernetes cluster by using the Azure portal, Azure Resource Manager (ARM) template, or Terraform, or by using the `az aksarc create` command with `--disable-nfs-driver`, you must enable the the NFS driver on this cluster using the `az aksarc update` command:
8282

8383
```azurecli
8484
az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver

AKS-Arc/deploy-ai-model.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ description: Learn how to deploy an AI model on AKS enabled by Azure Arc with th
44
author: sethmanheim
55
ms.author: sethm
66
ms.topic: how-to
7-
ms.date: 05/20/2025
7+
ms.date: 05/27/2025
88
ms.reviewer: haojiehang
9-
ms.lastreviewed: 05/20/2025
9+
ms.lastreviewed: 05/27/2025
1010

1111
---
1212

@@ -167,12 +167,7 @@ kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POS
167167

168168
```powershell
169169
$CLUSTERIP = $(kubectl get svc workspace-llm -o jsonpath="{.spec.clusterIPs[0]}" )
170-
$jsonContent = '{
171-
"model": "phi-3.5-mini-instruct",
172-
"prompt": "What is kubernetes?",
173-
"max_tokens": 20,
174-
"temperature": 0
175-
}'
170+
$jsonContent = '{"model":"phi-3.5-mini-instruct","prompt":"What is kubernetes","max_tokens":200,"temperature":0}' | ConvertTo-Json
176171
177172
kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POST http://$CLUSTERIP/v1/completions -H "accept: application/json" -H "Content-Type: application/json" -d $jsonContent
178173
```
@@ -209,4 +204,5 @@ The following table shows the supported GPU models and their corresponding VM SK
209204

210205
## Next steps
211206

212-
In this article, you learned how to deploy an AI model on AKS enabled by Azure Arc with the Kubernetes AI toolchain operator (KAITO). For more information about the KAITO project, see the [KAITO GitHub repo](https://github.com/kaito-project/kaito).
207+
* [Monitor the inference metrics](/azure/aks/ai-toolchain-operator-monitoring) in Managed Prometheus and Managed Grafana
208+
* For more information about KAITO, see [KAITO GitHub Repo](https://github.com/kaito-project/kaito)

AKS-Arc/kubernetes-monitor-audit-events.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Monitor Kubernetes audit events in AKS enabled by Azure Arc
33
description: Learn how to create a diagnostic setting to access Kubernetes audit logs.
44
author: sethmanheim
55
ms.topic: how-to
6-
ms.date: 05/08/2024
6+
ms.date: 06/12/2025
77
ms.author: sethm
88
ms.lastreviewed: 02/26/2024
99
ms.reviewer: guanghu
@@ -18,7 +18,7 @@ You can access Kubernetes audit logs in Kubernetes control plane logs. Control p
1818

1919
## Create a diagnostic setting
2020

21-
Before creating the diagnostic setting, install the **Arc K8S** extension, which enables log collection from the AKS cluster.
21+
Before you create the diagnostic setting, install the **Arc K8S** extension, which enables log collection from the AKS cluster.
2222

2323
Install the Arc K8S extension by running the following command:
2424

@@ -56,4 +56,4 @@ az k8s-extension delete -g <resouerce-group-name> -c <cluster-name> --cluster-ty
5656

5757
## Next steps
5858

59-
[Monitor Kubernetes object events](kubernetes-monitor-object-events.md)
59+
[Monitor Kubernetes object events](kubernetes-monitor-object-events.md)

azure-local/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ items:
233233
items:
234234
- name: Using Azure Marketplace images
235235
href: manage/virtual-machine-image-azure-marketplace.md
236+
- name: Using Azure Compute Gallery images
237+
href: manage/virtual-machine-image-azure-compute-gallery.md
236238
- name: Using images in Azure Storage account
237239
href: manage/virtual-machine-image-storage-account.md
238240
- name: Using images in local share

0 commit comments

Comments
 (0)