Skip to content

Commit fa93a9a

Browse files
committed
Updates for PR blocking requirements
1 parent d0870ad commit fa93a9a

10 files changed

+58
-61
lines changed

articles/aks/TOC.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,17 +134,17 @@
134134
items:
135135
- name: Networking concepts
136136
href: concepts-network.md
137-
- name: CNI Networking
137+
- name: CNI networking
138138
items:
139-
- name: CNI Networking Overview
139+
- name: CNI networking overview
140140
href: concepts-network-cni-overview.md
141141
- name: Azure CNI Overlay
142142
href: concepts-network-azure-cni-overlay.md
143-
- name: Azure CNI Podsubnet
144-
href: concepts-network-azure-cni-podsubnet.md
143+
- name: Azure CNI Pod subnet
144+
href: concepts-network-azure-cni-pod-subnet.md
145145
- name: Legacy CNI options
146146
href: concepts-network-legacy-cni.md
147-
- name: IP Address Planning
147+
- name: IP address planning
148148
href: concepts-network-ip-address-planning.md
149149
- name: Services
150150
href: concepts-network-services.md

articles/aks/concepts-network-azure-cni-overlay.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ You can provide outbound (egress) connectivity to the internet for Overlay pods
2828

2929
You can configure ingress connectivity to the cluster using an ingress controller, such as Nginx or [HTTP application routing](./http-application-routing.md). You cannot configure ingress connectivity using Azure App Gateway. For details see [Limitations with Azure CNI Overlay](#limitations-with-azure-cni-overlay).
3030

31-
## Differences between Kubenet and Azure CNI Overlay
31+
## Differences between kubenet and Azure CNI Overlay
3232

33-
The following table provides a detailed comparison between Kubenet and Azure CNI Overlay:
33+
The following table provides a detailed comparison between kubenet and Azure CNI Overlay:
3434

35-
| Area | Azure CNI Overlay | Kubenet |
35+
| Area | Azure CNI Overlay | kubenet |
3636
|------------------------------|--------------------------------------------------------------|-------------------------------------------------------------------------------|
3737
| Cluster scale | 5000 nodes and 250 pods/node | 400 nodes and 250 pods/node |
3838
| Network configuration | Simple - no extra configurations required for pod networking | Complex - requires route tables and UDRs on cluster subnet for pod networking |
@@ -110,7 +110,6 @@ Azure CNI Overlay has the following limitations:
110110
- If you're using your own subnet to deploy the cluster, the names of the subnet, VNet, and resource group containing the VNet, must be 63 characters or less. These names will be used as labels in AKS worker nodes and are subject to [Kubernetes label syntax rules](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set).
111111

112112
<!-- LINKS - Internal -->
113-
[azure-cni-podsubnet]: concepts-network-azure-cni-podsubnet.md
114113
[aks-egress]: limit-egress-traffic.md
115114
[aks-network-policies]: use-network-policies.md
116115
[nsg]: ../virtual-network/network-security-groups-overview.md

articles/aks/concepts-network-azure-cni-podsubnet.md renamed to articles/aks/concepts-network-azure-cni-pod-subnet.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ author: schaffererin
77
ms.author: schaffererin
88

99
ms.custom: fasttrack-edit
10+
ms.custom: references_regions
1011
---
1112

1213
# Azure Container Networking Interface (CNI) Pod Subnet
1314

14-
Azure CNI Pod Subnet assigns IP addresses to pods from a separate subnet from your cluster Nodes. This feature is available in two modes: Dynamic IP Allocation and Static Block Allocation(Preview).
15+
Azure CNI Pod Subnet assigns IP addresses to pods from a separate subnet from your cluster Nodes. This feature is available in two modes: Dynamic IP Allocation and Static Block Allocation (Preview).
1516

1617
## Prerequisites
1718

@@ -37,15 +38,15 @@ The dynamic IP allocation mode offers the following benefits:
3738
3839
- **Better IP utilization**: IPs are dynamically allocated to cluster Pods from the Pod subnet. This leads to better utilization of IPs in the cluster compared to the traditional CNI solution, which does static allocation of IPs for every node.
3940
- **Scalable and flexible**: Node and pod subnets can be scaled independently. A single pod subnet can be shared across multiple node pools of a cluster or across multiple AKS clusters deployed in the same VNet. You can also configure a separate pod subnet for a node pool.
40-
- **High performance**: Since pod are assigned VNet IPs, they have direct connectivity to other cluster pod and resources in the VNet. The solution supports very large clusters without any degradation in performance.
41+
- **High performance**: Since pods are assigned VNet IPs, they have direct connectivity to other cluster pods and resources in the VNet. The solution supports very large clusters without any degradation in performance.
4142
- **Separate VNet policies for pods**: Since pods have a separate subnet, you can configure separate VNet policies for them that are different from node policies. This enables many useful scenarios, such as allowing internet connectivity only for pods and not for nodes, fixing the source IP for pod in a node pool using an Azure NAT Gateway, and using network security groups (NSGs) to filter traffic between node pools.
4243
- **Kubernetes network policies**: Both the Azure Network Policies and Calico work with this mode.
4344
4445
### Plan IP addressing
4546
4647
With dynamic IP allocation, nodes and pods scale independently, so you can plan their address spaces separately. Since pod subnets can be configured to the granularity of a node pool, you can always add a new subnet when you add a node pool. The system pods in a cluster/node pool also receive IPs from the pod subnet, so this behavior needs to be accounted for.
4748
48-
IPs are allocated to nodes in batches of 16. Pod subnet IP allocation should be planned with a minimum of 16 IPs per node in the cluster, as the nodes request 16 IPs on startup and request another batch of 16 any time there are <8 IPs unallocated in their allotment.
49+
IPs are allocated to nodes in batches of 16. Pod subnet IP allocation should be planned with a minimum of 16 IPs per node in the cluster, as the nodes request 16 IPs on startup and request another batch of 16 anytime there are <8 IPs unallocated in their allotment.
4950
5051
IP address planning for Kubernetes services and Docker Bridge remain unchanged.
5152
@@ -66,13 +67,13 @@ The static block allocation mode offers the following benefits:
6667
Below are some of the limitations of using Azure CNI Static Block allocation:
6768
- Minimum Kubernetes Version required is 1.28
6869
- Maximum subnet size supported is x.x.x.x/12 ~ 1 million IPs
69-
- Not supported for Windows node pools (Windows support coming soon)
70-
- Not supported for Cilium Data Plane (support coming soon)
70+
- Not supported for Windows node pools
71+
- Not supported for Cilium Data Plane
7172
- Only a single mode of operation can be used per subnet. If a subnet uses Static Block allocation mode, it cannot be use Dynamic IP allocation mode in a different cluster or node pool with the same subnet and vice versa.
7273
- Only supported in new clusters or when adding node pools with a different subnet to existing clusters. Migrating or updating existing clusters or node pools is not supported.
73-
- Across all the CIDR blocks assigned to a node in the node pool, one IP will be selected as the primary IP of the node. Thus, for network administrators selecting the `--max-pods` value try to use the calculation below to best serve your needs and have optimal usage of IPs in the subnet:
74-
`max_pods` = (N * 16) - 1`
75-
where N is any positive integer and N > 0
74+
- Across all the CIDR blocks assigned to a node in the node pool, one IP will be selected as the primary IP of the node. Thus, for network administrators selecting the `--max-pods` value try to use the calculation below to best serve your needs and have optimal usage of IPs in the subnet:
75+
76+
`max_pods = (N * 16) - 1` where `N` is any positive integer and `N` > 0
7677
7778
### Region availability
7879

articles/aks/concepts-network-cni-overview.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ Azure Kubernetes Service provides the following CNI plugins for overlay networki
3838

3939
### Flat networks
4040

41-
Unlike an overlay network, a flat network model in AKS assigns IP addresses to pods from a subnet from the same Azure VNet as the AKS nodes. This means that traffic leaving you clusters is not SNAT'd, and the pod IP address is directly exposed to the destination. This can be useful for some scenarios, such as when you need to expose pod IP addresses to external services.
41+
Unlike an overlay network, a flat network model in AKS assigns IP addresses to pods from a subnet from the same Azure VNet as the AKS nodes. This means that traffic leaving your clusters is not SNAT'd, and the pod IP address is directly exposed to the destination. This can be useful for some scenarios, such as when you need to expose pod IP addresses to external services.
4242

43-
:::image type="content" source="media/networking-overview/advanced-networking-diagram-01.png" alt-text="{A diagram showing two nodes with three pods each running in a flat network model}":::
43+
:::image type="content" source="media/networking-overview/advanced-networking-diagram-01.png" alt-text="A diagram showing two nodes with three pods each running in a flat network model.":::
4444

4545
Azure Kubernetes Service provides two CNI plugins for flat networking. This article doesn't go into depth for each plugin option. For more information, see the linked documentation:
4646

47-
- [Azure CNI Pod Subnet][azure-cni-podsubnet], the recommended CNI plugin for flat networking scenarios.
48-
- [Azure CNI Node Subnet][azure-cni-nodesubnet], a legacy flat network model CNI generally only recommends you use if you _**need**_ a managed VNet for your cluster.
47+
- [Azure CNI Pod Subnet][azure-cni-pod-subnet], the recommended CNI plugin for flat networking scenarios.
48+
- [Azure CNI Node Subnet][azure-cni-node-subnet], a legacy flat network model CNI generally only recommends you use if you _**need**_ a managed VNet for your cluster.
4949

5050
## Choosing a CNI
5151

@@ -96,7 +96,7 @@ You might also want to compare the features of each CNI plugin. The following ta
9696

9797
Depending on the CNI you use, your cluster virtual network resources can be deployed in one of the following ways:
9898

99-
- The Azure platform can automatically create and configure the virtual network resources when you create an AKS cluster. like in Azure CNI Overlay, Azure CNI Nodesubnet, and Kubenet.
99+
- The Azure platform can automatically create and configure the virtual network resources when you create an AKS cluster. like in Azure CNI Overlay, Azure CNI Node subnet, and Kubenet.
100100
- You can manually create and configure the virtual network resources and attach to those resources when you create your AKS cluster.
101101

102102
Although capabilities like service endpoints or UDRs are supported, the [support policies for AKS][support-policies] define what changes you can make. For example:
@@ -119,9 +119,8 @@ There are several requirements and considerations to keep in mind when planning
119119

120120
## Next Steps
121121

122-
### CNI plugin documentation:
123122
- [Azure CNI Overlay][azure-cni-overlay]
124-
- [Azure CNI Pod Subnet][azure-cni-podsubnet]
123+
- [Azure CNI Pod Subnet][azure-cni-pod-subnet]
125124
- [Legacy CNI Options][legacy-cni-options]
126125
- [IP Address Planning for your clusters][ip-address-planning]
127126

@@ -131,9 +130,9 @@ There are several requirements and considerations to keep in mind when planning
131130

132131
<!-- LINKS - Internal -->
133132
[aks-network-nsg]: ../virtual-network/network-security-groups-overview.md
134-
[azure-cni-nodesubnet]: concepts-network-legacy-cni.md#azure-cni-node-subnet
133+
[azure-cni-node-subnet]: concepts-network-legacy-cni.md#azure-cni-node-subnet
135134
[azure-cni-overlay]: concepts-network-azure-cni-overlay.md
136-
[azure-cni-podsubnet]: concepts-network-azure-cni-podsubnet.md
135+
[azure-cni-pod-subnet]: concepts-network-azure-cni-pod-subnet.md
137136
[delegated-subnet]: ../virtual-network/subnet-delegation-overview.md
138137
[ip-address-planning]: concepts-network-ip-address-planning.md
139138
[kubenet]: concepts-network-legacy-cni.md#kubenet

articles/aks/concepts-network-ip-address-planning.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ It's important to ensure you allocate enough space in your private CIDR range fo
2727

2828
### Flat networks
2929

30-
Flat networks, like [Azure CNI Pod Subnet][azure-cni-podsubnet], require a large enough subnet to accommodate both nodes _and_ pods. Since nodes and pods receive IPs from your VNet, you need to plan for the maximum number of nodes and pods you expect to run. Azure CNI Pod Subnet uses a subnet for your nodes and a separate subnet for your pods, so you need to plan for both.
30+
Flat networks, like [Azure CNI Pod Subnet][azure-cni-pod-subnet], require a large enough subnet to accommodate both nodes _and_ pods. Since nodes and pods receive IPs from your VNet, you need to plan for the maximum number of nodes and pods you expect to run. Azure CNI Pod Subnet uses a subnet for your nodes and a separate subnet for your pods, so you need to plan for both.
3131

3232
## IP address sizing
3333

@@ -39,13 +39,13 @@ When you **upgrade** your AKS cluster, a new node is deployed in the cluster. Se
3939

4040
When you **scale** an AKS cluster, a new node is deployed in the cluster. Services and workloads begin to run on the new node. Your IP address range needs to take into considerations how you want to scale up the number of nodes and pods your cluster can support. One additional node for upgrade operations should also be included. Your node count is then `n + number-of-additional-scaled-nodes-you-anticipate + max surge`.
4141

42-
If you're using [Azure CNI Pod Subnet][azure-cni-podsubnet] and you expect your nodes to run the maximum number of pods and you regularly destroy and deploy pods, you should also factor in extra IP addresses per node. There can be few seconds latency required to delete a service and release its IP address for a new service to be deployed and acquire the address. The extra IP addresses account for this possibility.
42+
If you're using [Azure CNI Pod Subnet][azure-cni-pod-subnet] and you expect your nodes to run the maximum number of pods and you regularly destroy and deploy pods, you should also factor in extra IP addresses per node. There can be few seconds latency required to delete a service and release its IP address for a new service to be deployed and acquire the address. The extra IP addresses account for this possibility.
4343

4444
The IP address plan for an AKS cluster consists of a virtual network, at least one subnet for nodes and pods, and a Kubernetes service address range.
4545

4646
| Azure Resource | Address Range | Limits and Sizing |
4747
| -------------- | -------------- | ----------------- |
48-
| Azure Virtual Network | Max size /8. 65,536 configured IP address limit. See [Azure CNI Pod Subnet Static Block Allocation][podsubnet-static-block-allocation] for exception| Overlapping address spaces within your network can cause issues. |
48+
| Azure Virtual Network | Max size /8. 65,536 configured IP address limit. See [Azure CNI Pod Subnet Static Block Allocation][pod-subnet-static-block-allocation] for exception| Overlapping address spaces within your network can cause issues. |
4949
| Subnet | Must be large enough to accommodate nodes, pods, and all Kubernetes and Azure resources in your cluster. For instance, if you deploy an internal Azure Load Balancer, its front-end IPs are allocated from the cluster subnet, not public IPs. | Subnet size should also account for upgrade operations and future scaling needs. <p/> Use the following equation to calculate the minimum subnet size, including an extra node for upgrade operations: `(number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)` <p/> Example for a 50-node cluster: `(51) + (51 * 30 (default)) = 1,581` (/21 or larger) <p/> Example for a 50-node cluster, preparing to scale up an extra 10 nodes: `(61) + (61 * 30 (default)) = 1,891` (/21 or larger) <p/> If you don't specify a maximum number of pods per node when you create your cluster, the maximum number of pods per node is set to 30. The minimum number of IP addresses required is based on that value. If you calculate your minimum IP address requirements on a different maximum value, see [Maximum pods per node](#maximum-pods-per-node) to set this value when you deploy your cluster. |
5050
| Kubernetes Service Address Range | Any network element on or connected to this virtual network must not use this range. | The service address CIDR must be smaller than /12. You can reuse this range across different AKS clusters. |
5151
| Kubernetes DNS Service IP Address | IP address within the Kubernetes service address range used by cluster service discovery. | Don't use the first IP address in your address range. The first address in your subnet range is used for the _kubernetes.default.svc.cluster.local_ address. |
@@ -57,7 +57,7 @@ The maximum number of pods per node in an AKS cluster is 250. The _default_ maxi
5757
| CNI | Default max pods | Configurable at deployment |
5858
|---------------------|------------------|----------------------------|
5959
| Azure CNI Overlay | 250 | Yes (up to 250) |
60-
| Azure CNI Podsubnet | 110 | Yes (up to 250) |
60+
| Azure CNI Pod subnet | 110 | Yes (up to 250) |
6161
| Azure CNI (Legacy) | 30 | Yes (up to 250) |
6262
| Kubenet | 110 | Yes (up to 250) |
6363

@@ -73,7 +73,7 @@ A minimum value for maximum pods per node is enforced to guarantee space for sys
7373
| Kubenet | 10 | 250 |
7474

7575
> [!NOTE]
76-
> The minimum value in the previous table is strictly enforced by the AKS service. You can not set a value for _maxPods_ that is lower than the minimum shown, as doing so can prevent the cluster from starting.
76+
> The minimum value in the previous table is strictly enforced by the AKS service. You cannot set a value for _maxPods_ that is lower than the minimum shown, as doing so can prevent the cluster from starting.
7777
7878
### New clusters
7979

@@ -85,14 +85,15 @@ You can define maximum pods per node when you create a new cluster using one of
8585

8686
### Existing clusters
8787

88-
You can define maximum pods per node when you create a new node pool. If you need to increase the _maxPods_ setting on an existing cluster, add a new node pool with the new desired _maxPods_ count. After migrating your pods to the new pool, delete the node older pool. Make sure you're setting node pool modes as defined in the [system node pools document][system-node-pools].
88+
You can define maximum pods per node when you create a new node pool. If you need to increase the _maxPods_ setting on an existing cluster, add a new node pool with the new desired _maxPods_ count. After migrating your pods to the new pool, delete the node older pool.
8989

9090
## Next Steps
9191

9292
- [Azure CNI Overlay][azure-cni-overlay]
93-
- [Azure CNI PodSubnet][azure-cni-podsubnet]
93+
- [Azure CNI PodSubnet][azure-cni-pod-subnet]
9494

9595
<!-- LINKS - Internal -->
9696
[azure-cni-overlay]: concepts-network-azure-cni-overlay.md
97-
[azure-cni-podsubnet]: concepts-network-azure-cni-podsubnet.md
98-
[podsubnet-static-block-allocation]: concepts-network-azure-cni-podsubnet.md#static-block-allocation-mode-preview
97+
[azure-cni-pod-subnet]: concepts-network-azure-cni-pod-subnet.md
98+
[az-aks-create]: /cli/azure/aks#az_aks_create
99+
[pod-subnet-static-block-allocation]: concepts-network-azure-cni-pod-subnet.md#static-block-allocation-mode-preview

0 commit comments

Comments
 (0)