Azure Kubernetes Service (AKS) Network Deep Dive Part 3—Azure Container Network Interface (CNI)

  • K8s references the plugins stored in /opt/cni/bin.
  • Kubelet reads a file from CNI directory /etc/cni/net.d. The left is Kubenet CNI and the right is Azure CNI.

How does Azure CNI achieve the goal of having each Pod with an Azure-level IP address?

In simple words, whenever a Node is created, there are multiple IP configurations being created along with the primary one.

# get the node's name
- kubectl get nodes
# get into the node's shell. Reference for installation.
- kubectl node-shell <node name>
# list IP address
- ip addr list
# get all {ods and their hosting Nodes
- kubectl get pods -n kube-system -o wide
# look for the Pod that is in the target Node with an IP close to the beginning of CIDR. Execute into the Pod.
- kubectl exec -it <Pod name> -n kube-system -- /bin/bash
# check IP addresses associated with the Pod
- ip addr list
Image Source: Concepts — Networking in Azure Kubernetes Services (AKS) — Azure Kubernetes Service | Microsoft Docs

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jonathan

Jonathan

Learning new things about Kubernetes every day. Hopefully, the learning notes could help people on the same journey!