Skip to content

Commit caa1f95

Browse files
committed
Top freshness pass for AKS Arc
1 parent 976bda3 commit caa1f95

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

AKS-Arc/concepts-security-access-identity.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Access and identity options for Azure Kubernetes Service (AKS) Arc
33
description: Learn about options in access and identity management on a Kubernetes cluster in AKS on Azure Local.
44
author: sethmanheim
55
ms.topic: how-to
6-
ms.date: 07/30/2024
6+
ms.date: 07/03/2025
77
ms.author: sethm
88
ms.lastreviewed: 07/30/2024
99
ms.reviewer: leslielin
@@ -41,7 +41,7 @@ For more information, see [Using Kubernetes RBAC authorization](https://kubernet
4141

4242
#### Roles
4343

44-
Before assigning permissions to users with Kubernetes RBAC, you define user permissions as a *role*. Grant permissions within a Kubernetes namespace using roles.
44+
Before assigning permissions to users with Kubernetes RBAC, you define user permissions as a role. Grant permissions within a Kubernetes namespace using roles.
4545

4646
Kubernetes roles grant permissions; they don't deny permissions. To grant permissions across the entire cluster or to cluster resources outside a given namespace, you can use *ClusterRoles*.
4747

@@ -51,7 +51,7 @@ A ClusterRole grants and applies permissions to resources across the entire clus
5151

5252
### RoleBindings and ClusterRoleBindings
5353

54-
Once you define roles to grant permissions to resources, you assign those Kubernetes RBAC permissions with a *RoleBinding*. If your AKS cluster [integrates with Microsoft Entra ID](#microsoft-entra-integration), RoleBindings grant permissions to Microsoft Entra users to perform actions within the cluster. See [Control access using Microsoft Entra ID and Kubernetes RBAC](kubernetes-rbac-local.md)
54+
Once you define roles to grant permissions to resources, you assign those Kubernetes RBAC permissions with a *RoleBinding*. If your AKS cluster [integrates with Microsoft Entra ID](#microsoft-entra-integration), RoleBindings grant permissions to Microsoft Entra users to perform actions within the cluster. See [Control access using Microsoft Entra ID and Kubernetes RBAC](kubernetes-rbac-local.md).
5555

5656
#### RoleBindings
5757

@@ -82,7 +82,7 @@ Azure Role-based Access Control (RBAC) is an authorization system built on [Azur
8282

8383
With Azure RBAC, you create a *role definition* that outlines the permissions to be applied. You then assign a user or group this role definition via a *role assignment* for a particular *scope*. The scope can be an individual resource, a resource group, or across the subscription.
8484

85-
For more information, see [What is Azure role-based access control (Azure RBAC)?](/azure/role-based-access-control/overview)
85+
For more information, see [What is Azure role-based access control (Azure RBAC)?](/azure/role-based-access-control/overview).
8686

8787
There are two required levels of access to fully operate an AKS Arc cluster:
8888

@@ -113,7 +113,7 @@ In this scenario, you use Azure RBAC mechanisms and APIs to assign users built-i
113113
With this feature, you not only give users permissions to the AKS resource across subscriptions, but you also configure the role and permissions for inside each of those clusters controlling Kubernetes API access. There are four built-in roles available for this data plane action, each with its own scope of permissions, [as described in the built-in roles](#built-in-roles) section.
114114

115115
> [!IMPORTANT]
116-
> You must enable Azure RBAC for Kubernetes authorization before doing role assignment. For more details and step by step guidance, see [Use Azure RBAC for Kubernetes authorization](azure-rbac-local.md).
116+
> You must enable Azure RBAC for Kubernetes authorization before doing role assignment. For more details and step-by-step guidance, see [Use Azure RBAC for Kubernetes authorization](azure-rbac-local.md).
117117
118118
### Built-in roles
119119

AKS-Arc/includes/built-in-roles.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ author: sethmanheim
33
ms.author: sethm
44
ms.service: azure-stack
55
ms.topic: include
6-
ms.date: 07/31/2024
6+
ms.date: 07/03/2025
77
ms.reviewer: leslielin
88
ms.lastreviewed: 07/31/2024
99

1010
---
1111

12-
AKS enabled by Arc provides the following five built-in roles. They are similar to the [Kubernetes built-in roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) with a few differences, such as supporting CRDs. See the full list of actions allowed by each [Azure built-in role](/azure/role-based-access-control/built-in-roles).
12+
AKS Arc provides the following five built-in roles. They are similar to the [Kubernetes built-in roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles), with a few differences, such as supporting CRDs. See the full list of actions allowed by each [Azure built-in role](/azure/role-based-access-control/built-in-roles).
1313

1414
| Role | Description |
1515
| ------------------------------------------------------------ | ------------------------------------------------------------ |

AKS-Arc/known-issues-installation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ metadata:
77
ms.service: azure-kubernetes-service-hybrid
88
ms.custom: devx-track-azurepowershell
99
ms.topic: faq
10-
ms.date: 07/26/2024
10+
ms.date: 07/03/2025
1111
title: Resolve issues and errors during an AKS Arc installation
1212
summary: |
1313
**Applies to: AKS on Windows Server**

AKS-Arc/load-balancer-overview.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Overview of MetalLB for Kubernetes clusters
33
description: Learn the basic concepts of MetalLB load balancing for AKS enabled by Arc Kubernetes clusters.
44
ms.topic: concept-article
5-
ms.date: 07/17/2024
5+
ms.date: 07/03/2025
66
author: sethmanheim
77
ms.author: sethm
88
ms.reviewer: xinyuhe
@@ -13,12 +13,12 @@ ms.lastreviewed: 04/02/2024
1313

1414
[!INCLUDE [hci-applies-to-23h2](includes/hci-applies-to-23h2.md)]
1515

16-
When you set up your AKS Arc cluster, you need a way to make your services accessible outside the cluster. The `LoadBalancer` type is ideal for this accessibility, but the external IP remains pending. The **extension for MetalLB for Azure Arc enabled Kubernetes** is a tool that allows you to generate external IPs for your applications and services. Arc-enabled Kubernetes clusters can integrate with [MetalLB](https://metallb.universe.tf/configuration/) using the extension for MetalLB for Azure Arc enabled Kubernetes.
16+
When you set up your AKS Arc cluster, you need a way to make your services accessible outside the cluster. The `LoadBalancer` type is ideal for this accessibility, but the external IP remains pending. The *MetalLB extension for Azure Arc enabled Kubernetes* is a tool that allows you to generate external IPs for your applications and services. Arc-enabled Kubernetes clusters can integrate with [MetalLB](https://metallb.universe.tf/configuration/) using the extension for MetalLB for Azure Arc enabled Kubernetes.
1717

18-
To make your services accessible outside the cluster, MetalLB needs IP addresses. MetalLB takes care of assigning and releasing these addresses as needed when you create services, but it only distributes IPs that are in its configured pools. When MetalLB assigns an external IP address to a service, it informs the network outside the cluster that this IP belongs to the cluster. This communication is done using standard network protocols like ARP or BGP.
18+
To make your services accessible outside the cluster, MetalLB needs IP addresses. MetalLB takes care of assigning and releasing these addresses as needed when you create services, but it only distributes IPs that are in its configured pools. When MetalLB assigns an external IP address to a service, it informs the network outside the cluster that this IP belongs to the cluster. This communication is done using standard network protocols like Address Resolution Protocol (ARP) or Border Gateway Protocol (BGP).
1919

2020
- Layer 2 mode (ARP): In layer 2 mode, one K8s node in the cluster takes ownership of the service, and uses standard address discovery protocols (ARP for IPv4) to make those IPs reachable on the local network. From the LAN's point of view, the announcing machine simply has multiple IP addresses.
21-
- BGP: In BGP mode, all machines in the cluster establish BGP peering sessions with nearby routers that you control, and tell those routers how to forward traffic to the service IPs. Using BGP enables true load balancing across multiple nodes, and fine-grained traffic control due to BGP's policy mechanisms.
21+
- BGP: In BGP mode, all machines in the cluster establish BGP peering sessions with nearby routers that you control, and the machines tell those routers how to forward traffic to the service IPs. Using BGP enables true load balancing across multiple nodes, and fine-grained traffic control due to BGP policy mechanisms.
2222

2323
MetalLB has two components:
2424

@@ -33,7 +33,7 @@ MetalLB has two components:
3333
:::image type="content" source="media/load-balancer-overview/metallb-architecture.png" alt-text="MetalLB Architecture" lightbox="media/load-balancer-overview/metallb-architecture.png":::
3434

3535
- In ARP mode, one of the speaker pods is selected as the leader. It then advertises the IP using an ARP broadcast message, binding the IP with the MAC address of the node it lives in. Thus, all traffic first hits one node, and then kube-proxy spreads it evenly to all the backend pods of the service.
36-
- In BGP mode, all cluster nodes establish connections with all BGP peers created in the `BGP Peers` tab. Typically a BGP peer is a TOR switch. In order to broadcast the BGP routing information, the BGP peers must be configured so that they recognize the IP and ASN of cluster nodes. When you use BGP with ECMP (Equal-Cost MultiPath), traffic hits evenly across all nodes, and therefore achieves true load balancing.
36+
- In BGP mode, all cluster nodes establish connections with all BGP peers created in the **BGP Peers** tab. Typically a BGP peer is a TOR switch. In order to broadcast the BGP routing information, the BGP peers must be configured so that they recognize the IP and ASN of cluster nodes. When you use BGP with ECMP (Equal-Cost MultiPath), traffic hits evenly across all nodes, and therefore achieves true load balancing.
3737

3838
## Compare MetalLB L2 (ARP) and BGP modes
3939

@@ -42,7 +42,7 @@ The choice between L2 and BGP mode with MetalLB depends on your specific require
4242
| Aspect | MetalLB in L2 (ARP) mode | MetalLB in BGP mode |
4343
|-----------------------------|----------------------------------|----------------------------------|
4444
| Overview | In layer 2 mode, one K8s node assumes the responsibility of advertising a service to the local network. From the network perspective, it looks like the K8s node has multiple IP addresses assigned to its network interface. | In BGP mode, each K8s node in your cluster establishes a BGP peering session with your network routers, and uses that peering session to advertise the IPs of external cluster services. |
45-
| IP address assignment | MetallLB IP address pools must be in the same subnet as the K8s nodes. | MetallLB IP address pools can be in a different network than the K8s nodes. |
45+
| IP address assignment | MetalLB IP address pools must be in the same subnet as the K8s nodes. | MetalLB IP address pools can be in a different network than the K8s nodes. |
4646
| Configuration complexity | Low. Since you're providing IP addresses in the same network as your Kubernetes nodes, you only need to specify an IP CIDR or IP pool while setting up MetalLB. | High. Configuring BGP requires knowledge of BGP protocol and an understanding of your network infrastructure. |
4747
| Scalability | Limited to Layer 2 networks, suitable for small to medium-sized K8s deployments. | Suitable for complex network topologies and large-scale K8s deployments. |
4848
| Compatibility with infrastructure network | Works with any network, but can cause ARP flooding in large K8s clusters, since a single IP is used for all services, and the service's ingress bandwidth is limited to the bandwidth of a single node. | Requires BGP support in the network infrastructure. |
@@ -53,7 +53,7 @@ The choice between L2 and BGP mode with MetalLB depends on your specific require
5353

5454
### Can a MetalLB instance be reused across AKS Arc clusters?
5555

56-
No, MetalLB can't be reused across AKS Arc clusters. MetalLB lives as pods in a Kubernetes cluster, and load balancers are Custom Resources (CRs). You must install the MetalLB Arc k8s-extension using Azure CLI, the Azure portal or Azure Resource Manager templates, and create load balancers for every AKS Arc cluster.
56+
No, MetalLB can't be reused across AKS Arc clusters. MetalLB lives as pods in a Kubernetes cluster, and load balancers are custom resources (CRs). You must install the MetalLB Arc **k8s-extension** using Azure CLI, the Azure portal or Azure Resource Manager templates, and create load balancers for every AKS Arc cluster.
5757

5858
## Next steps
5959

0 commit comments

Comments
 (0)