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 の 1 時間あたりのコスト |
| node_total_hourly_cost | ノードの 1 時間あたりの総コスト |
| node_cpu_hourly_cost | ノードの CPU の 1 時間あたりのコスト |
| node_ram_hourly_cost | ノードの RAM の 1 時間あたりのコスト |
| node_gpu_hourly_cost | ノードの GPU の 1 時間あたりのコスト |