Skip to content

Commit f661319

Browse files
authored
Sync release-local-2506 with main
Sync release-local-2506 with main
2 parents 9531bff + 230918f commit f661319

8 files changed

+109
-20
lines changed

AKS-Arc/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@
187187
href: network-validation-errors.md
188188
- name: Network validation error due to .local domain
189189
href: network-validation-error-local.md
190+
- name: BGP with FRR not working
191+
href: connectivity-troubleshoot.md
190192
- name: Reference
191193
items:
192194
- name: Azure CLI

AKS-Arc/aks-platforms-compare.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Kubernetes Service (AKS) Cloud, Edge, and On-Premises Comparison
33
description: Learn about Azure Kubernetes Service (AKS) features, capabilities, and pricing across cloud, edge, and on-premises environments to choose the best deployment for your needs.
44
author: sethmanheim
55
ms.topic: concept-article
6-
ms.date: 06/12/2025
6+
ms.date: 06/16/2025
77
ms.author: sethm
88
ms.reviewer: rmody
99
---
@@ -23,7 +23,7 @@ This article describes how AKS extends features across multiple platforms and hi
2323
2424
## General comparison of AKS across platforms
2525

26-
| Platform | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
26+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
2727
| --- | --- | --- | --- | --- |
2828
| Supported infrastructure for Kubernetes cluster | Azure cloud | Azure Local, version 23H2 or later | - Windows 10/11 IoT Enterprise<br>- Windows 10/11 Enterprise<br>- Windows 10/11 Pro<br>- Windows Server 2019/2022 | - Windows Server 2019<br>- Windows Server 2022 |
2929
| CNCF conformant | Yes | Yes | Yes | Yes |
@@ -38,7 +38,7 @@ This article describes how AKS extends features across multiple platforms and hi
3838

3939
## Monitoring and diagnostic capabilities
4040

41-
| Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT client/server) | Windows Server |
41+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
4242
| --- | --- | --- | --- | --- |
4343
| Azure Monitor Container Insights | Yes | Yes, via Arc extensions | Yes, via Arc extensions | Yes, via Arc extensions |
4444
| Azure Monitor Managed Prometheus and control plane metrics scraping | Yes | Yes, via Arc extensions | Yes, via Arc extensions | Yes, via Arc extensions |
@@ -48,7 +48,7 @@ This article describes how AKS extends features across multiple platforms and hi
4848

4949
## Node pool capabilities
5050

51-
|  Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT client/server) | Windows Server |
51+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
5252
| --- | --- | --- | --- | --- |
5353
| Windows node pool support | - Yes<br>- Windows Server 2019 Datacenter<br>- Windows Server 2022 Datacenter | - Yes<br>- Windows Server 2019 Datacenter<br>- Windows Server 2022 Datacenter | - Yes<br>- Windows Server 2022 Datacenter (Core) | - Yes<br>- Windows Server 2019 Datacenter<br>- Windows Server 2022 Datacenter |
5454
| Linux OS offerings | - Ubuntu 18.04<br>- Azure Linux | [CBL-Mariner](https://github.com/microsoft/CBL-Mariner) | [CBL-Mariner](https://github.com/microsoft/CBL-Mariner) | [CBL-Mariner](https://github.com/microsoft/CBL-Mariner) |
@@ -67,7 +67,7 @@ This article describes how AKS extends features across multiple platforms and hi
6767

6868
## Networking capabilities
6969

70-
|  Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT /Client/Server) | Windows Server |
70+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
7171
| --- | --- | --- | --- | --- |
7272
| Network creation and management | By default, Azure creates a virtual network and subnet for you. You can also choose an existing virtual network in which to create your AKS clusters. | Setting up networking parameters is a required prerequisite to deploy AKS on Azure Local. Network must have connectivity and IP address availability for successful operation of the cluster. | You must provide the IP address range for node IPs and service IPs that are available and have the right connection. The network configuration needed for the cluster is handled by AKS. See [AKS Edge Essentials networking](aks-edge-concept-networking.md). | You must create the network in Windows Server before creating an AKS cluster. Network must have connectivity and IP address availability for successful operation of the cluster. |
7373
| Supported networking option | Bring your own Azure virtual network for AKS clusters. | Static IP networks with/without VLAN ID. | Static IP address or use reserved IPs when using DHCP. | - DHCP networks with/without VLAN ID.<br>- Static IP networks with/without VLAN ID. |
@@ -79,7 +79,7 @@ This article describes how AKS extends features across multiple platforms and hi
7979

8080
## Storage features
8181

