【勝讯云 Finops Crane 集训营】之集群优化实战

这篇具有很好参考价值的文章主要介绍了【勝讯云 Finops Crane 集训营】之集群优化实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

重要通知

由腾讯云联合 CSDN 推出的“腾讯云 Finops Crane 开发者集训营”活动,主要面向广大开发者,旨在通过线上直播、组织动手实验、有奖征文,开源项目贡献者招募这一系列技术实践活动中既能通过活动对 Finops Crane 开源项目有一个深入的]解,同时也能帮助广大开发者在云原生技能上有实质性收获,而且还有好多精美礼品哦!!! 还等什么跟我一起来体验一下吧!!!(全程免费哦!!)

项目开源地址

如果朋友们对开源有兴趣,或对产品感兴趣可以点击链接进入gitlab 查看哦! 不要忘记你的Star 和收藏哟!!!

当前提交的pr 以及 issue

对于开源项目本人还是比较感兴趣的, 目前本人页提交了几个issue 以及pr , 欢迎志同道合的朋友一起来解决呀!!!
【勝讯云 Finops Crane 集训营】之集群优化实战
【勝讯云 Finops Crane 集训营】之集群优化实战

介绍

Crane 是由腾讯云主导开源的国内第一个基于云原生技术的成本优化项目,遵循 FinOps 标准,已经获得FinOps基金会授予的全球首个认证降本增效开源方案。它为使用 Kubernetes 集群的企业提供了一种简单、可靠且强大的自动化部署工具。
Crane 的设计初衷是为了帮助企业更好地管理和扩展其 Kubernetes 集群,从而实现更高效的云原生应用管理。
它易于使用、高度可定制和可扩展。它提供了一组简单易用的命令行工具,使得开发者和管理员都能轻松地将应用程序部署到 Kubernetes 集群中。Crane 还支持多种云平台,并且可以根据具体的业务需求进行定制。
Crane 并已经被腾讯、网易、思必驰、酷家乐、明源云、数数科技等公司部署在生产系统,其主要贡献者来自腾讯、小红书、谷歌、eBay、微软、特斯拉等知名公司。

Crane中的成本优化

如今,随着云计算技术的不断成熟和普及,越来越多的企业选择将应用和服务部署到云端,以实现更高的灵活性、可扩展性和效率。然而,云计算也带来了新的挑战,其中最重要的一点是成本管理。因为云计算所涉及的成本非常复杂且变化万千,要想真正掌握好云计算成本就需要使用专门的工具和方法。
勝讯云 Finops Crane 就是一个专门面向云计算领域的 FinOps 解决方案。该解决方案提供了一系列功能和工具,让企业能够更好地管理云端资源,实现成本优化和ROI最大化。具体来说,Finops Crane 的主要优势包括以下几个方面:
首先,Finops Crane 提供了全方位的成本展示,能够针对 Kubernetes 资源进行多维度聚合并展示,从而帮助企业更好地了解云计算成本的情况。
其次,Finops Crane 提供了周期性的成本分析功能,可以定期分析集群资源的状态,并给出优化建议,帮助企业更好地控制和优化云计算成本。
第三,Finops Crane 提供了丰富的优化工具,可以帮助企业更新配置以达到降本的目标。这些工具细致而实用,能够有效地解决云计算成本管理时的各种挑战和问题。

综上所述,勝讯云 Finops Crane 是一套非常优秀的云计算 FinOps 解决方案,适用于不同规模的企业。该解决方案提供了全面的功能和工具,可以帮助企业有效地管理云端资源,降低成本,提高效率和服务质量。

Crane主要特征

​​【勝讯云 Finops Crane 集训营】之集群优化实战

