αα
αα
α»ααααααααα αααα»αα αα»αααΆααααα
αααΎαα‘αΎααααα»ααααααα αααααΆαα
ααΆαααααααααααααα½αααααΈαααΆαααΈααααααααααΉα αα·ααααΆαααΈααα·αααα·αααααΆαααααααα½ααααα
ααΆαααααα αααααααααΆααααααΆααααα½αααααααα αα·αα
αΆαααΆα
ααααα½αααΆααααα’αααΈαααααααΉααα α
αααααααααΌαααΆαααααααααΆαααΆααααα½αααΆααα·ααΈααααααααΆα
αααΎα... α αΎαααααΆαααααα»α αα
αα
αααα·ααααΆαααααΆαααααΆαα (ααΌα
ααΆ Kubernetes) ααααΎα±ααααΆα’αΆα
ααααΎααΆαααααααΆαααΆααααα»αααααΌααααααααΆααααα’αΆαααααααΎααααα»αα .
αα·αααααΆαα α·ααααααααα»αααααααααΆααα α§ααααααααααΆααα·ααΆααααΆαα
αααα»αα’ααααααααααααΌαααΆααα
ααΆα‘αΎαααΎααααΈαα½αααΆαααααααααα·ααΆαα
αααααααΎααααΆααα αααααΆαα
ααΆαααααααααααααΆαα½α Kubernetes α
ααα ααααΈααααΆα
ααΎαααΆαα’αα·αα·ααααΆαα½α Kubernetes ααΆαααα αααα»α AWS αα·α GCP clouds αααααααΆααααααΆαα α αΎαααΆαααααααααααααΆαααα ααααααΈαα»α Azure - ααΆααΌαα αα ααΎαααα·ααΆααΆααα’αααααααΆααααααα Kubecost α αααααΆαααα½ααααα½αα ααα½α ααΎαααααΆααααααΎαααααααΆαααααααα»ααααα»ααααα½αααΎα (αααααααΎαα·ααΈααΆαααααααααααααΉαα’αααΈααα Kubecost ααααΎ) α αΎααααααα½ααα·αα·ααααααααα αααααΆαα ααΆαααααααα αα·αααααΆααΆααααααΎαααααα·αααααΆααα½αααα ααΌα αααα ααΆααΆα‘αΌααΈαααααααΎαα αΆααα’αΆααααααααΎααααααΆαααααΆαααααΎααααααααααααα·ααααααΆαααΆαααααααα
ααΌαααααααααααΌαα»α Kubecost α
ααααααΊααΎααα
αααααααααααααααα’αΆααααΆααααααααααααΎαα
αα (Apache License 2.0) α ααΆα’αΆα
ααααΎααΆααααααααΈ α αΎααααααααα·ααααααααΆααα½ααααααααααααΆαααααααΆααααααααααΌα
αα αααααΆαααΆαααΆαααααα’αΆααΈαααααααΊααΆα’αΆααΈααααα: ααα·αααααααα
αααααααΌαααΆααα·αααΆα’αΆα
ααααΎααΆα
αααααααααΆααααΎαααΆαααΆααα’ααα
ααΌα
αααααααααααααΆαααα Kubecost ααΊααΆαααααα·ααΈ
αα·ααΆαααΆααΌαα ααααΌαααααααΆαα ααα»α αααααΆαααααααΆαααααΆααααααααΆ ααααααα αΆαααααΆα αα αα·ααααα·αα·αααα’α·αα’αααΈααΆαα αααΆααααα»αααααααααΆααΆα ααααΌα ααΆααααααΆααααα½ααααααΆααααΆααααααΎαααααα·αααααΆαααΆαα αααΆαα ααααΆααααααααααααααααΆααααα αΆααα αααα»α Grafana ααΊααΆααααΆααααΆαααααΌααααα»αααΆαα’αα·αααααα Kubecost α αΎαααΆααα·ααααααααΌα ααααΆαα ααΉαααααΌααααα ααααααααααα½αααΆααΆαα½αααΉααααα·αα·ααααααΆααΎααΆαααααΎααααΆαα CPU/memory/network/disk space αα αααα»α cluster αα·ααααΆαααΆαα»ααααααΆ .
ααΎ Kubecost ααααΎαααΆααααΆαααΌα ααααα ?
- ααααΌαααααααα½αααΆαααααααααααΆααααααΆααααααΆαααα API ααααα’ααααααααααααΆαααα
- ααΎαααΈααααααα’αΆαααααααΎαααααααααααααααΆαααα·ααααααααααααααα»ααα½αααααΆααααααΌαααΆαααααΆα
- αααααα’ααααΎαααααααααΆαααααΎαααΆαααααΆαα ααααΉαααΈαα½ααααα½αααΆαααΆαα αααΆααααα»ααα½αααααααααΆαααααΎααααΆαααααΈααΈααΌ αααα»ααα½αααΈα αααΆααααα’αααα αα αΆαααααΎααααΆαα αα·ααααα»ααα½ααααααααα»ααα½αααΈα αααΆαααααα·αααααααααααΆααααααΆαα»α - α’αΆαααααααΎααααΆαααααααΆαααα»αααααΎαααΆα α¬ααααΆαααααα»αα
- αααααα’ααααΎαααααααααααα·ααααα·ααΆα pods αα»αααα ααΆαααΌααΆααααααΌαααΆαααααΆαααααΆαα namespaces, services, deployments, StatefulSetsα
- αααα·αα·ααααΌαααΆαααααΆαααααααΎααααααααααααααααα kube-state-metrics αα·α node-exporter α
ααΆααΆαααΆααααααΆααααΆαααααα»αααΆααα·α αΆαααΆααΆ Kubecost ααΆαααααΆαααΎα ααΆααααααααΆααααααΆααα αααα»α Kubernetes ααα»αααααα. ααΌαααααΆααα·ααααααααΆααααα αααΆαααΈααα GitLab αααααααααα»α S3 αα·αααααΆααααααααααααααααα·αααΆααα αααα»αα ααααα (αααααΈααΆαααα·ααα αααα»ααααααΌα ααααΆ) αα·αα’αΆα ααΎαααΎαααΆααΆαααα αααααΈααΆαααααΆαα GCP αα·α AWS α’αααα’αΆα ααααααααααααααΈααααΆααααααααα’ααα αα·αααααΆα’αααΈαααΆααα’αααα½αααααΆα
ααΆαααααα
Kubecost ααΆαααΆαα
- Kubernetes αααα 1.8 αα·ααααααααΆαααα;
- kube-state-metrics;
- Prometheus;
- node-exporter α
ααΆααΆαααΎαα‘αΎαααΌα ααααααΆαα αααα»αα αααααααααααΎαααααααααααΆααα’αααααααααΌαααΆααααααααΆαα»αααΌα ααααααΆααΆαααααααααΆαααΆααΆαααααααααΆααααΎααααΈααααΆαααααααααΆααα ααα»α αααα ααααααΉαααααΌααααααΆααααΆαα αΌααα ααΆαα Prometheus α αααααΆαααΆαααΆααααα ααΆααΆα kubecost Helm ααααΌαααΆαααΆαα’αααΈααααααααΆααααα’αααααααΌαααΆαααΎααααΈααααΎαααΆαααΎα ααααααααα
ααΆααα·ααΈααΆα αααΎααααα»αααΆαααα‘αΎα Kubecostα
- αα·ααΈααΆαααααααα‘αΎααααααααΆααααααΆααα·αααααΆαα
αααα»α
ααΆαααααΆα αα ααΎααα αααααααααα’αααα’αα·αααααα ααααααααααΆααα’ααααα·ααΆαααααααα Helm α αΎααααααΆααααααα‘αΎαααΆααΆα. α’αααΈααααα ααααααααΊααααΌααααααΌαααααα αααααααα’ααα αα·ααααααααΌαααΆαααααααα ααααΆαααΆααααα ααααΆαααααα (ααΆαααα kubectl) αα·α/α¬αααααααΎα ααα»α αααααΆααααα αααααααααΌααααααααΎααα·αααΆααααΆαααΆααααααα·ααΈααααα αααααΆαααΎααα·αααααΎααΆαααααααα ααΆαααααααααααααααααα½α ααΆααααα ααααααΆααΈααΈααΈ ααα»ααααααΆααΎααα ααΌα ααΆαααααΎαααααα’ "ααααΆααααααΆαααααααΆααααααα½αα―α"α ααααα·αααΎα’αααααΆαααα‘αΎααααΆαααΆαα»αααααααααα½αα ααα½ααα½α α αΎα α¬α’αααα ααααΆαααΆααααααααΌααααααα ααΆααΆααΆααααααΎααααα»αααΆααα·α αΆαααΆααΎααααΌαααΈααΈαα
- ααααΎααΆααααΆαα
ααΆααΆαααΌα ααααΆα ααα»ααααααααααα ααΆαααααααα αα·αααα‘αΎαααΆααααααα½αα―αα αα αααα»ααα·ααΈααΆααααα½αααΆαα½ααααΌα αααααΆααααααΆαααα½α ααα αΎα ααααααααΈααΎ kubecost αααα½αααΆ ααΆααΆααααααΆαααααΌαααΆα Grafana αα·α Prometheus αααα’αΆα ααααΌαααΆαααααΌαααΆαααααααΆαααΆαα ααααΆαα
ααΆααα ααΎααΆααΆα
values.yaml
αααααΆααβα’αααβαα·ααΆαβαααααβα’αα»ααααΆαβα±ααβα’αααβαααααβαα ααΆααααααααβ:- αααααΈαααααΆαααΆαα»αα·ααΆαααααααΎααααααααΌαααΆαααΆααα±ααααααΎααααΆααα
- α ααα»α αααα ααααααα’ααααααααΆαα Prometheus (ααααα·αααΎα’αααααΆααα½ααα½α α αΎα);
- domains αα·αααΆαααααα ingress αααααααααααααΆαα cost-model αα·α Grafana;
- α αααΆααααααααααααΆαα pods;
- αααααΌαααΆαααααΎααααΆααααΆααααα»αα’α α·αααααααα αα·αααα αααααααΆα
αααααΈαααααααααααααΎαααααΆαααααααα ααΆαααααααααααααΆαααΆαα½αααΉαααΆααα·αααααΆααΊααΆααα αααα»α
α―αααΆα .αααααΆα kubecost αα αααα»αααααααΌαααααΆαααααααΆαα·αα’αΆα ααΆααααααα·αααΆαα αΌαααααΎααΆααα α’αααααΉαααααΌαααααααα ααΆααααααααααΆααααααααααΆααααΌαααααΆαααααΆαααααααΆααααααααααααΆαα
- ααα‘αΎα ααΆαααααααααααααααΌαααα»αααααα - αααΌαααααααααΎαα ααΎααααΈααααΎααΌα
αααα α’αααααααΌαααααα‘αΎα Prometheus αα
αααα»αα
ααααα α αΎααααααΆααααααααααααααΌαααααΆααα’αΆααααααΆαααααααΆαα
αααα»αα’αααα
prometheusEndpoint
αααααΆαα Helm α αααααΆααααΈααα - α’αα»αααααααα»αααααΆαααααααα ααΆαααααααα YAML αα αααα»αα ααααααααΆααααΈααααααα α’αααααΉαααααΌααααααα Ingress αααααααΆαα½αααΉαααΌαααααΆα-auth α ααΆα α»αααααα α’αααααΉαααααΌαααααααααααααααααΆααααΆααααααΌαααααααααααΌαααααα αΌα
extraScrapeConfigs
αα αααα»αααΆαααααααα ααΆαααααααα Prometheus:- 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 ααααΎα±ααααα α·ααααα»αααΆααα ααααα’ααααα) α’αααα αα αΆααααααΆαααααΎαα»α αα·αααΆαααααΎααααΆαααααΈααΈααΌαα·αααααΆααααααΌαααΆααααααααα ααααΌα ααΆαααΈααΈααΌαααααααΎαααααααΆααα ααααα (ααααΆαα±ααααααα½αααααΆααααΆα αααΎαα αΌααα αααα»ααα½α) ααΆα αααα»α αα·ααααΆαααΆααααααααΆα αααΎααααα
ααΌα
αα
ααΉααααα αΆαααααΎαααααα·αααααΆαααΆαα½αααα ααΆααααααΎαααααα·αααααΆαααααΆααααααα’ααααΎαα·αααααα Kubecost ααΆαααΆαα ααααΆααΆαααααααα»ααααααααα. α§ααΆα ααα Cluster Savings ααααΎα±αααα»αααααΆαα αααα’αα’αΆαααΆααΆααΆααα»ααααα·ααΆα ααα»αααααα·ααα·αααΈααααααΆαααααα§αααααααααΎαααΎαααααΆαα αα·αααααΆααααα‘αΆαααααααααΌαααΆαααΆαααααααΆαααΎαα½αααΆααααα·αααΆααα
ααΎααααΆααααααααααααα α αΎαααΆααΌαα
ααΌααααΈααα’ααααα·ααααααααα·ααααα
αααα»ααα½αααα
αααααα
αααααΆααααΈααααΎ kubecost α’αααααααααα½αααααΎαααααααα½αα ααα½α ααΎαα’αΆα ααααα·ααααΆαααΆαααααΊααΆα§ααααααα½αα±ααα αΆααα’αΆαααααααα½α (α αΎαααααΆααααα½αααα αα·αααα‘αΎαααααα) αααααΆααααΆααα·ααΆα αα·ααααααΎαααααα·αααααΆαααΆαα αααΆααααααΆααααααΆααααααααα’ααααααααααααΆααααααααααΎαααααΆααα ααααα Kubernetes α ααΆαααααΆααΆααααααα ααΆααααΉαααααΌαααΆααα αα αααα»αααΆααα·αααααααααααΎα αα½αααααΆαααααααααΆααΉαα’αααΈαααα’ααααααααααααΆαα·αααΆααααΌαααΆαα
ααΆααααΆααα»ααα·ααααα·αα½αα ααα½ααααααα ααΆαααα α»αααααα·αααααΆαα α αΎααα αααααααααααα»αααΆααα·ααααααααααααααααΌαααΆαααΆααααΆααα αααααααααααα½αα ααα½αα αααααΆαααΆαααΆααααα ααααα·αααΎα’αααααααΌααααα±ααααΆαααΆααααΆααΎααααΆααααΉααα ααΆ α αΎαα’αααΈαααα’αΆα ααααΌαααΆα "ααΆαα" ααΎααααΈααΆααααααααα·αααααααααααααΆααααααΆαααααααααα 5-30% (αααααΆα’αααΈαααααΆαααΎαα‘αΎααααα»αααααΈααααααΎα) αααααΊααΆαααααΎαααααα’α .
PS
ααΌαα’αΆαααααααα ααΎαααααααααααΎαα
- Β«
ααΆαααααΎααΆαααααααΆααααααααααααααααα· αα·αααΆααααααααααααααΆααα αααα»α Kubernetes (ααΆααα·αα·αααα‘αΎααα·α αα·ααααΆαααΆαααααΈααα’αΌ) Β» - Β«
ααααΎαααααααααα Kubernetes Dailymotionα αααααΎαα αααααΆαα ααΆαααααααααα αααα»αααα + ααα·ααα Β» - Β«
αααααΉα αα·ααααα·α Kubernetesα α’αααΈααΆααααα ααααααΆαα αα·αααΆααααα»ααααααα·ααΈααα ααααα "α
ααααα: www.habr.com