Azure Kubernetes Service (AKS) and performance efficiency
Azure Kubernetes Service (AKS) simplifies deploying a managed Kubernetes cluster in Azure by offloading the operational overhead to Azure. As a hosted Kubernetes service, Azure handles critical tasks, like health monitoring and maintenance.
To explore how AKS can bolster the performance efficiency of your application workload, reference architecture guidance and best practices on the AKS Solution architectures page.
The following sections include a scalability checklist and recommended configuration options specific to AKS.
Scalability checklist
Have you configured Azure Kubernetes Service (AKS) with performance efficiency in mind?
- Enable cluster autoscaler to automatically adjust the number of agent nodes in response to resource constraints.
- Consider using Azure Spot VMs for workloads that can handle interruptions, early terminations, or evictions.
- Use the Horizontal pod autoscaler to adjust the number of pods in a deployment depending on CPU utilization or other select metrics.
- Separate workloads into different node pools and consider scaling user node pools to zero.
Scalability recommendations
The following table reflects scalability recommendations and descriptions related to AKS configuration:
| Scalability Recommendations | Description |
|---|---|
| Enable cluster autoscaler to automatically adjust the number of agent nodes in response to resource constraints. | The ability to automatically scale up or down the number of nodes in your AKS cluster lets you run an efficient, cost-effective cluster. |
| Consider using Azure Spot VMs for workloads that can handle interruptions, early terminations, or evictions. | For example, workloads such as batch processing jobs, development, testing environments, and large compute workloads may be good candidates for you to schedule on a spot node pool. Using spot VMs for nodes with your AKS cluster allows you to take advantage of unused capacity in Azure at a significant cost savings. |
| Separate workloads into different node pools and consider scaling user node pools to zero. | Unlike System node pools that always require running nodes, user node pools allow you to scale to 0. |