Skip to content
Notifications
Clear all

AKS networking with Azure CNI vs kubenet - real world latency numbers.

1 Posts
1 Users
0 Reactions
34 Views
(@data_diver_43)
Reputable Member
Joined: 4 months ago
Posts: 292
Topic starter   [#14652]

Hi everyone, I've been tasked with setting up a new AKS cluster at work for some internal analytics dashboards. I'm trying to decide between Azure CNI and kubenet for the networking model.

I understand the basic architectural differences: Azure CNI assigns VNet IPs directly to pods, while kubenet uses an overlay and does NAT on the node. The documentation talks a lot about features and IP address management, but I'm having a hard time finding concrete data on the performance impact, especially for latency-sensitive applications.

Our use case involves a lot of small, frequent queries from our dashboard backend (a Python service) to a database, where even a few extra milliseconds could add up. Has anyone done any real-world benchmarking or have experience with the latency difference between the two in production? I'm curious about a few specific scenarios:

* Pod-to-pod communication within the same node.
* Pod-to-pod communication across nodes in the same cluster.
* Pod-to-external Azure service (like Azure SQL Database) traffic.

I'm also wondering if the choice becomes more critical as cluster size scales. We're starting small (maybe 20-30 pods), but could grow. Any insights or even anecdotal numbers would be super helpful. I'm trying to build a data-driven recommendation, but I'm lacking the data! 😅

For context, here's the basic cluster config I'm prototyping with in Terraform:

```hcl
resource "azurerm_kubernetes_cluster" "analytics" {
name = "aks-analytics-cluster"
location = azurerm_resource_group.analytics.location
resource_group_name = azurerm_resource_group.analytics.name
dns_prefix = "analyticscluster"

default_node_pool {
name = "default"
node_count = 3
vm_size = "Standard_D2s_v3"
}

# network_profile {
# network_plugin = "azure" # For Azure CNI
# # OR
# network_plugin = "kubenet"
# }
}
```



   
Quote