Kubecost | Kubernetes cost monitoring and management

Kubecost | Kubernetes cost monitoring and management

Step 1: Create an AWS EKS Cluster

kubectl get node 

Step 2: Enable Kubecost add-on using AWS CLI

aws eks create-addon --addon-name kubecost_kubecost --cluster-name kube-cluster-3 --region us-east-1

Step 3: Deploying Kubecost on an Amazon EKS cluster using Helm

Step 3.1: Install Prerequisites

eksctl create iamserviceaccount   \
    --name ebs-csi-controller-sa   \
    --namespace kube-system   \
    --cluster kube-cluster-3  \
    --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy  \
    --approve \
    --role-only \
    --role-name AmazonEKS_EBS_CSI_DriverRole
    
export SERVICE_ACCOUNT_ROLE_ARN=$(aws iam get-role --role-name AmazonEKS_EBS_CSI_DriverRole --output json | jq -r '.Role.Arn')

Step 3.2: Install the Amazon EBS CSI add-on for EKS using the AmazonEKS_EBS_CSI_DriverRole

eksctl create addon --name aws-ebs-csi-driver --cluster kube-cluster-3 \
    --service-account-role-arn $SERVICE_ACCOUNT_ROLE_ARN --force

Step 3.3: Install Kubecost on your Amazon EKS cluster

helm upgrade -i kubecost \
oci://public.ecr.aws/kubecost/cost-analyzer --version "1.104.4" \
--namespace kubecost --create-namespace \
-f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/develop/cost-analyzer/values-eks-cost-monitoring.yaml

Step 4: Generate Kubecost dashboard endpoint

kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090

Step 5: Access Monitoring dashboards

http://localhost:9090
Happy Computing 😄