Introduction of AKS Architecture

What is AKS?
AKS: Azure Kubernetes Service
AKS is highly available, secure and fully managed Kubernetes Service
Available in 36 regions and growing
Comparing with other cloud providers , AKS is having presence in highest number of regions
One can run any type of workloads:
Windows based applications like .Net Apps
Linux supported applications like Java
IOT Device deployment and management on demand
Machine Learning model training with AKS
AKS Architecture
A. Azure AKS Cluster Control Plane ( Master )
etcd
This is consistently and highly available in memory storage
Key value store used as a Kubernetes backing store for all cluster data
It stores all the master and the worker node information
Kube scheduler
It is responsible for distributing containers across multiple nodes
It watches for newly created pods with no assigned node and selects node for them to run on.
Kube API Server
This acts as frond end of the Kubernetes control plane
It exposes the Kubernetes API. So command line tools, like kubectl , or users, and even the master components like scheduler, controller manager, and etcd, and worker node components like kubelet.
Everything can talk to this kubeapi server to perform the operations on the master.
AKS Kube Controller Manager
- Controllers are responsible for noticing, and then responding when nodes, containers, or endpoints go down
We have different controllers here
Node Controller
Replication Controller
Endpoint Controller
Service Account
Token Controller
B. Azure AKS Node Pools
Container runtime is underlying software where we run everything
Kubelet
Kubelet is the agent that runs on every node in the cluster
This is agent responsible for making sure that containers are running in a port on a node
And Kubelet is always in constant communication with kube-api scheduler
Kube-Proxy
Kubeproxy is responsible for dns networking in worker node and runs on every cluster
It maintains the network rules on the nodes
Subscribe to my newsletter
Read articles from Nitesh Wayafalkar directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Nitesh Wayafalkar
Nitesh Wayafalkar
I am carrying 9.5 Years of experience into IT. Earlier, I used to automate manual tests using Selenium and Rest assured to make the application robust and find defects in the early stage. Now, I help businesses time the market by automating application deployment process and secure them using different SAST and DAST tools along with various dashboard and alerting mechanism like Grafana. Also helped production by making application highly available and more faiure tolerant.