【腾讯云 Finops Crane 集训营】Crane应用实战

news2024/11/15 18:02:34

文章目录

  • 前言
  • 一、Crane是什么?
  • 二、Crane的特点
  • 三、Crane使用
    • 1、环境准备
    • 2、安装Crane
    • 3、访问dashboard
    • 4、页面展示
    • 5、功能应用
  • 四、Crane的优势
  • 总结


前言

FinOps(Financial Operations)是一种管理云计算成本的方法,它强调将云计算资源的成本与使用情况及业务需求相匹配,从而提高企业的效率和效益。在当前云计算环境下,FinOps已经成为了越来越多企业的管理方法。本文将会介绍Crane这个云计算成本管理工具,并详细介绍如何在实际应用中使用Crane进行云计算资源成本管理。
在这里插入图片描述


一、Crane是什么?

Crane是一个开源的云计算成本管理工具,它可以帮助企业在使用云计算资源时更好地管理成本。Crane可以帮助企业在云计算环境中实现资源成本的透明化管理,从而更好地控制成本,提高效益。Crane可以通过API将云计算资源的使用情况与成本进行关联,并提供实时的成本分析和预测功能。

在这里插入图片描述

Crane的出现可以解决K8S原生能力的不足:

  • 资源配置浪费
    基于经验的资源配置不准导致大量浪费
  • 弹性不及时
    基于阈值的弹性的滞后性导致业务来不及弹
  • 业务稳定性
    CPU是可压缩资源,CPU承压时,所有Pod等比受损,独占式绑核能力造成较大资源浪费

二、Crane的特点

在这里插入图片描述

  • 成本透明化
    Crane可以帮助企业在云计算环境中实现资源成本的透明化管理。它可以帮助企业实时监控云计算资源的使用情况,并将其与成本进行关联,提供实时的成本分析和预测功能。这样,企业就可以更好地控制成本,提高效益。
  • 基于预测的水平弹性器
    EffectiveHorizontalPodAutoscaler 支持了预测驱动的弹性。它基于社区 HPA 做底层的弹性控制,支持更丰富的弹性触发策略(预测,观测,周期),让弹性更加高效,并保障了服务的质量。
  • 推荐框架
    提供了一个可扩展的推荐框架以支持多种云资源的分析,内置了多种推荐器:资源推荐,副本推荐,HPA 推荐,闲置资源推荐。
  • 负载感知的调度器
    动态调度器根据实际的节点利用率构建了一个简单但高效的模型,并过滤掉那些负载高的节点来平衡集群。
  • 拓扑感知的调度器
    Crane Scheduler与Crane Agent配合工作,支持更为精细化的资源拓扑感知调度和多种绑核策略,可解决复杂场景下“吵闹的邻居问题",使得资源得到更合理高效的利用。
  • 基于 QOS 的混部
    QOS相关能力保证了运行在 Kubernetes 上的 Pod 的稳定性。具有多维指标条件下的干扰检测和主动回避能力,支持精确操作和自定义指标接入;具有预测算法增强的弹性资源超卖能力,复用和限制集群内的空闲资源;具备增强的旁路cpuset管理能力,在绑核的同时提升资源利用效率。
  • 易于使用
    Crane非常易于使用。它可以与各种云计算平台集成,并提供简单易懂的用户界面,使用户可以轻松地使用它来管理云计算资源的成本。
  • 开源
    Crane是一个开源的工具,它可以帮助企业在使用云计算资源时更好地管理成本。Crane的开源性质使得企业可以自由地使用它,并根据自己的需求进行二次开发。

三、Crane使用

1、环境准备

  • 安装 kubectl
    请参考官方文档依据你的本地环境系统参考对应的文档安装 kubectl:https://kubernetes.io/zh-cn/docs/tasks/tools/

  • 安装 Helm
    请参考官方文档依据你的本地环境系统参考对应的文档安装 Helm:https://helm.sh/zh/docs/intro/install/

  • 安装 kind
    请参考官方文档依据你的本地环境系统参考对应的文档安装 kind:https://kind.sigs.k8s.io/docs/user/quick-start/#installation

  • 安装 Docker
    请参考官方文档依据你的本地环境系统参考对应的文档安装 docker:https://docs.docker.com/get-docker/