随着云计算的快速发展,越来越多的企业选择将应用和服务部署到云端,以实现更高的灵活性、可扩展性和效率。然而,云计算也带来了新的挑战,其中最重要的一点是成本管理。因为云计算所涉及的成本非常复杂且变化万千,要想真正掌握好云计算成本就需要使用专门的工具和方法。
在这个背景下,勝讯云提供了一套非常优秀的云计算 FinOps 解决方案——Finops Crane。该解决方案不仅提供了全面的功能和工具,帮助企业有效地管理云端资源,降低成本,并提高效率和服务质量,还包括以下几个核心模块:
首先是成本可视化和优化评估。该模块可以实现云资源计费和账单数据的多维度成本分析,并利用 Prometheus 监控系统存储,在多云环境下支持不同云服务商的计费优化评估。这样,企业可以清晰地了解云计算成本的情况,快速优化成本,节约开支。
其次是推荐框架。Finops Crane 的推荐框架支持多种云资源的分析,并包含多种推荐器,如资源、副本、HPA及闲置资源推荐等,且具备可扩展性。这样企业可以根据推荐框架的指引进行配置优化,有效地提高云端资源的利用率和工作效率。
第三是基于预测的水平弹性器。在社区 HPA 的基础上,EffectiveHorizontalPodAutoscaler 支持预测、观测和周期等更多的弹性触发策略,以实现基于预测的弹性控制,提升弹性效率并保障服务质量。这一功能,充分考虑了不同时段下应用的使用情况和数据量变化,实现了更加高效和精准的弹性控制。
第四是负载感知的调度器。动态调度器根据节点的实际利用率构建了一个简单而高效的模型,并在平衡集群时过滤掉负载高的节点。这样可以有效地解决了在云计算环境中出现的负载不均衡问题,提高了资源利用率和工作效率。
第五是拓扑感知的调度器。Scheduler 和 Crane Agent 的协同作业,可以实现更加细致的资源拓扑感知调度和多种 CPU 绑定策略,解决复杂场景下“吵闹的邻居问题”,提高资源利用效率。这一功能可以让企业在高并发的场景下更好地管理和控制资源,提高了应用性能和稳定性。
最后是基于 QOS 的混部。在 Kubernetes 上运行的 Pod 的稳定性得到了 QOS 相关能力的保证。QOS 具有多维指标条件下的干扰检测和主动回避能力,并支持精确操作和自定义指标接入;此外,QOS 采用预测算法增强了弹性资源超卖能力,对集群内闲置资源进行复用和限制;同时,QOS 还具备增强的旁路cpuset管理能力,可以在绑核的同时提高资源利用效率。这一功能可以有效地提高 Kubernetes 集群的性能和可用性。
综上所述,勝讯云 Finops Crane 是一套非常优秀的云计算 FinOps 解决方案。该解决方案不仅提供了全面的功能和工具,帮助企业有效地管理云端资源,降低成本,并提高效率和服务质量,还能够满足不同规模企业的需求。我相信在未来,Finops Crane 还会继续推出更加创新和实用的功能和工具,满足不断变化的云计算市场需求。

Crane架构设计

Crane 的整体架构如下:

【勝讯云 Finops Crane 集训营】之集群优化实战

Craned

Craned 是 Crane 的最核心组件,它管理了 CRDs 的生命周期以及API。Craned 通 过 Deployment 方式部署且由两个容器组成:

  1. Craned: 运行了 Operators 用来管理 CRDs,向 Dashboard 提供了 WebApi,Predictors 提供了 TimeSeries API
  2. 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 部署在集群的节点上。

架构感知

上述四个技术方案都是针对在 Kubernetes 集群中的不同需求而设计的。Craned 是 Crane 的核心组件,用于管理 CRDs 的生命周期和 API,提供了 Operators、WebApi 和 TimeSeries API 等功能;Dashboard 则是基于 TDesign’s Starter 脚手架研发的前端项目,提供易于上手的产品功能。Fadvisor 提供了一组 Exporter,可计算集群云资源的计费和账单数据,并将其存储到监控系统(如 Prometheus)中,支持多云计费的 API。Metric Adapter 则实现了一个 Custom Metric Apiserver,通过读取 CRDs 信息,提供基于 Custom/External Metric API 的 HPA Metric 数据。最后,Crane Agent 通过 DaemonSet 部署在 Kubernetes 集群的节点上,用于实现节点级别的监控和管理。这些技术方案的运用可以帮助企业在 Kubernetes 集群中提升资源利用效率、监控集群状态并进行合理的资源分配,保障服务质量,提高集群运行效率。

