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
helm repo add prometheus-community https://finops-helm.pkg.coding.net/gocrane/prometheus-community
helm install prometheus -n crane-system \
--set pushgateway.enabled=false \
--set alertmanager.enabled=false \
--set server.persistentVolume.enabled=false \
-f https://finops.coding.net/p/gocrane/d/helm-charts/git/raw/main/integration/prometheus/override_values.yaml?download=false \
--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