82-
| Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT /Client/Server) | Windows Server |
82+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
8383
| --- | --- | --- | --- | --- |
8484
| Types of supported persistent volumes | - Read Write Once<br>- Read Write Many | - VHDX – Read Write Once<br>- SMB or NFS – Read Write Many<br>- ACSA - Read Write Many | - PVC using local storage<br>- ACSA | - VHDX – Read Write Once<br>- SMB or NFS - Read Write Many |
8585
| Container storage interface (CSI) support | Yes | Yes | Yes | Yes |
@@ -90,7 +90,7 @@ This article describes how AKS extends features across multiple platforms and hi
9090

9191
## Security and authentication options
9292

93-
| Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT /Client/Server) | Windows Server |
93+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
9494
| --- | --- | --- | --- | --- |
9595
| Access to Kubernetes cluster | Kubectl | Kubectl | Kubectl | Kubectl |
9696
| Kubernetes cluster authorization (RBAC) | - Kubernetes RBAC<br>- Azure RBAC | - Kubernetes RBAC<br>- Azure RBAC | Kubernetes RBAC | Kubernetes RBAC |
@@ -107,15 +107,15 @@ This article describes how AKS extends features across multiple platforms and hi
107107

108108
## Pricing and SLA details
109109

110-
| Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT client/server) | Windows Server |
110+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
111111
| --- | --- | --- | --- | --- |
112112
| Pricing | - Unlimited free clusters, pay for on-demand compute of worker node VMs.<br>- Paid tier available with uptime SLA, support for 5k nodes. | Included in Azure Local at no extra cost. | Cost is per device per month. | Pricing is based on the number of workload cluster vCPUs. Control plane nodes and load balancer VMs are free. |
113113
| Azure Hybrid Benefit support | Not applicable | Not applicable - AKS already included at no extra cost. | No | Yes |
114114
| SLA | Paid uptime SLA clusters for production with fixed cost on the API + worker node compute, storage and networking costs. | No SLA offered as the Kubernetes cluster is running on premises. | No SLA offered as the Kubernetes cluster is running on premises. | No SLA offered as the Kubernetes cluster is running on premises. |
115115

116116
### AI/ML capabilities offered in each platform
117117

118-
| Feature | Azure Cloud | AKS on Azure Local | Edge Essentials (Windows IoT /Client/Server) | Windows Server |
118+
| Feature | Azure (Cloud) | Azure Local (Edge/On-premises) | Edge Essentials (Edge/On-premises, Windows IoT client/server) | Windows Server (Edge/On-premises) |
119119
| --- | --- | --- | --- | --- |
120120
| GPU support | Yes | Yes | Yes | Yes |
121121
| KAITO (Kubernetes AI toolchain operator) | Yes | Yes, via Arc extensions | No | No |

AKS-Arc/aks-troubleshoot.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Troubleshoot common issues in AKS enabled by Azure Arc
33
description: Learn about common issues and workarounds in AKS enabled by Arc.
44
ms.topic: how-to
55
author: sethmanheim
6-
ms.date: 04/30/2025
6+
ms.date: 06/18/2025
77
ms.author: sethm
88
ms.lastreviewed: 04/01/2025
99
ms.reviewer: abha
@@ -36,13 +36,15 @@ The following sections describe known issues for AKS enabled by Azure Arc:
3636

3737
| AKS Arc operation | Issue |
3838
|------------------------|-------|
39+
| General network validation errors | [Troubleshoot network validation errors](network-validation-errors.md) |
3940
| Create validation | [Control plane configuration validation errors](control-plane-validation-errors.md) |
4041
| Create validation | [K8sVersionValidation error](cluster-k8s-version.md) |
4142
| Create validation | [KubeAPIServer unreachable error](kube-api-server-unreachable.md) |
4243
| Network configuration issues | [Use diagnostic checker](aks-arc-diagnostic-checker.md) |
4344
| Kubernetes steady state | [Resolve issues due to out-of-band deletion of storage volumes](delete-storage-volume.md) |
4445
| Release validation | [Azure Advisor upgrade recommendation message](azure-advisor-upgrade.md) |
4546
| Network validation | [Network validation error due to .local domain](network-validation-error-local.md) |
47+
| BGP with FRR not working | [Troubleshoot BGP with FRR in AKS Arc environments](connectivity-troubleshoot.md) |
4648

4749
## Next steps
4850

