Skip to main content

Understand EKS costs

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service to run Kubernetes on AWS. DoiT provides an EKS cost monitoring solution that uses the OpenTelemetry Collector to collect metrics generated by kube-state-metrics (KSM) of EKS clusters running on Amazon EC2 nodes.

The metrics are further integrated with AWS billing data, allowing you to break down EKS cost by Kubernetes resources such as pods, nodes, namespaces and other dimensions supported in the DoiT platform.

Before you begin

  • The DoiT EKS cost monitoring solution is not available if you're on a DoiT consolidated billing account (payer account ID 561602220360, 017920819041, and 279843869311).

  • The OpenTelemetry agent relies on the AWS-generated cost allocation tag eks:cluster-name to identify EKS EC2 instances. Make sure the tag has been activated and your clusters are tagged correctly in the AWS billing data. See Activating AWS-generated tags cost allocation tags.

  • You need to deploy the agent for each cluster following the instructions about Connecting EKS clusters. The components will be deployed in the doit-eks-metrics namespace.

  • We recommend not using existing OpenTelemetry Collector or kube-state-metrics on your clusters for the DoiT EKS Lens. DoiT is not responsible for any configuration issues if you choose to add the DoiT configurations to your existing components.

Kubernetes compatibility

The OpenTelemetry agent of the DoiT EKS cost monitoring solution supports the latest release of kube-state-metrics, which interacts with Kubernetes clusters via client-go.

See compatibility matrix for kube-state-metrics and client-go and compatibility matrix for client-go and Kubernetes cluster for details.

EKS clusters in the DoiT console

DoiT performs a daily scan on AWS billing data to uncover EKS clusters in your account. It assumes that the AWS-generated cost allocation tag eks:cluster-name has been applied to your EKS EC2 instances.

The identified clusters are listed on the EKS clusters page, which is also where you can check the EKS costs monitoring settings and take necessary action.

Cost By Service report widget

To access the EKS clusters page in the DoiT console:

You can perform different tasks in accordance with the status of a cluster:

  • Active: The cluster is already connected to the DoiT platform. You can download its deployment configuration file by selecting Download yaml from the three dots menu at the rightmost end of the cluster entry row.

  • Not started: The cluster is not connected to the DoiT platform. Select Connect to start the connecting process.

  • Deleted: The CloudFormation stack that allows DoiT to access the cluster has been removed. Select Fix to reconnect the cluster or download the deployment configuration file via the three-dot menu at the rightmost end of the cluster entry row.