2、安装Crane

以下命令将安装 Crane 以及其依赖 (Prometheus/Grafana)

curl -sf https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh | sh -

如果上面安装命令报网络错误,可以下载本地的安装包执行安装,在命令行中执行以下安装命令:

bash installation/local-env-setup.sh

增加环境变量

export KUBECONFIG=${HOME}/.kube/config_crane

验证安装完成,服务都为running即可
在这里插入图片描述

3、访问dashboard

增加端口映射后,访问127.0.0.1:9090即可

kubectl -n crane-system port-forward service/craned 9090:9090

4、页面展示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、功能应用

智能弹性 EffectiveHPA
Kubernetes HPA 支持了丰富的弹性扩展能力,Kubernetes 平台开发者部署服务实现自定义 Metric 的服务,Kubernetes 用户配置多项内置的资源指标或者自定义 Metric 指标实现自定义水平弹性。

EffectiveHorizontalPodAutoscaler(简称 EHPA)是 Crane 提供的弹性伸缩产品,它基于社区 HPA 做底层的弹性控制,支持更丰富的弹性触发策略(预测,观测,周期),让弹性更加高效,并保障了服务的质量。

  • 提前扩容,保证服务质量:通过算法预测未来的流量洪峰提前扩容,避免扩容不及时导致的雪崩和服务稳定性故障。
  • 减少无效缩容:通过预测未来可减少不必要的缩容,稳定工作负载的资源使用率,消除突刺误判。
  • 支持 Cron 配置:支持 Cron-based 弹性配置,应对大促等异常流量洪峰。
  • 兼容社区:使用社区 HPA 作为弹性控制的执行层,能力完全兼容社区。

测试验证
安装 Metrics Server:

kubectl apply -f installation/components.yaml

启动一个 Deployment 用 hpa-example 镜像运行一个容器, 然后将其暴露为一个 服务(Service)

kubectl apply -f https://raw.githubusercontent.com/gocrane/crane/main/examples/autoscaling/php-apache.yaml
kubectl apply -f https://raw.githubusercontent.com/gocrane/crane/main/examples/analytics/nginx-deployment.yaml

创建 EffectiveHPA

kubectl apply -f https://raw.githubusercontent.com/gocrane/crane/main/examples/autoscaling/effective-hpa.yaml

增加负载:

kubectl run -i --tty load-generator --rm --image=busybox:1.28 --restart=Never -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://php-apache; done"

在这里插入图片描述
观察负载情况:

kubectl get hpa ehpa-php-apache --watch

在这里插入图片描述
随着请求增多,CPU利用率会不断提升,可以看到 EffectiveHPA 会自动扩容实例。

推荐规则
推荐框架会自动分析集群的各种资源的运行情况并给出优化建议。Crane 的推荐模块会定期检测发现集群资源配置的问题,并给出优化建议。智能推荐提供了多种 Recommender 来实现面向不同资源的优化推荐。

推荐规则查看:

kubectl get RecommendationRule

在这里插入图片描述
workloads-rule 这个推荐规则的资源对象如下所示:

  • 每隔 24 小时运行一次分析推荐,runInterval 格式为时间间隔,比如: 1h,1m,设置为空表示只运行一次。
  • 待分析的资源通过配置 resourceSelectors 数组设置,每个 resourceSelector 通过 kind、apiVersion、name 选择 K8s 中的资源,当不指定 name 时表示在 namespaceSelector 基础上的所有资源。
  • namespaceSelector 定义了待分析资源的命名空间,any: true 表示选择所有命名空间。
  • recommenders 定义了待分析的资源需要通过哪些 Recommender 进行分析。目前支持两种 Recommender:
    • 资源推荐(Resource): 通过 VPA 算法分析应用的真实用量推荐更合适的资源配置
    • 副本数推荐(Replicas): 通过 HPA 算法分析应用的真实用量推荐更合适的副本数量

