AKS is a managed Kubernetes service in Azure where Microsoft manages the control plane and you (the customer) manage the worker nodes and workloads.
At a high level, it consists of:
-
Control Plane (Master Components) – managed by Azure.
-
Worker Nodes (Agent Nodes) – managed by you (inside your subscription).
-
Supporting Azure Resources – networking, storage, monitoring, identity, etc.
🔹 1. Control Plane (Managed by Azure)
This is the brain of the cluster, hosted and managed by Azure. You don’t pay directly for the control plane; it’s included in the service.
Key components:
-
API Server – entry point for kubectl, Azure CLI, and Azure portal requests.
-
etcd – distributed key-value store to keep cluster state (pods, secrets, config, etc.).
-
Scheduler – places pods on the right worker nodes based on resources/constraints.
-
Controller Manager – ensures the desired state matches actual state (e.g., replicas).
-
Cloud Controller Manager – integrates Kubernetes with Azure (load balancer, storage, identities).
In AKS, Microsoft manages availability, patching, and scaling of the control plane.
🔹 2. Worker Nodes (Customer Managed in Subscription)
These are Azure VMs that actually run your applications. You pay for these.
Components on worker nodes:
-
Kubelet – agent that communicates with API server and manages pods.
-
Container Runtime – usually containerd (earlier Docker) to run containers.
-
Kube-proxy – handles network routing, Services, and communication.
-
Pods – smallest deployable units that run your containers.
You can scale worker nodes manually or use Cluster Autoscaler.
🔹 3. Networking in AKS
Two main models:
-
Kubenet (Basic) – assigns private IPs to pods from a local pool and uses NAT for outbound.
-
Azure CNI (Advanced) – each pod gets a real Azure VNet IP address, allowing direct communication.
Load balancing:
-
Azure Load Balancer (Layer 4) – for exposing services externally.
-
Application Gateway/Front Door/NGINX Ingress (Layer 7) – for advanced routing, SSL termination.
🔹 4. Storage in AKS
-
Azure Disks – persistent storage for single pod use.
-
Azure Files – shared storage across multiple pods.
-
Storage Classes & PVCs – Kubernetes abstractions for dynamic provisioning.
🔹 5. Identity & Security
-
Azure AD integration – for RBAC and authentication.
-
Managed Identities – allow pods to securely access Azure resources.
-
Azure Key Vault – for secrets management.
-
Network Policies – control pod-to-pod communication.
🔹 6. Monitoring & Management
-
Azure Monitor & Container Insights – for metrics and logs.
-
Azure Policy for AKS – enforce governance (e.g., allowed container images).
-
Diagnostics – via Log Analytics.
Comments
Post a Comment