本文主要是介绍【腾讯云 Finops Crane 集训营】 了解高质量和降本平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 什么是Finops Crane?
FinOps Crane 是一个腾讯云主导的 开源的工具,用于自动化云资源管理和成本优化。它可以帮助团队更好地管理云资源,避免浪费和不必要的支出。FinOps Crane 可以与多个云服务提供商集成,并提供一系列功能,例如自动化资源调整、成本分析和警报、资源标记和归档等。旨在为用户提供便捷、高效、安全的数字资产管理和交易服务。Finops Crane 提供了一系列功能,包括数字资产交易、数字资产管理、数字资产托管等服务,同时还提供了多种数字货币的交易对,满足了用户的多样化需求。
核心概念
应用资源优化模型
资源优化是 FinOps 中常见的优化手段,基于 Kubernetes 应用的特点总结出云原生应用的资源优化模型:
时间序列预测算法-DSP
时间序列预测是指使用过去的时间序列数据来预测未来的值。时间序列数据通常包括时间和相应的数值,例如资源用量、股票价格或气温。时间序列预测算法 DSP(Digital Signal Processing)是一种数字信号处理技术,可以用于分析和处理时间序列数据。
离散傅里叶变换(DFT)就是DSP领域常用的一种算法。DFT是一种将时域信号转换为频域信号的技术。通过将时域信号分解成不同的频率成分,可以更好地理解和分析信号的特征和结构。在时间序列预测中,DFT可以用于分析和预测信号的周期性和趋势性,从而提高预测的准确性。
Crane使用在数字信号处理(Digital Signal Processing)领域中常用的的离散傅里叶变换、自相关函数等手段,识别、预测周期性的时间序列。
系统架构
Craned
Craned 是 Crane 的最核心组件,它管理了 CRDs 的生命周期以及API。Craned 通过 Deployment 方式部署且由两个容器组成:
- Craned: 运行了 Operators 用来管理 CRDs,向 Dashboard 提供了 WebApi,Predictors 提供了 TimeSeries API
- Dashboard: 基于 TDesign’s Starter 脚手架研发的前端项目,提供了易于上手的产品功能
Fadvisor
Fadvisor 提供一组 Exporter 计算集群云资源的计费和账单数据并存储到你的监控系统,比如 Prometheus。Fadvisor 通过 Cloud Provider 支持了多云计费的 API。
Metric Adapter
Metric Adapter 实现了一个 Custom Metric Apiserver. Metric Adapter 读取 CRDs 信息并提供基于 Custom/External Metric API 的 HPA Metric 的数据。
Crane Agent
Crane Agent 通过 DaemonSet 部署在集群的节点上。
快速开始
部署环境要求
- kubectl
- Kubernetes 1.18+
- Helm 3.1.0
- Kind 0.16+
安装
以下命令将安装 Crane 以及其依赖 (Prometheus/Grafana).
curl -sf https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh | sh -
确保所有 Pod 都正常运行:
$ export KUBECONFIG=${HOME}/.kube/config_crane $ kubectl get deploy -n crane-system NAME READY STATUS RESTARTS AGE crane-agent-5r9l2 1/1 Running 0 4m40s craned-6dcc5c569f-vnfsf 2/2 Running 0 4m41s fadvisor-5b685f4cd6-xpxzq 1/1 Running 0 4m37s grafana-64656f6d54-6l24j 1/1 Running 0 4m46s metric-adapter-967c6d57f-swhfv 1/1 Running 0 4m41s prometheus-kube-state-metrics-7f9d78cffc-p8l7c 1/1 Running 0 4m46s prometheus-node-exporter-4wk8b 1/1 Running 0 4m40s prometheus-server-fb944f4b7-4qqlv 2/2 Running 0 4m46s
访问 Crane Dashboard
kubectl -n crane-system port-forward service/craned 9090:9090
安装命令行工具
安装 kubectl-crane
你可以通过以下任意方式来安装 kubectl-crane 命令行工具
- 一键安装.
- 使用 krew 安装.
- 通过源码构建.
前提条件
- kubectl:
kubectl 是 Kubernetes 命令行工具,可让您控制 Kubernetes 集群
一键安装
Linux
export release=v0.2.0 export arch=x86_64 curl -L -o kubectl-crane.tar.gz https://github.com/gocrane/kubectl-crane/releases/download/${release}/kubectl-crane_${release}_Linux_${arch}.tar.gz tar -xvf kubectl-crane.tar.gz cp kubectl-crane_${release}_Linux_${arch}/kubectl-crane /usr/local/bin/
Mac
export release=v0.2.0 export arch=arm64 curl -L -o kubectl-crane.tar.gz https://github.com/gocrane/kubectl-crane/releases/download/${release}/kubectl-crane_${release}_Darwin_${arch}.tar.gz tar -xvf kubectl-crane.tar.gz cp kubectl-crane_${release}_Darwin_${arch}/kubectl-crane /usr/local/bin/
使用 krew 安装
Krew 是 kubectl 命令行工具的插件管理器。
在你的机器上安装和设置 Krew。
然后安装 kubectl-crane 插件:
kubectl krew install crane
通过源码构建
git clone https://github.com/gocrane/kubectl-crane.git cd kubectl-crane export CGO_ENABLED=0 go mod vendor go build -o kubectl-crane ./cmd/
然后将项目根目录下的 kubectl-crane 可执行文件移动到 PATH 路径下。
2. Finops Crane 的特点
- 开源:FinOps Crane 是一个开源项目,可以免费使用和定制。
- 多云支持:FinOps Crane 可以与多个云服务提供商集成,包括 AWS、Azure 和 Google Cloud。
- 自动化资源管理:FinOps Crane 可以自动化资源调整、标记和归档,帮助团队更好地管理云资源。
- 成本优化:FinOps Crane 提供成本分析和警报功能,帮助团队识别和避免不必要的支出。
- 可扩展性:FinOps Crane 可以根据团队的需求进行定制和扩展,以满足不同的业务场景。
3. Finops Crane 的优缺点
3.1 优点
- 自动化资源管理:FinOps Crane 可以自动化管理云资源,包括调整、标记和归档,减少了手动管理的工作量。
- 成本优化:FinOps Crane 提供成本分析和警报功能,帮助团队识别和避免不必要的支出。
- 多云支持:FinOps Crane 可以与多个云服务提供商集成,适用于多云环境的业务场景。
- 开源:FinOps Crane 是一个开源项目,可以免费使用和定制。
3.2 缺点
- 学习成本:使用 FinOps Crane 需要一定的学习成本,特别是对于没有使用过类似工具的团队。
- 集成复杂性:与多个云服务提供商集成可能需要一些复杂的配置和管理。
- 可能需要额外的资源:为了运行 FinOps Crane,可能需要额外的资源来支持其运行,例如计算和存储资源。
4. 总结
Finops Crane 提供的成本模型可以很好地对集群资源进行成本分析,并且可以基于分析结果提供合理的推荐规则。通过数据可视化,可以清晰地看到成本下降的趋势,非常直观。更可贵的该工具是开源免费的,希望更多的开发者能加入该项目和社区中,为开源事业添砖加瓦,也希望Finops Crane 在后面能增添更加牛x的功能,祝愿Finops Crane 能发展的越来越号
关于腾讯云 Finops Crane 集训营:
Finops Crane集训营主要面向广大开发者,旨在提升开发者在容器部署、K8s层面的动手实践能力,同时吸纳Crane开源项目贡献者,鼓励开发者提交issue、bug反馈等,并搭载线上直播、动手实验组队、有奖征文等系列技术活动。既能让开发者通过活动对 Finops Crane 开源项目有深入了解,同时也能帮助广大开发者在云原生技能上有实质性收获。
为奖励开发者,我们特别设立了积分获取任务和对应的积分兑换礼品。
活动介绍送门:https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78
开源项目: https://github.com/gocrane/crane
这篇关于【腾讯云 Finops Crane 集训营】 了解高质量和降本平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!