https://github.com/gocrane/crane

代码仓库https://github.com/gocrane/crane
官网https://docs.gocrane.io/
推荐阅读《腾讯推出国内首个云原生成本优化开源项目 Crane》https://mp.weixin.qq.com/s/rlTRb1EGig_XV5Yd-Bmvfw
《Crane-scheduler:基于真实负载进行调度》
https://mp.weixin.qq.com/s/s0usEAA3pFemER97HS5G-Q
《Effective HPA:预测未来的弹性伸缩产品》
https://mp.weixin.qq.com/s/mUO8sPwXjF8c6pLPrQ6mew
任务 Issues
https://github.com/gocrane/crane/issues
社区技术交流会议题和纪要
https://doc.weixin.qq.com/doc/w3_AHMAlwa_AFU7PT58rVhTFKXV0maR6?scode=AJEAIQdfAAo0gvbrCIAHMAlwa_AFU
社区会议回放
https://www.wolai.com/33xC4HB1JXCCH1x8umfioS

Crane is composed of the following components:

  • craned - main crane control plane.
    • Predictor - Predicts resources metrics trends based on historical data.
    • AnalyticsController - Analyzes resources and generate related recommendations.
    • RecommendationController - Recommend Pod resource requests and autoscaler.
    • ClusterNodePredictionController - Create Predictor for nodes.
    • EffectiveHPAController - Effective HPA for horizontal scaling.
    • EffectiveVPAController - Effective VPA for vertical scaling.
  • metric-adaptor - Metric server for driving the scaling.
  • crane-agent - Ensure critical workloads SLO based on abnormally detection.
  • gocrane/api - This repository defines component-level APIs for the Crane platform.
  • gocrane/fadvisor - Financial advisor which collect resource prices from cloud API.
  • gocrane/crane-scheduler - A Kubernetes scheduler which can schedule pod based on actual node load.

install prometheus components: prometheus-server, node-exporter, kube-state-metrics

  1. helm repo add prometheus-community https://finops-helm.pkg.coding.net/gocrane/prometheus-community
  2. helm install prometheus -n crane-system \
  3. --set pushgateway.enabled=false \
  4. --set alertmanager.enabled=false \
  5. --set server.persistentVolume.enabled=false \
  6. -f https://finops.coding.net/p/gocrane/d/helm-charts/git/raw/main/integration/prometheus/override_values.yaml?download=false \
  7. --create-namespace prometheus-community/prometheus

install grafana

helm repo add grafana https://finops-helm.pkg.coding.net/gocrane/grafana
helm install grafana \
             -f https://finops.coding.net/p/gocrane/d/helm-charts/git/raw/main/integration/grafana/override_values.yaml?download=false \
             -n crane-system \
             --create-namespace grafana/grafana

Crane and Fadvisor

helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace crane/crane
helm install fadvisor -n crane-system --create-namespace crane/fadvisor

Crane-scheduler(optional)

helm install scheduler -n crane-system --create-namespace crane/scheduler

image.png

image.png

image.png

image.png

image.png