实操

环境安装

注意事项:本人电脑系统为: MacBook Pro M2 不同电脑安装时可能会有差别

  1. 安装 Docker
    我直接安装的是desktop application 打开链接就是
  2. 安装 kubectl
    这一步的安装可以直接在docker 中直接打开 Kubernetes 就可以, 打开的过程中就下载好了
  3. 安装 Helm
    直接 终端运行 brew install helm 就可以下载完成后输入helm search repo bitnami 看看有没有一个表头出现,有的话就对了 , 我忘记截图了
  4. 安装 kind
    同样终端运行 brew install kind 下载完成后 输入 kind create cluster --help 看下有没有对应的指令 就可以了, 同样忘记截图了

到此前期的准备工作算是完成了

本地安装 Crane

安装本地的 Kind 集群和 Crane 组件

  1. 新建一个文件夹,打开文件夹的终端通过 curl -sf https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh | sh - 安装 Crane 以及其依赖 (Prometheus/Grafana)[可能要使用一下魔法]
  2. 上面的命令执行完成之后 ,执行 下面两个命令
    2.1 export KUBECONFIG=${HOME}/.kube/config_crane
    2.2 kubectl get deploy -n crane-system

注意:一定要确保所有 Pod 都正常运行: Pod 的启动需要一定的时间等几分钟后输入命令查看后集群状态是否都 Running (我已经等了10min了 状态如图)

【勝讯云 Finops Crane 集训营】之集群优化实战
出现了一个 ImagePullBackOff 错误 , 不过等了一会再次运行就成功了!!
【勝讯云 Finops Crane 集训营】之集群优化实战

补充一下Pod状态解释

CrashLoopBackOff 容器退出,kubelet正在将它重启
InvalidImageName 无法解析镜像名称
ImageInspectError 无法校验镜像
ErrImageNeverPul 策略禁止拉取镜像
ImagePullBackOff 正在重试拉取
RegistryUnavailable 连接不到镜像中心
ErrImagePull 通用的拉取镜像出错
CreateContainerConfigError 不能创建kubelet使用的容器配置
CreateContainerError 创建容器失败
m.internalLifecycle.PreStartContainer 执行hook报错
RunContainerError 启动容器失败
PostStartHookError 执行hook报错
ContainersNotInitialized 容器没有初始化完毕
ContainersNotReady 容器没有准备完毕
ContainerCreating 容器创建中
PodInitializing pod 初始化中
DockerDaemonNotReady docker还没有完全启动
NetworkPluginNotReady 网络插件还没有完全启动
Evicted 即驱赶的意思,意思是当节点出现异常时,kubernetes将有相应的机制驱赶该节点上的Pod。 多见于资源不足时导致的驱赶。

访问 Crane Dashboard

在终端输入指令kubectl -n crane-system port-forward service/craned 9090:9090 浏览器访问地址 http://localhost:9090/ 就可以了
【勝讯云 Finops Crane 集训营】之集群优化实战

注意:后续的终端操作新窗口操作,每一个新窗口操作前请把配置环境变量加上 export KUBECONFIG=${HOME}/.kube/config_crane

添加本地集群

如图所示:浏览器访问Crane Dashboard 后, 进行如下操作
设置 => 添加集群 => 集群名称 => CRANE URL(当前Crane的地址就可以) => 快速填入页面地址作为集群地址 => 确认

【勝讯云 Finops Crane 集训营】之集群优化实战

使用 EffectiveHPA

Kubernetes HPA 支持了丰富的弹性扩展能力,Kubernetes 平台开发者部署服务实现自定义 Metric 的服务,Kubernetes 用户配置多项内置的资源指标或者自定义 Metric 指标实现自定义水平弹性。
EffectiveHorizontalPodAutoscaler(简称 EHPA)是 Crane 提供的弹性伸缩产品,它基于社区 HPA 做底层的弹性控制,支持更丰富的弹性触发策略(预测,观测,周期),让弹性更加高效,并保障了服务的质量。

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

