ื ืืื ืืขืืฉืื, ืืืชืจ ืืืืชืจ ืืืจืืช ืืขืืืจืืช ืืช ืืชืฉืชืืช ืฉืืื ืืฉืจืชื ืืืืจื ืืืืื ืืช ืืืจืืืืืืืช ืืฉืืื ืืขื ื. ืงื ืืืกืืืจ ืืช ืืคืชืจืื ืืื: ืืื ืฆืืจื ืืืืื ืืืื ืืืืจื, ืืืฉืืื ืืืืืจ ืืงืืืช ืืืจืืื ืจืืืช ืืฉืื ืืช... ืืืื ืืฉืื, ืืื ืืืืืืืช ืงืืืืืช (ืืื Kubernetes) ืืืคืฉืจืืช ืคืฉืื ืืืชืืื ืืช ืืื ืืืืฉืื ืืืชืื ืืขืืืก. .
ืืืืื ืืคืื ื ืกื ืชืืื ืืฉืื. ืืืื ืื ืืื ืืืืืจ ืื ื ืืขื ืืขืืืจ ืืฆืืฆื ืชืงืฆืืืื ืืขืช ืฉืืืืฉ ืืชืฉืชืืช ืขื ื ืขื Kubernetes.
ืืืื
ืืฉ ืื ื ืืงืืืืช ืขื Kubernetes ืื ืืขื ื ื-AWS ืื-GCP ืืืืืจืื, ืืืขืชืื ืจืืืงืืช ืืืชืจ ืขืืืจ ืงืืืืช ืืื ืืงืก, Azure - ืืืืคื ืืืื, ืืื ืืคืืืคืืจืืืช ืื ืชืืืืช ืขื ืืื Kubecost. ืขืืืจ ืืืงื ืื ื ืืืฉืืื ืืขืฆืื ื ืืช ืืขืืืืืช ืฉื ืฉืืจืืชืื ืชืื ืืฉืืืืืช (ืืืืฆืขืืช ืฉืืื ืืืื ืืื ืฉืื ืืฉืชืืฉืช Kubecost), ืืื ืขืืงืืื ืืืจ ืขืืืืืช ืืชืฉืชืืช ืืื ืกืื ืืืืขื ืืืชื. ืืื, ืืืืื ื ืฉืืชืขื ืืื ื ืืืคืฉืจืืช ืฉื ืืืืืืฆืื ืฉื ืืฉืืืืช ืืืื.
ืงืื ืืืงืืจ ืฉื ืืืืื Kubecost ืืจืืฉื ืคืชืื ืชืืช ืืชื ืืื ืฉื ืจืืฉืืื ืืงืื ืืคืชืื (Apache License 2.0). ื ืืชื ืืืฉืชืืฉ ืื ืืืืคื ืืืคืฉื ืืืชืืื ืืช ืืืืื ืืช ืืืืจืืช ืืืกืคืืง ืืคืจืืืงืืื ืงืื ืื. ืขื ืืืช, ืขืกืงืื ืื ืขืกืงืื: ืฉืืจ ืืืืฆืจ ืกืืืจ, ื ืืชื ืืืฉืชืืฉ ืื
ืืื ืืื ืขืืื
ืื, ืืืืง ืืขืืงืจื ืฉื Kubecost ืืื ืืืคืืืงืฆืื
ืืืืคื ืืืื, ื-cost-model ืืฉ ืืืฉืง ืืื ืืจื ื ืืฉืื, ืืืฆืื ืืจืคืื ืืกืืืืกืืืงืืช ืืคืืจืืืช ืขื ืขืืืืืช ืืฆืืจืช ืืืื, ืืื ืื, ืืืืื, ืืืคืื ืืืืขืื ืขืืืืืช. ืืืืืช ืืืืืื ืื ืืืืฆืืื ืืืจืคืื ื ืื ืฉืื ืืืงืื ืืืชืจ ืืคืืชืื Kubecost ืืืืืืื ื ืชืื ืื ืืืื ืืืจืื ืืืืื ืืขืืืช, ืืืฉืืืืื ืืืชื ืขื ืืกืืืืกืืืงื ืืจืืืื ืขื ืฆืจืืืช ืฉืื CPU/ืืืืจืื/ืจืฉืช/ืืืกืง ืืืฉืืื ืืืจืืืืื. .
ืืืฆื ืคืืขืืช Kubecost?
- ืืืื ืืขืืืช ืืงืื ืืืืจืื ืขืืืจ ืฉืืจืืชืื ืืจื ื-API ืฉื ืกืคืงื ืขื ื.
- ืืชืจื ืืื, ืืืชืื ืืกืื ืืืจืื ืฉื ืืฆืืืช ืืืืืืจ, ืืขืืืช ืืฆืืืช ืืืืฉืืช.
- ืืืชืืกืก ืขื ืืขืืืช ืฉื ืืคืขืืช ืฆืืชืื, ืื ืชืจืืื ืขืืื ืืงืื ืขืืืช ืืฉืขืช ืฉืืืืฉ ื-CPU, ืืื ื'ืืื-ืืืื ืืืืจืื ืฉื ืฆืจื ืืืฉืขื ืืื ื'ืืื-ืืืื ืฉื ื ืชืื ืื ืืืืืกื ืื - ืชืืื ืืฆืืืช ืฉืื ืืื ืคืขื ืื ืืกืื ืืืืกืื.
- ืืืชืืกืก ืขื ืขืืืช ืชืคืขืื ืืคืืืื ืืืืืื, ืืชืฉืืื ืืืืฉื ืขืืืจ ืืจืืื ืฉืืืช, ืฉืืจืืชืื, ืคืจืืกืืช, StatefulSets.
- ืื ืชืื ืื ืืกืืืืกืืืื ืืืืฉืืื ืืืืฆืขืืช ืืืืื ืืืกืืคืงืื ืขื ืืื kube-state-metrics ื-node-exporter.
ืืฉืื ืืงืืช ืืืฉืืื ืืช ืื Kubecost ืืืจืืจืช ืืืื ืกืืคืจืช ืจืง ืืฉืืืื ืืืืื ืื ื-Kubernetes. ืืกืื ื ืชืื ืื ืืืฆืื ืืื, ืฉืจืชื GitLab, ืืืกืื S3 ืืฉืืจืืชืื ื ืืกืคืื ืฉืืื ื ื ืืฆืืื ืืืฉืืื (ืื ืื ื ืืฆืืื ืืืืชื ืขื ื) ืืื ื ืืืืืื ืืืื. ืืื ื ืขืืืจ GCP ื-AWS ืืชื ืืืื ืืืืกืืฃ ืืช ืืืคืชืืืช ืฉื ืืฉืืื ืืช ืืฉืืจืืช ืฉืื ืืืืฉื ืืื ืืืื.
ืืชืงื ื
Kubecost ืืืจืฉ:
- Kubernetes ืืจืกื 1.8 ืืืขืื;
- ืงืืืืื-ืืฆื-ืืืื;
- ืคืจืืืชืืืก;
- ืืฆืืื ืืช ืฆืืชืื.
ืื ืงืจื ืฉืืืฉืืืืืช ืฉืื ื ืื ืืชื ืืื ืืืื ืืชืงืืืื ืืจืืฉ, ืื ืืชืืจืจ ืฉืืกืคืืง ืจืง ืืฆืืื ืืช ื ืงืืืช ืืงืฆื ืื ืืื ื ืืืืฉื ืืคืจืืชืืืก. ืขื ืืืช, ืืชืจืฉืื ืืจืฉืื ืฉื kubecost Helm ืืืื ืืช ืื ืื ืฉืืชื ืฆืจืื ืืื ืืจืืฅ ืขื ืืฉืืื ืืฉืืฃ.
ืืฉื ื ืืกืคืจ ืืจืืื ืืืชืงืื ืืช Kubecost:
- ืฉืืืช ืืชืงื ื ืกืื ืืจืืืช ืืืชืืืจืช ื
ืืืจืืืช ืืืชืจ ืืืคืชื. ืืืื ืืืกืฃ ืืช ืืืืจ ืื ืชื ืืขืืืืืช ื- Helm, ืืืืืจ ืืื ืืชืงื ืืช ืืชืจืฉืื. ืื ืื ืฉื ืืชืจ ืืื ืืืขืืืจ ืืช ืืืฆืืื ืฉืื ืืืืชืืื ืืช ืืืืืจืืช ืืืฆื ืืจืฆืื ืืืืคื ืืื ื (ืืจื kubectl) ื/ืื ืืืืฆืขืืช ืืืฉืง ืืืื ืืจื ื ืฉื ืืืื ืืขืืืช.ืืคืืื ืื ื ืืกืื ื ืืช ืืฉืืื ืืื, ืืืืืื ืฉืื ืื ื ืื ืืฉืชืืฉืื ืืชืฆืืจืืช ืืืื ืืช ืฉื ืฆื ืฉืืืฉื, ืืื ืื ื ืจืื ืืื ืืคืฉืจืืช ืืืื "ืคืฉืื ื ืกื ืืช ืื ืืขืฆืื". ืื ืืืจ ืืชืงื ืช ืืืง ืืืจืืืื ืืืขืจืืช ืื ืฉืืชื ืจืืฆื ืืืื ืื ืขืืื ืืืชืจ, ืขืืืฃ ืืฉืงืื ืืช ืื ืชืื ืืฉื ื.
- ืืฉืชืืฉ ืืขืฆื
ืืืชื ืชืจืฉืื , ืืื ืืืืจ ืืืชืงื ืืืชื ืืขืฆืื ืืื ืืจื ื ืืื.ืืคื ืฉืืืจ ืฆืืื ื, ืื ืืกืฃ ื-kubecost ืขืฆืื, ืืจืฃ ืื ืืืื ืืจืคืื ืฉื Grafana ื-Prometheus, ืืืชื ื ืืชื ืื ืืืชืืื ืืคื ืจืฆืื ืื.
ืืืื ืืืืื
values.yaml
ืขืืืจ ืื ืชื ืขืืืืืช ืืืคืฉืจ ืื ืืืืืืจ:- ืจืฉืืื ืฉื ืจืืืื ืื ืชื ืขืืืืืช ืฉืืฉ ืืคืจืืก;
- ื ืงืืืช ืืงืฆื ืฉืื ืขืืืจ ืคืจืืืชืืืก (ืื ืืืจ ืืฉ ืื);
- ืืืืืื ืื ืืืืืจืืช ืื ืืกื ืืืจืืช ืขืืืจ ืืืื ืขืืืช ื-Grafana;
- ืืขืจืืช ืืชืจืืืืื;
- ืืฆืืจื ืืฉืืืืฉ ืืืืกืื ืงืืืข ืืืืืืื.
ืจืฉืืื ืืืื ืฉื ืืคืฉืจืืืืช ืชืฆืืจื ืืืื ืืช ืขื ืชืืืืจืื ืืืื ื ื
ืชืืขืื .ืืืืืื ืฉ-kubecost ืืืจืกื ืืืกืืกืืช ืฉืื ืื ืืืื ืืืืืื ืืช ืืืืฉื, ืชืฆืืจื ืืืืืืจ ืืืืคื ืืืืื ืืช basic-auth ืขืืืจ ืคืื ื ืืืื ืืจื ื.
- ืืืชืงื ื ืจืง ืืืืช ืืืขืจืืช - ืืืื ืขืืืช. ืืฉื ืื, ืขืืื ืืืชืงืื ืืช Prometheus ืืืฉืืื ืืืฆืืื ืืช ืืขืจื ืืืชืืื ืฉื ืืืชืืืช ืฉืื ืืืฉืชื ื
prometheusEndpoint
ืขืืืจ ืืื. ืืืจื ืื - ืืืืืฉ ืืงืฉืืกื ืฉื ืชืฆืืจืืช YAML ืืืฉืืื.ืฉืื, ืชืฆืืจื ืืืืกืืฃ ืืื ืืช ืืช Ingress ืขื ืืืืืช ืืกืืกื. ืืืกืืฃ, ืชืฆืืจื ืืืืกืืฃ ืงืืข ืืืืกืืฃ ืืืื ืืืื ืขืืืช ื
extraScrapeConfigs
ืืชืฆืืจืช ืคืจืืืชืืืก:- job_name: kubecost honor_labels: true scrape_interval: 1m scrape_timeout: 10s metrics_path: /metrics scheme: http dns_sd_configs: - names: - <ะฐะดัะตั ะฒะฐัะตะณะพ ัะตัะฒะธัะฐ kubecost> type: 'A' port: 9003
ืื ืื ืื ื ืืงืืืื?
ืขื ืืชืงื ื ืืืื, ืขืืื ืืจืฉืืชื ื ืคืื ื ืืืื ืืจื ื kubecost ื-Grafana ืขื ืกื ืืืืืช ืืืืื ืื.
ืขืืืช ืืืืืช, ืืืืฆื ืืืกื ืืจืืฉื, ืืฆืื ืืืขืฉื ืืช ืืขืืืช ืืืฉืืขืจืช ืฉื ืืืฉืืืื ืืืืืฉ. ืึถื ืฆึธืคืึผื ืืืืจ ืืืฉืงืฃ ืืช ืขืืืช ืืฉืืืืฉ ืืืฉืืื (ืืืืืฉ) ืืจืืช ืฆืจืืืช ืืืฉืื ืื ืืืืืช.
ืืื ืื ื ืืขื ืืืชืจ ืื ืืชืื ืืืฆืืืช ืืืืขืืื. ืื ืื ืืืื ื ืื ืืืกืชืื ืขื ืกื ืืขืืืืืช ืฉื ืืืื ืืืคืฉื ื-kubecost: ืชืฆืืจื ืืขืฉืืช ืืืช ืืืืช ืืืืื. ืืื ืืชื ืืืื ืืจืืืช ืขืืืืืช ืืืืืงืืช ืืคื ืืจืืื ืฉืืืช, ืชืืืืืช, ืชืจืืืืื ืืืฉื 1/2/7/30/90 ืืืื, ืฉืืืืื ืื ืืจืื ืื ืืขืืื.
ืื ืืืจ ืืืืจืื ืชืืืืืช. ืขืืื ืืขืืืจ ืืื ืืืืืจืืช ืืืืืืืจ ืืช ืฉืืืช ืืชืืืืืช ืฉืืฉืืฉื ืืงืืืืจืืืช ื ืืกืคืืช ืืขืืืืืช ืงืืืืฅ:
ืืชื ืืืื ืืชืืืช ืขืืืื ืื ืชืืืืืช - ื ืื ืื ืืืจ ืืฉ ืื ืืขืจืืช ืชืืื ืืฉืื.
ืื ืฉื ืืชื ืืืื ืืฉื ืืช ืืช ืืืชืืืช ืฉื ื ืงืืืช ืืงืฆื ืฉื ื-API ืฉืืืื ืืชืืืจ ืืืื ืืขืืืช, ืืืชืืื ืืช ืืืื ืืื ืื ื-GCP ืืืืืืืจ ืืืืจืื ืืฉืื ืืืฉืืืื ืืืืืืข ืืืืืื ืฉืืื (ืืกืืื ืืืฉืื ืืชืืื ื ืื ืืฉืคืืขื ืขื ืืขืืืช ืืืืืืช).
Kubecost ืืืื ืืืจืืืช ืืืืื ืืขืืืช ืืืฉืืื (ืืืคืืื ืืชืจืืข ืืืงืจื ืฉื ืกืื ื). ืืืจืื ืืฆืขืจ, ืืืคืฉืจืืช ืืื ื ื ืืชื ืช ืืืืืจื, ืืืื, ืื ืืฉ ืื ืกืืืืืช ืืืคืชืืื ืืืชื ืืฉืชืืฉ ืืื, ืชืจืื ืื ืืืื ืืฉืื ืืื:
ืืื ืืฉืื - ืืืกืืื ืืืฉืืื. ืืื ืืืื ืืช ืคืขืืืืช ืืคืื (ืฆืจืืืช ืืฉืืืื, ืืืื ืจืฉืชืืช), ืืื ืืืฉื ืืื ืืกืฃ ืืืื ืืคืฉืจ ืืืกืื.
ืืืื ื ืจืื ืฉืืืคืื ืืืืคืืืืืืฆืื ืืจืืจืื ืืืื, ืืื ืื ืืกืืื ืืฆืืืข ืขื ืื ืฉืขืืืื ืืฉ ืขื ืื ืืืกืชืื. ืืคืจื, ืื ืืืจืช ืคืขืืืืช ืืจืฉืช ืฉื ืคืืืื (Kubecost ืืฆืืขื ืืฉืื ืื ืืืื ืฉืืื ื ืคืขืืืื), ืืืืืจืื ืืืืืงืฉ ืืืืืฉื ืืฆืจืืืช ื-CPU ืืืฉืืื, ืืื ืื ื-CPU ืืืฉืืฉ ืืช ืฆืืชื ืืืฉืืื (ืืจืื ืขื ืงืจืืกืช ืืกืคืจ ืฆืืชืื ืืืื), ืืืกืง ืขืืืก ืืขืื ืืื ืขืฉืจืืช ืคืจืืืจืื.
ืืื ืืื ืืขืืืช ืืืคืืืืืืฆืื, ืืืคืืืืืืฆืื ืฉื ืืฉืืืื ืขื ืกืื ื ืชืื ื Kubecost ืืืจืฉืช: ืืืคื ืืืืืจืืช. ืืืืืื, Cluster Savings ืืฆืืข ืืืืืง ืฆืืชืื, ืืืขื ื ืฉืื ืืืื, ืืื ืื ืืืงื ืืืฉืืื ืืช ื ืืืืืชื ืฉื ืืืจืจื ืฆืืชืื ืืืชืืื ืืชืจืืืืื ืืคืจืืกืื ืขืืืื ืฉืืื ื ืืืื ืื ืืฆืืชืื ืืืจืื. ืืืืื, ืืคืืื ืืืืจื ืืืืฆืจ ืฉืืื
ืชืืฆืืืช ืฉื
ืืืืจ ืฉืืืืฉ ื-kubecost ืืืฉื ืืืืฉ ืืืื ืคืจืืืงืืื, ืื ื ืืืืืื ืืืกืืง ืฉืืื ืืื ืืขื ืืื (ืืื ืงื ืืืืืื ืืืชืงื ื) ืื ืืชืื ืืืืคืืืืืืฆืื ืฉื ืขืืืืืช ืขืืืจ ืฉืืจืืชื ืกืคืงื ืขื ื ืืืฉืืฉืื ืืืฉืืืืืช Kubernetes. ืืืืฉืืืื ืืชืืจืจืื ืืืืืืงืื ืืืื: ืื ืืกืืืื ืฉืื ื ืื ืขืืืื ืืงื ื ืืื ืขื ืื ืฉืืกืคืงืื ืืจืฉื ืืคืืขื.
ืืฉ ืื ืืื ืืกืจืื ืืช: ืืฉ ืืืืื ืื ืงืจืืืืื, ืืืืงืืืืช ืืกืืืืื ืืคืื ืงืฆืืื ืืืืช ืื ืืืกื ืืช ืืฆืจืืื ืืกืคืฆืืคืืื ืืคืจืืืงืืื ืืกืืืืื. ืขื ืืืช, ืื ืืชื ืฆืจืื ืืืืื ืืืืืจืืช ืืื ืืืื ืืืกืฃ ืืื ื ืืชื "ืืงืฆืฅ" ืืื ืืืคืืืช ืืืืคื ืขืงืื ืืช ืืืฉืืื ืขืืืจ ืฉืืจืืชื ืขื ื ื-5-30% (ืื ืื ืฉืงืจื ืืืงืจื ืฉืื ื), ืื ืืคืฉืจืืช ืืฆืืื ืช .
ื .ื.
ืงืจื ืื ืืืืื ืฉืื ื:
- ยซ
ืงื ื ืืืื ืืืืืืื ืื ืืืื ืืฉืืืื ื-Kubernetes (ืกืงืืจื ืืืืืช ืืืื ืืืืื) "; - ยซ
Kubernetes adventure Dailymotion: ืืฆืืจืช ืชืฉืชืืช ืืขื ื ืื + ืืงืืืืช "; - ยซ
ืขืฆืืช ืืืจืืงืื ืฉื Kubernetes: ืขื ืืงืฆืืช ืฆืืชืื ืืืขืื ืช ืืืฉืืื ืืื ืืจื ื ".
ืืงืืจ: www.habr.com