Azure / AKS-Construction

Accelerate your onboarding to AKS with; Helper Web App, bicep templating and CI/CD samples. Flexible & secure AKS baseline implementations in a Microsoft + community maintained reference implementation.
https://azure.github.io/AKS-Construction/
MIT License
356 stars 165 forks source link

Azure CNI Dynamic IP allocation + extended subset support lacking the provision of a pod subnet. #569

Closed samaea closed 1 year ago

samaea commented 1 year ago

Describe the bug Customer reported that the Subnet IP Usage workbook does not work with AKSC[1]. Initially, it was due to Dynamic IP allocation needing to be enabled as a feature (an undocumented, but requirement for it to work), but enabling it via AKSC does not resolve the issue given there is no option to create/reference a pod subnet as well as a node subnet.

According to the docs

The deployment parameters for configuring basic Azure CNI networking in AKS are all valid, with two exceptions: The subnet parameter now refers to the subnet related to the cluster's nodes. An additional parameter pod subnet is used to specify the subnet whose IP addresses will be dynamically allocated to pods.

Based on the above, AKSC needs to support the provision/reference of a pod subnet as well as a node subnet.

[1] https://learn.microsoft.com/en-us/azure/aks/configure-azure-cni#monitor-ip-subnet-usage

To Reproduce

Repo 1:-

Steps to reproduce the behavior:

  1. On the AKSC homepage, select the selection cards "I want a managed environment" and "Cluster with additional security controls".
  2. Go to the Network tab and select the checkbox "Implement Dynamic allocation of IPs".
  3. Go to the Deploy tab and deploy the cluster.

Or

Repo 2:-

  1. On the AKSC homepage, select the selection cards "I want a managed environment" and "Cluster with additional security controls".
  2. Go to the Network tab and select the checkbox "Implement Dynamic allocation of IPs".
  3. Select BYO Vnet. Notice how there isn't a way to define the pod subnet.

Expected behavior For repo 1, an AKS with a vnet that has two subnets, one for the nodes and the other for the pods. For repo 2, an option to reference a pod subnet.

Screenshots

image

As you can see in the above screenshot, there isn't a way to reference the pod subnet.