依次执行以下命令安装 Metrics Server:

注意:这里我是在项目文件下新起了一个终端, 如果是新创建请配置环境变量 export KUBECONFIG=${HOME}/.kube/config_crane

kubectl apply -f installation/components.yaml
kubectl get pod -n kube-system
创建测试应用

执行以下命令启动一个 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

运行以下命令查看 EffectiveHPA 的当前状态:kubectl get ehpa

输出结果如图:

【勝讯云 Finops Crane 集训营】之集群优化实战

增加负载

执行命令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 进行监控数据

界面展示

集群总览
【勝讯云 Finops Crane 集训营】之集群优化实战
成本洞察->集群总览
【勝讯云 Finops Crane 集训营】之集群优化实战
整体来说还是不错的

实验环境清理

实验完成后可以通过 kind delete cluster --name=crane 将本地的集群清理删除

总结

在使用勝讯云 Finops Crane 时从环境搭建到运行整体感觉上还是很丝滑的, 遇见的一些问题,助教也会积极解答,也让自己进一步成长了🤡,不过还是存在一些小小的问题, 搭建过程中,有些依赖下载太慢了, 当然不排除我自身网络的原因哈😀 , 其次 WEB端的页面设计及展现上并不是很友好, 例如添加集群时, url 的输入时 反斜杠 总是加不上去,必须先输入后面的字符之后再回来输入反斜杠才可以 , 折扣这里也存在会出现负数的情况, 另外,如果输入一个没有的集群, 没有任何提示 , 在其他页面展示出来的内容是错版的,这块个人觉的还是多多修复一下比较好 ,毕竟核心代码再牛,但是展示出来很low , 也是很让人捉急啊!
另一个方面的话,不得不说<由腾讯云主导开源的国内第一个基于云原生技术的成本优化项目的Crane> 在一定程度上确实很牛的,在架构上针对在Kubernetes集群中的不同需求而设计看起来就是经过了深思熟虑之后的决定了, 框架底层的逻辑也是硬的一批,整体感知说实在的只有一个字"真牛啊!!",如果对这个产品感兴趣的话,可以搭建一下,一起玩一玩的,不错呦!!!

结语

以上所写的个人观点,仅为本人在进行实操,及整体体验过程中的部分心得体会,如有问题欢迎评论区留言.

号外

关于腾讯云 Finops Crane 集训营:

Finops Crane集训营主要面向广大开发者,旨在提升开发者在容器部署、K8s层面的动手实践能力,同时吸纳Crane开源项目贡献者,鼓励开发者提交issue、bug反馈等,并搭载线上直播、动手实验组队、有奖征文等系列技术活动。既能让开发者通过活动对 Finops Crane 开源项目有深入了解,同时也能帮助广大开发者在云原生技能上有实质性收获。
为奖励开发者,我们特别设立了积分获取任务和对应的积分兑换礼品。

👉活动介绍送门:https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78

👉开源项目: https://github.com/gocrane/crane
---------------------------------------------------------完结撒花-----------------------------------------------------------------文章来源地址https://www.toymoban.com/news/detail-468522.html

