Hello @Mohammed Sohail
You are right, AKS control plane is free and completely managed by Microsoft.
Microsoft charges you for System node pools and user node pools, which are two different node pool modes for your AKS clusters.
- System node pools serve the primary purpose of hosting critical system pods such as CoreDNS and metrics-server.
- User node pools serve the primary purpose of hosting your application pods. However, application pods can be scheduled on system node pools if you wish to only have one pool in your AKS cluster. Every AKS cluster must contain at least one system node pool with at least one node.
System node pools have the following restrictions:
- System pools osType must be Linux.
- User node pools osType may be Linux or Windows.
- System pools must contain at least one node, and user node pools may contain zero or more nodes.
- The nodes need at least 2 vCPUs and 4GB memory.
You can do the following operations with node pools:
- Create a dedicated system node pool (prefer scheduling of system pods to node pools of mode:system)
- Change a system node pool to be a user node pool, provided you have another system node pool to take its place in the AKS cluster.
- Change a user node pool to be a system node pool.
If you want to limit cost, use a single node cluster where you can run both the system services and you applications on the system pool
To optimize your costs further, you can completely turn off (stop) your cluster.
https://learn.microsoft.com/en-us/azure/aks/use-system-pools
https://www.linkedin.com/pulse/top-10-cost-optimization-techniques-aks-workloads-azure-upadhyaya/
If you think your question has been answered, click "Mark as Answer" if just helped click "Vote as helpful". This can be beneficial to other community members reading this forum thread.