四、Crane的优势

  • 1、实时监控成本
    Crane可以帮助企业实时监控云计算资源的使用情况,并将其与成本进行关联,提供实时的成本分析和预测功能。这样,企业就可以更好地控制成本,提高效益。
  • 2、优化资源利用率
    Crane可以帮助企业优化云计算资源的利用率。它可以帮助企业发现不必要的资源浪费,并提供优化建议,使企业可以更好地利用云计算资源,提高资源利用效率。
  • 3、提高决策效率
    Crane可以帮助企业更好地了解云计算资源的成本和使用情况。这样,企业就可以更好地做出决策,以满足业务需求,并在成本和效益之间取得平衡。
  • 4、智能预测
    Crane可以帮助企业完成流量智能预测,进行自动扩缩容,应对大促节假日等有规律的流量洪峰。

总结

经过一段时间的试用,说一下我对Finops Crane的个人看法。

首先从安装部署到落地实践测试的过程中,没有遇到什么疑难杂症,易用性非常好,无论是初学者还是专业人士,都可以很容易地上手使用。这使得Finops Crane在使用过程中非常方便,能够帮助用户更快地完成任务。

其次在UI页面的视觉上,清爽度很高、简约而又不简单,配置与管理上也很便捷,可以快速地进行参数设置和管理,包括一键带入、生成命令等功能。

再者在功能的体验上,确实很强大,包括成本的计算、弹性伸缩的预判、资源推荐等等让人眼前一亮,这使得公司很容易计算K8S的整体成本并减少资源的浪费。

最后有两个建议希望后续能够加强:

  • 加强用户社区的建设、加强品牌营销与推广。
    由于Finops Crane产品是一款新兴的产品,社区支持相对较弱。用户在使用过程中可能会遇到一些问题和困难,需要自己进行摸索和解决,可能会带来一些不便和障碍。
  • 加强产品的创新与技术研发,持续优化产品性能和用户体验。
    例如提升推荐命令的精准性、推荐页面异常情况等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/506525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用PyTorch构建神经网络,并使用thop计算参数和FLOPs

文章目录 使用PyTorch构建神经网络,并使用thop计算参数和FLOPsFLOPs和FLOPS区别使用PyTorch搭建神经网络整体代码1. 导入必要的库2. 定义神经网络模型3. 打印网络结构4. 计算网络FLOPs和参数数量5. 结果如下手动计算params手动计算FLOPs注意 使用PyTorch构建神经网络…

车联网强势发展下,有什么隐患?

通过新一代信息通信技术,车联网实现了汽车与云平台,车辆和汽车,道路,汽车和人以及内部的全方位网络链接。车联网使用传感器技术感知车辆的状态信息,并利用无线通信网络和现代智能信息处理技术的帮助实现交通智能化管理…

FPGA入门系列10--按键消抖

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…

Redis高可用系列——Set类型底层详解

文章目录 概述intsetintset 和 hashtable 的转换为什么加入了listpackhashtable 的空间开销高hashtable 的碰撞概率高intset 、listpack和hashtable的转换 概述 在讲解set结构之前,需要先说明一下set结构编码的更替,如下 在Redis7.2之前,se…

Ansys Lumerical | CMOS - 光学仿真方法

通过使用更小的像素尺寸和更大的填充因子,基于CMOS图像传感器像素的数码相机系统的成本正在降低。但是,只有在不牺牲图像质量的情况下,CMOS像素尺寸减小才是可以接受的。随着CMOS像素尺寸的不断减小,图像信噪比降低,相…

《我命由我不由天》蔡志忠——笔记一

目录 简介 经典摘录 三岁决定一生 父母该什么时候放手 确定将来要成为什么 积极主动为目标而努力 叛逆是最伟大的创意 父亲给蔡志忠最大的影响是教会他两件事 价值观缺陷导致的后果 人有三个阶段 简介 作者 蔡志忠,李虹。 蔡志忠:漫画家、哲…

力扣-1769. 移动所有球到每个盒子所需的最小操作数

题目: 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的,而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中,你可以将 一个 小球从某个盒子移动到一个与…

搜索引擎优化SEO和SEM有什么不一样

SEO(搜索引擎优化)和SEM(搜索引擎营销)都是用于提高网站在搜索引擎中的排名和能见度的技术。虽然它们的目标是相同的,但它们的方法和重点略有不同,今天和大家聊聊SEO和SEM有什么不同。 一、SEO SEO是指通…

红帽8配置yum源