AKS-Arc/connectivity-troubleshoot.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
title: Troubleshoot BGP with FRR in AKS Arc environments
3+
description: Learn how to troubleshoot BGP connectivity issues when using MetalLB with FRR in AKS Arc deployments.
4+
author: sethmanheim
5+
ms.date: 06/19/2025
6+
ms.author: sethm
7+
ms.topic: troubleshooting
8+
ms.reviewer: srikantsarwa
9+
ms.lastreviewed: 06/19/2025
10+
11+
---
12+
13+
# BGP with FRR not working in AKS Arc environment
14+
15+
This article helps you identify and resolve Border Gateway Protocol (BGP) connectivity issues when using MetalLB with Free Range Routing (FRR) in Azure Kubernetes Service (AKS) Arc environments.
16+
17+
Use this guidance when BGP sessions fail to establish, external IP routing doesn't work correctly, or network connectivity to exposed services becomes unreliable in your AKS Arc deployment.
18+
19+
## Symptoms
20+
21+
In environments using MetalLB with FRR for BGP peering, you might experience the following issues:
22+
23+
- BGP sessions are not established or keep flapping, a condition where the BGP session repeatedly goes up and down, causing route instability. This behavior can be due to network issues, misconfigurations, or hardware problems. It can result in degraded performance or loss of service availability.
24+
- Services of type `LoadBalancer` don't receive properly routed external IPs.
25+
- Advertised routes are missing or not propagated to upstream routers.
26+
- Network connectivity to exposed services is inconsistent or unavailable.
27+
28+
These symptoms are often observed in specific hardware environments such as Hyper-Converged Infrastructure (HCI) or where strict network/security policies are enforced.
29+
30+
## Mitigation
31+
32+
If you encounter these issues with FRR, you can temporarily disable it using Azure CLI:
33+
34+
```azurecli
35+
# Retrieve the object ID for the managed identity
36+
$objID = az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --query "[].id" --output tsv
37+
38+
# Update the arcnetworking extension to disable FRR
39+
az k8s-extension update \
40+
--cluster-name $clusterName \
41+
-g $rgName \
42+
--cluster-type connectedClusters \
43+
--extension-type microsoft.arcnetworking \
44+
--config "k8sRuntimeFpaObjectId=$objID" \
45+
--config "metallb.speaker.frr.enabled=false" \
46+
-n arcnetworking
47+
```
48+
49+
## Troubleshooting steps
50+
51+
Use the following steps to diagnose and resolve BGP issues with MetalLB and FRR in your AKS Arc environment.
52+
53+
### Check BGP configuration
54+
55+
```azurecli
56+
kubectl get ipaddresspools -A -o yaml
57+
kubectl get bgppeers.metallb.io -A -o yaml
58+
kubectl get bgpadvertisements -A -o yaml
59+
```
60+
61+
### Collect logs from MetalLB speaker (FRR)
62+
63+
```azurecli
64+
# Get the list of MetalLB speaker pods
65+
kubectl get pods -n kube-system
66+
67+
# Speaker container logs
68+
kubectl logs -n kube-system arcnetworking-metallb-speaker-xxxxx -c speaker
69+
70+
# FRR container logs
71+
kubectl logs -n kube-system arcnetworking-metallb-speaker-xxxxx -c frr
72+
```
73+
74+
### Review TOR switch configuration
75+
76+
- Configuration and logs from the top-of-rack (TOR) switch or upstream router might be necessary.
77+
- These logs are hardware/vendor-specific and not covered in this guide.
78+
79+
## Next steps
80+
81+
[Official MetalLB troubleshooting guide](https://metallb.universe.tf/troubleshooting/#with-frr)
82+

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ 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 `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:
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 the AKS cluster using the Azure portal, an Azure Resource Manager (ARM) template, or Terraform, the SMB CSI driver is not installed by default. You must enable the SMB driver on the AKS cluster.
35+
The equivalent Azure CLI command to update an existing AKS cluster and enable SMB is:
3536

3637
```azurecli
3738
az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
@@ -78,7 +79,8 @@ If multiple nodes need concurrent access to the same storage volumes in AKS Arc,
7879
7980
### [AKS on Azure Local](#tab/local)
8081
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:
82+
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 the AKS cluster using the Azure portal, an Azure Resource Manager (ARM) template, or Terraform, the SMB CSI driver is not installed by default. You must enable the SMB driver on the AKS cluster.
83+
The equivalent Azure CLI command to update an existing AKS cluster and enable SMB is:
8284

8385
```azurecli
8486
az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver

AKS-Arc/kubernetes-walkthrough-powershell.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use PowerShell to set up Kubernetes on Windows Server clusters
33
description: Learn how to set up an AKS host and create Kubernetes clusters using Windows PowerShell.
44
author: sethmanheim
55
ms.topic: quickstart
6-
ms.date: 03/28/2025
6+
ms.date: 06/16/2025
77
ms.author: sethm
88
ms.lastreviewed: 05/02/2022
99
ms.reviewer: abha
@@ -117,7 +117,7 @@ Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -clou
117117
```
118118

119119
> [!NOTE]
120-
> You must customize the values shown in this example command for your environment.
120+
> You must customize the values shown in this example command for your environment, but you can't change the VM name on the host or on the Kubernetes cluster.
121121
122122
## Step 4: sign in to Azure and configure registration settings
123123

0 commit comments

Comments
 (0)