KubeCost¶
구성¶
사전 조건¶
CRD 구성¶
KubeCost는 이미 메트릭을 노출하고 있으므로, DataKit이 메트릭을 발견해 보고하도록 하면 됩니다.
kubecost-serverMonitor.yaml추가
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: kubecost-metrics
labels:
app.kubernetes.io/name: cost-analyzer
namespace: kubecost
spec:
selector:
matchLabels:
app.kubernetes.io/name: cost-analyzer
endpoints:
- port: metrics
- 실행
kubectl apply -f
kubecost-serverMonitor.yaml
DataKit 구성¶
이미 활성화되어 있다면 건너뛰세요.
- DataKit Service Monitor 자동 발견 활성화
env : ENV_INPUT_CONTAINER_ENABLE_AUTO_DISCOVERY_OF_PROMETHEUS_SERVICE_MONITORS 추가
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: daemonset-datakit
name: datakit
namespace: datakit
spec:
...
template:
...
spec:
...
containers:
- env:
...
- name: ENV_INPUT_CONTAINER_ENABLE_AUTO_DISCOVERY_OF_PROMETHEUS_SERVICE_MONITORS
value: "true"
...
- DataKit 재시작
메트릭¶
kubecost-cost-analyzer¶
| Metric | 설명 |
|---|---|
| container_cpu_allocation | container cpu 할당 |
| container_gpu_allocation | container gpu 할당 |
| container_memory_allocation_bytes | container 메모리 할당 |
| pv_hourly_cost | PersistentVolume 시간당 비용 |
| node_total_hourly_cost | 노드 시간당 총 비용 |
| node_cpu_hourly_cost | 노드 cpu 시간당 비용 |
| node_ram_hourly_cost | 노드 ram 시간당 비용 |
| node_gpu_hourly_cost | 노드 gpu 시간당 비용 |