使用传输工具 上传文件到/etc/yum.repos.d/ 或 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo 注:不能下载wget直接上传文件 关闭订阅插件提示 [redhatroot ~]$ vi /etc/yum.conf #添加 plugins0 [redhatroot ~]$ …

docker+jenkins自动化部署springboot项目

前置:环境配置 阿里云服务器1核2GBjava 1.8.0._371maven apache-maven3.8.8git 1.8.3.1 docker和jenkins在一台服务器上,环境的配置,对于java和maven可以自己下载对应tar包进行配置,记得配置环境,也可以使用yum进行安装。记得配置…

FS5175AE降压型1-4节锂电池充电芯片

FS5175AE是一款工作于5V到24V的多串锂电池同步开关降压充电管理芯片。内置MOS管集成了低导通阻抗的NMOS,FS5175AE采用1MHz同步开关架构,实现高 效率充电并简化外围器件,降低BOM成本。通过调节检测电阻,可实现**2A充电电流&#xf…

【Java校招面试】基础知识(八)——Linux服务器

目录 前言一、基础概念二、常用命令后记 前言 本篇主要介绍Linux服务器的相关内容。 “基础知识”是本专栏的第一个部分,本篇博文是第八篇博文,如有需要,可: 点击这里,返回本专栏的索引文章点击这里,返回…

仿抖音开发需要注意的问题

一、版权问题 仿抖音开发需要注意版权问题,包括内容的版权和软件的版权。在开发的过程中,不要直接抄袭他人的作品,应该注重保护知识产权。 二、安全性问题 仿抖音开发需要重视应用的安全性问题,避免应用在使用过程中发生安全漏…

OpenCv 图像的算数运算

1. 图像加法 函数 cv.add(img1, img2) 参数中的img1 和 img2 应该是相同的深度和类型, 或者第二个图像可以是像素值 代码示例: >>> x np.uint8([250]) >>> y np.uint8([10])>>> print(cv.add(x,y)) #250 10 260 > 255 [[255]]&g…

Winform控件数据绑定 DataBindings

目录 引言 绑定的方式 双向绑定 验证时更改数据源 立即更改数据源 单向绑定 绑定方法 属性界面选择绑定 通过代码手动绑定 绑定自定义数据类型 引言 DataBindings 的出现显然是为了解决后台数据与前端界面的同步问题,通过绑定控件属性与对象属性,解决…

Spring Cloud整合XXL-Job

目录 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 重点&#xff1a; 第一步&#xff1a; 整合pom文件&#xff0c;在Spring Cloud中添加XXL-Job的依赖 <!-- xxl-job-core --> <dependency><groupId>com.xuxueli<…

工业设备安装可视化AR互动培训降低企业成本

随着污水处理厂构筑物、设备、管阀及电器、仪表、自控等工艺设施逐步大型化、复杂化、多样化,污水厂日常运行安全检查尤为重要。通过对不同污水处理工艺运行厂家实际调研分析&#xff0c;发现开发污水厂AR远程可视化巡检系统是很多厂家的实际需求。 AR远程可视化巡检系统也被称…

JAVA—— Steam流

一、 引言 初识Stream流的作用&#xff1a; 需求&#xff1a;按照下面的要求完成集合的创建和遍历&#xff0c;创建一个集合&#xff0c;存储多个字符串元素 通过下面代码&#xff0c;显然我们清晰的看到使用Stream流更为方便&#xff0c;而使用不同的集合遍历就有些复杂。 i…

【CMIP6月、日数据】【ERA5-LAND陆面再分析数据】【全球VIPPHEN物候数据】

国际耦合模式比较计划进入新的阶段——第六阶段&#xff08;CMIP6&#xff09;&#xff0c;这将为气候变化研究领域提供更丰富的全球气候模式数据。相比于 CMIP5&#xff0c;CMIP6 模式有两个主要的特点&#xff1a;一是 CMIP6 考虑的过程更为复杂&#xff0c;很多模式实现了大…

js - typeof与instanceof类型判断的区别

1&#xff0c;typeof 描述&#xff1a;运算符返回一个字符串&#xff0c;表示操作数的类型。 常用的类型判断 console.log(typeof 42); // numberconsole.log(typeof "blubber"); // stringconsole.log(typeof true); // booleanconsole.log(…