到了这里,关于【勝讯云 Finops Crane 集训营】之集群优化实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 腾讯云 Finops Crane 开发者集训营 - 云成本优化一站式解决方案实践

    一、 相关活动介绍: 自从上次参加完CSDN联合腾讯云发起的《云原生之降本增效》活动后,只是停留聚焦在优秀实践方法论、资源与弹性、架构设计上的了解,本次《腾讯云 Finops Crane 开发者集训营》是深入了解并实践基于 FinOps 框架开展的一个成本优化项目Crane。 活动相关链

    2024年02月12日
    浏览(48)
  • 【腾讯云Finops Crane集训营】利用云原生成本优化项目实现降本增效泰酷辣~

    Crane 是一个基于 FinOps 的云资源分析与成本优化平台。在保证客户应用运行质量的前提下实现极致的降本。 云原生技术可以帮助企业实现降本增效,提高业务的灵活性和可扩展性。云原生技术的降本增效主要是由以下因素推动的: 成本压力:随着业务规模和数据量的不断增长

    2024年02月04日
    浏览(51)
  • 【腾讯云Finops Crane集训营】利用云原生成本优化项目实现降本增效泰裤辣~

    Crane 是一个基于 FinOps 的云资源分析与成本优化平台。在保证客户应用运行质量的前提下实现极致的降本。 云原生技术可以帮助企业实现降本增效,提高业务的灵活性和可扩展性。云原生技术的降本增效主要是由以下因素推动的: 成本压力:随着业务规模和数据量的不断增长

    2024年02月05日
    浏览(55)
  • 【腾讯云FinOps Crane 集训营】初识 FinOps Crane

    有幸参加了 腾讯云Finops Crane 集训营 ,学到了很多东西,现在将内容分享给大家。 Finops Crane :是 一个基于 FinOps 的云资源分析与成本优化平台 。 它的目标是 希望在保证客户应用运行质量的前提下,实现极致的降本 。 今天学习一下相关的内容 文章标记颜色说明: 黄色 :重

    2024年02月06日
    浏览(40)
  • 【腾讯云 FinOps Crane 集训营】Crane平台介绍与实践

    🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家,51CTO明日之星 📌 擅长领域:全栈工程师、爬虫、ACM算法 🤞Crane平台介绍与实践总结🤞 ⛳⛳⛳ Crane是一个开源的 容器编排工具 ,Crane提供了一种简单而灵活的方式来管理容器应用程序的

    2024年02月03日
    浏览(38)
  • 【腾讯云 Finops Crane集训营】Finops Crane究竟能为我们带来什么价值和思考?深入探究Crane

    目录 前言 一、Crane目的是什么? 二、Crane有哪些功能? 1.成本可视化和优化评估  2.推荐框架  3.基于预测的水平弹性器 4.负载感知的调度器 5.拓扑感知的调度器 6.基于 QOS 的混部 三.Crane的整体架构及特性 1.Crane架构 Craned Fadvisor Metric Adapter Crane Agent 2.Crane特性 一键部署 简单易

    2024年02月05日
    浏览(46)
  • 【腾讯云Finops Crane集训营】降本增效之 Crane 初体验

    最近有幸参加了腾讯云 Finops Crane 开源项目的第一季活动,对 Crane 有了一个深入的了解。作为一款云资源分析与成本优化平台,它为云原生领域相关的开发者和企业都提供了一种更简单、更高效的 Kubernetes 集群管理机制,正如 Crane 的愿景:“ 在保证客户应用运行质量的前提

    2024年02月05日
    浏览(55)
  • 【腾讯云 Finops Crane 集训营】降本增效?学会 Crane,就够了

    随着云原生技术的发展,越来越多的公司正在选择将应用运行在云上或者自建的 Kubernetes 集群上,但是许多机构的调研发现,绝大多数的用户集群资源利用率并不高,浪费严重。本文就带大家来了解Crane,以及通过实践,体验它的魅力。 Crane 是由腾讯云主导开源的国内第一个

    2024年02月05日
    浏览(37)
  • 【腾讯云 Finops Crane 集训营】云架构成本大,浪费支出太高?何不试试Crane

    近年来,很多公司随着业务的发展都开始采用云原生的架构方式来部署服务系统,以便满足系统的弹性需求。但随着业务的进一步增长,k8s的节点数不断的增加,每个月消耗的费用也随之增加,导致了资源的利用率并不平均的问题,特别是在多云环境下。比如有的节点利用率

    2024年02月06日
    浏览(44)
  • 【腾讯云 Finops Crane 集训营】 如何在Windows上快速搭建一个Kubernetes+Crane 环境及应用

    个人主页 : ζ小菜鸡 大家好我是ζ小菜鸡,让我们一起学习在 Windows 如何快速搭建一个 Kubernetes+Crane 环境及 应用 。 如果文章对你有帮助、 欢迎关注、点赞、收藏(一键三连)    Crane 是由腾讯云主导开源的国内第一个基于云原生技术的成本优化项目,遵循 FinOps 标准,已经获

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包