What is Azure Kubernetes Service (AKS) and how do you deploy and manage a cluster?
Azure Kubernetes Service (AKS) is a managed Kubernetes service that simplifies deploying, managing, and scaling containerized applications on Azure. Microsoft manages the control plane (API server, etcd, scheduler) while you manage the worker nodes.
Key AKS Concepts
Node Pools: Groups of VMs with the same configuration. AKS supports system node pools for system pods like CoreDNS and user node pools for application workloads. Multiple node pools can have different VM sizes and scaling settings.
Virtual Nodes: AKS integrates with Azure Container Instances via virtual nodes, enabling burst scaling to serverless containers without managing additional VMs.
Networking: AKS supports Kubenet (simple, assigns IPs from separate address space) and Azure CNI (assigns IPs directly from VNet for better performance and Azure service integration).
Deploying an AKS Cluster
az aks create –resource-group myRG –name myAKS –node-count 3 –enable-addons monitoring –generate-ssh-keys
az aks get-credentials –resource-group myRG –name myAKS
kubectl get nodes
Key AKS Features
Managed control plane with automatic upgrades and patching. Azure AD integration for RBAC authentication. Azure Monitor and Container Insights for observability. Azure Policy for compliance. Cluster autoscaler for automatic node scaling. Azure Disk and Azure Files for persistent volumes. Private cluster option restricts API server access to VNet. Integration with Azure DevOps and GitHub Actions for CI/CD pipelines.