Costing of Agent pool in Azure Kubernetes

Mohammed Sohail 66 Reputation points
2022-06-03T12:06:27.967+00:00

As per Microsoft documentation the control pane is free and completely managed by Microsoft but as Agent pool is system pool that too on linux and I need only worker nodepool of windows to be created and will pay only for worker nodepool. I don't need to run Agentpool and incur, as microsoft is using for it's own purpose why is it mandatory to use Agentpool and bare cost.

However I'm not willing to use Agentnode pool then still I have to pay for usage of Microsoft?

Azure Container Instances
Azure Container Instances
An Azure service that provides customers with a serverless container experience.
648 questions
Azure Cost Management
Azure Cost Management
A Microsoft offering that enables tracking of cloud usage and expenditures for Azure and other cloud providers.
2,107 questions
Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS)
An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.
1,885 questions
0 comments No comments
{count} votes

Accepted answer
  1. Andriy Bilous 10,996 Reputation points MVP
    2022-06-07T04:22:55.61+00:00

    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.

    2 people found this answer helpful.
    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Prrudram-MSFT 22,486 Reputation points
    2022-06-07T10:47:00.137+00:00

    Dear @Mohammed Sohail ,

    Thank you for reaching out to the Microsoft Q&A platform. Happy to answer your question.

    The system pool is not what “control plane” means in this context. The control plane is the Kubernetes API server, controller manager, scheduler, etcd and related services. They are indeed hosted by Microsoft and are not visible at all to the customer. (i.e. they are not in the system pool – they run elsewhere on VMs that the customer cannot even see). The system pool runs the parts of Kubernetes that have to run in the customer’s VNET. Customers have to pay for the system pool nodes.

    To add more detail, there is a charge for all node/agent pools regardless which type of node pool (system or user) is being used. Every AKS cluster must contain at least one system node pool with at least one node.
    User application pods can be scheduled on system node pools if you wish to only have one pool in your AKS cluster. The system node pool is only available as a Linux node pool at this time, so if the customer wishes to use a Windows based user pool they will require two node pools. They will be charged for both.

    More info that may be helpful for you: Use system node pools in Azure Kubernetes Service (AKS) - Azure Kubernetes Service | Microsoft Learn

    If you are satisfied with the answer, please "Accept as Answer" and Upvote, so that you can help others in the community looking for remediation for similar issues.

    2 people found this answer helpful.
    0 comments No comments