コンテンツにスキップ

KubeCost

設定

前提条件

  • K8S 環境をインストールする
  • KubeCost をインストールする
  • DataKit をインストールする
  • Prometheus Operator をインストールする

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 を再起動する

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 時間あたりのコスト

フィードバック

このページは役に立ちましたか?