새소식

AWS/EKS

[EKS Study 4주차] EKS Observability - kubecost

  • -

CloudNet@ 팀의 가시다님께서 Leading 하시는 AEWS Study 4주차 스터디 내용 정리

이번 포스팅에서는 EKS 사용 시, 리소스 별 비용을 분석해서 보여주는 KubeCost 에 대해서 알아보겠습니다.

 

Opencost Docs

 

OpenCost — open source cost monitoring for cloud native environments | OpenCost — open source cost monitoring for cloud nati

Containers in the Cloud, costs down to Earth. Monitor Kubernetes spend the Cloud Native way.

www.opencost.io

 

Kubecost Docs

 

Welcome to the Docs! - Kubecost Documentation

Kubecost helps you monitor and manage cost and capacity in Kubernetes environments. We integrate with your infrastructure to help your team track, manage, and reduce spend.

docs.kubecost.com

 

1. kubecost

 

Open Source 인 Opencost 를 기반으로 만들어졌으며, AWS 에서 현재 적극적으로 지원해주고 있는 쿠버네티스 비용 분석 도구입니다.

kubecost 를 활용하면 EKS 상에 배포된 리소스의 사용량을 기반으로 EKS 비용을 감소시킬 수 있는 방안을 알 수 있습니다.

 

  • kubecost 는 AWS EKS Marketplace 에서도 제공되고 있습니다.

 

1.1. Kubecost 설치

사전 조건

  1. Helm 버전 3.9 이상
  2. EKS Cluster 접근 권한 보유
  3. EKS 버전 1.23 이상일 경우, EBS CSI Driver 설치

 

Kubecost Helm Yaml 생성

 

GitHub - kubecost/cost-analyzer-helm-chart: Kubecost helm chart

Kubecost helm chart. Contribute to kubecost/cost-analyzer-helm-chart development by creating an account on GitHub.

github.com

cat <<EOT > cost-values.yaml
global:
  grafana:
    enabled: true
    proxy: false

priority:
  enabled: false
networkPolicy:
  enabled: false
podSecurityPolicy:
  enabled: false

persistentVolume:
    storageClass: "gp3"

prometheus:
  kube-state-metrics:
    disabled: false
  nodeExporter:
    enabled: true

reporting:
  productAnalytics: true
EOT
# Namespace 생성
kubectl create ns kubecost

# Helm 배포
helm install kubecost oci://public.ecr.aws/kubecost/cost-analyzer \
    --version 1.103.2 \
    --namespace kubecost \
    -f cost-values.yaml

 

 

2. Kubecost Dashboard 활용

설치 후, kubecost 에 접속합니다.

 

2.1. Allocations

Monitor - Allocations 에서는 특정 기간 동안 리소스별 비용을 한눈에 알 수 있습니다.

 

특정 컴포넌트 별 비용을 확인할 수 있습니다.

 

필터를 걸어 리소스 비용을 확인할 수 있습니다.

다음은 app.kubernetes.io/name=cost-analyzer 레이블이 부여된 리소스만 필터링한 경우입니다.

 

2.2. Savings

현재 EKS 에 사용되고 있는 리소스를 기반으로 비용을 절감할 수 있는 방법을 추천해줍니다.

 

 


 

이번에는 Kubecost 에 대해서 테스트해봤습니다.

이전에 AWS Meetup에서 처음 보고 그 동안 존재만 알고 있었는데, 직접 만들어보고 테스트해보니 신기합니다.
더 많은 기능은 계속 EKS 를 실행하면서 테스트해보면 좋을 것 같은데, 기회가 있을 지 모르겠습니다.

 

참고 문서

https://docs.kubecost.com/install-and-configure/install/provider-installations/aws-eks-cost-monitoring

https://aws.amazon.com/ko/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/

https://www.eksworkshop.com/docs/observability/kubecost/costallocation/

Contents

포스팅 주소를 복사했습니다