Hiện tại (12/3/2023) mình đã biết tin là kubecost đã closed source.
nhưng họ vẫn hứa hẹn là bạn free của trên self host và mình có kiểm tra tính năng recomandation regarding RAM/CPU (Bạn sài bản cloud free của kubecost thì không có tính năng này)
Họ cũng provide 1 opensource là opencost và mình cài thử thì chưa thành công.
==> Chúng ta vẫn có thể sài self host of kubecost.
1) Look into and install Kubecost on Kubernetes
Links hướng dẫn cài đặt: https://www.kubecost.com/install.html#show-instructions
##Helm 3 nhé###
kubectl create namespace kubecost
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost kubecost/cost-analyzer --namespace kubecost --set kubecostToken="bXIubmltOTRAZ21haWwuY29txm343yadf98"
Ở version 1.107.1 thí kubecost không cài mặc định install kubestate.
nếu anh em muốn cài luôn trong kubecost:
prometheus: ## Default disabled since Kubecost already emits KSMv1 metrics. ## Ref: https://docs.kubecost.com/architecture/ksm-metrics kubeStateMetrics: enabled: true kube-state-metrics: disabled: false
Links API: http://docs.kubecost.com/apis
1 | tolerations: |
2 | - key: "node" |
3 | operator: "Equal" |
4 | value: "storage-ssd" |
5 | effect: "NoSchedule" |
6 | nodeSelector: |
7 | node: "storage-ssd" |
Bạn có thể tuỷ chỉnh storage cho phù hợp. update sat 6 nov 2021
1 | kubecostToken: "bXIubmltOTRAZ21haWwuY29txm343yadf98" |
2 | nodeSelector: |
3 | node: "storage-hdd" |
4 | persistentVolume: |
5 | storageClass: "longhorn-normal" |
Nếu mà Cluster kube của bạn đã cài prometheus rồi và có sẵn node-exporter thì bạn bỏ node-exporter của kubecost ra nhé
Trong yaml của kubecost set node exporter = false nhé
Trong vô số tính năng hưu ích thì mình chỉ cho bạn 1 thứ rất hay
update thu 7 Oct 2021
Cái số recommendation này được dựa vào data của pod có usage cao nhất
Bạn có thể tham khảo thêm các tool khác:
https://medium.ninja/empathyco/cloud-finops-part-4-kubernetes-cost-report-b4964be02dc3
Có 1 điều cần chú ý là bạn sẽ chỉnh resource request trước và để nguyên resource limit.
Khi hệ thống đã stable sau 1 lần refactor thì bạn sẽ xem xét điều chỉnh resource limit.
2) Right-size your container requests in Kubecost
Đầu tiên bạn sẽ không biết là pod của bạn đang sử dụng bao nhiêu RAM, CPU và liệu chúng ta đã hiểu quả chưa?
Chúng ra tìm hiểu cách điều chỉnh ram và cpu request sao cho hiệu quả.
3) Setup multi-cluster on kubecost
https://github.com/kubecost/docs/blob/main/multi-cluster.md
https://github.com/kubecost/cost-analyzer-helm-chart/blob/master/cost-analyzer/values.yaml
https://github.com/kubecost/docs/blob/master/ingress-examples.md
4) Combine Kubecost and Datadog.
Nếu công ty bạn đang sài datadog thì bạn có thể kết hợp cả hai.
https://www.datadoghq.com/blog/delivery-hero-kubernetes-cost-optimization/
5) Kubecost watches or collects window pods.
6) Install the Opencost with victoria-metrics
https://victoriametrics.com/blog/monitoring-kubernetes-costs-with-opencost-and-victoriametrics/