2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【腾讯云 Finops Crane 集训营】我的 Crane 云成本优化之旅

【腾讯云 Finops Crane 集训营】我的 Crane 云成本优化之旅

时间:2020-09-20 03:59:24

相关推荐

【腾讯云 Finops Crane 集训营】我的 Crane 云成本优化之旅

我最近参加了Crane 集训营,Crane是由腾讯云主导开发的开源项目,被誉为云原生技术的成本优化解决方案,获得了FinOps基金会的认证。在我参加了腾讯云联合CSDN举办的“腾讯云 Finops Crane 开发者集训营”之后,我对这个项目有了更深入的了解,现在我想与你们分享我的学习和实践体验。

目录

腾讯云 Finops Crane 的介绍和背景

对Crane 项目的理解

主要功能

活动介绍

活动体验

实验内容介绍

Crane 的整体架构

实验准备步骤

本地安装 Crane

检查安装状态

访问 Crane Dashboard

添加本地集群:

成本展示

对 Finops Crane 项目的应用及个人总结分析

腾讯云 Finops Crane 的介绍和背景

在云原生技术不断发展和普及的大背景下,腾讯云主导开源的Crane项目应运而生。这是国内第一个基于云原生技术的成本优化项目,它遵循了FinOps标准,并且已经获得FinOps基金会授予的全球首个认证降本增效开源方案。Crane项目的设计初衷是为了帮助企业更好地管理和扩展其Kubernetes集群,从而实现更高效的云原生应用管理。

👉活动介绍送门:/p/038ae30af2357473fc5431b63e4e1a78/p/038ae30af2357473fc5431b63e4e1a78

👉开源项目: /gocrane/crane/gocrane/crane

活动相关直播视频:

Finops Crane 开源项目经验分享 【可回看】

/room/csdnnews/CPEN2JKh

腾讯云 Finops Crane开发者集训营【可回看】

/room/csdnnews/83xhNo4C

对Crane 项目的理解

Crane是一款简单、可靠且强大的自动化部署工具,为使用 Kubernetes 集群的企业提供了极大的便利。它的优点在于易于使用、高度可定制和可扩展。Crane提供了一组简单易用的命令行工具,使得开发者和管理员都能轻松地将应用程序部署到 Kubernetes 集群中。同时,Crane还支持多种云平台,并且可以根据具体的业务需求进行定制。

主要功能

Crane的工作原理主要依托于云原生技术,结合监控预测、调度增强、业务混部等多项硬核科技,将优化措施应用到了云成本优化的多个关键环节。这样可以帮助用户做出决策,简化运维效率,提升系统稳态,全面降低成本。

这个项目的创新之处在于,不仅关注云成本的可视化问题,而且通过对问题的发现,然后通过机型的选择、计费类型的调优等运营手段实现降本。这是一个全新的方式,将技术和财务结合在一起,从而更好地管理和优化云成本。

活动介绍

由腾讯云联合 CSDN 推出的“腾讯云 Finops Crane 开发者集训营”活动,我有幸参与其中。该活动主要面向广大开发者,旨在通过线上直播、组织动手实验、有奖征文,开源项目贡献者招募这一系列技术实践活动,帮助我们对 Finops Crane 开源项目有一个深入的了解,同时也能帮助我们在云原生技能上有实质性收获。

活动地址链接

活动体验

实验内容介绍

随着云原生技术的发展,越来越多的公司正在选择将应用运行在云上或者自建的 Kubernetes 集群上,但是许多机构的调研发现,绝大多数的用户集群资源利用率并不高,浪费严重。本次训练营将会演示如何快速搭建一个 Kubernetes+Crane 环境,以及如何基于 Crane 优化你的集群和应用。

Crane 的整体架构

实验准备步骤

依据你的本地环境系统参考对应的文档安装即可,部分安装需要科学上网。

安装 kubectl

安装 kubectl:安装工具 | Kubernetes

安装 Helm

安装 Helm:Helm | 安装Helm

安装 kind

安装 kind:kind – Quick Start

安装 Docker

安装 docker:Get Docker | Docker Documentation

安装完后注意确保Docker已开启,否则后续安装Crane失败!!!

本地安装 Crane

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

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

curl -sf /gocrane/crane/main/hack/local-env-setup.sh | sh -

注意:这里也需要科学上网,训练营的小伙伴是使用助教提供的本地的安装包执行安装,这里就顺利过去了。

检查安装状态

提示:Pod的启动需要一定的时间,等几分钟后输入命令查看后集群状态是否都Running

kubectl get pod -n crane-system

访问 Crane Dashboard

一定要注意!!!

每一个新窗口操作前请把配置环境变量加上(不然会出现8080端口被拒绝的提示)

kubectl -n crane-system port-forward service/craned 9090:9090# 后续的终端操作请在新窗口操作,每一个新窗口操作前请把配置环境变量加上(不然会出现8080端口被拒绝的提示)export KUBECONFIG=${HOME}/.kube/config_crane

访问 Crane Dashboard http://127.0.0.1:9090/

添加本地集群:

安装Metrics Server

对应文件可以到GitHub上找到,我们这里也是已经提前下载到实验手册中,所以路径不同

用以下命令安装 Metrics Server:

kubectl apply -f installation/components.yamlkubectl get pod -n kube-system

创建测试应用

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

kubectl apply -f installation/php-apache.yamlkubectl apply -f installation/nginx-deployment.yaml

创建 EffectiveHPA

kubectl apply -f installation/effective-hpa.yaml

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

kubectl get ehpa

输出类似于:

NAME STRATEGY MINPODS MAXPODS SPECIFICPODS REPLICAS AGEphp-apache Auto 1 10 03m39s

增加负载

# 在单独的终端中运行它# 如果你是新创建请配置环境变量 export KUBECONFIG=${HOME}/.kube/config_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"

现在执行:

# 准备好后按 Ctrl+C 结束观察# 如果你是新创建请配置环境变量 export KUBECONFIG=${HOME}/.kube/config_cranekubectl get hpa ehpa-php-apache --watch

随着请求增多,CPU利用率会不断提升,可以看到 EffectiveHPA 会自动扩容实例。

成本展示

Crane Dashboard 提供了各式各样的图表展示了集群的成本和资源用量,

集群总览

当月总成本:过去一个月集群总成本。从安装Crane时间开始,按小时累加集群成本预估每月成本:以最近一小时成本估算未来一个月的成本。每小时成本 * 24 * 30预估CPU总成本:以最近一小时CPU成本估算未来一个月的CPU成本。每小时CPU成本 * 24 * 30预估Memory总成本:以最近一小时Memory成本估算未来一个月的Memory成本。每小时Memory成本 * 24 * 30

更多的成本分析图表可以通过登陆 Grafana 的页面或者分析源码研究。

登陆 Grafana 的方式可以通过以下命令建立一个 port-mapping:

# 如果你是新创建请配置环境变量 export KUBECONFIG=${HOME}/.kube/config_cranekubectl -n crane-system port-forward service/grafana 8082:8082

访问本地 Grafana(账号密码:admin/admin):http://127.0.0.1:8082/grafana/login

对 Finops Crane 项目的应用及个人总结分析

首先,Crane不仅仅是一个帮助用户更轻松地管理云成本的FinOps平台,它还致力于确保应用的质量。为了实现这一目标,Crane具有一系列强大的功能,其中包括:

成本可视化和优化评估:Crane提供一系列的exporters,它们可以收集云资源的价格和计费数据,并将这些数据发送到你的监控系统,例如Prometheus。这个功能支持多维度的成本洞察和优化评估,同时支持多云价格。

推荐框架:Crane提供了一个可插拔的框架,用于分析云资源并给出优化建议。它支持一些内置的推荐器,如工作负载资源/副本,空闲资源等。

预测驱动的水平自动扩展:Crane的EffectiveHorizontalPodAutoscaler支持预测驱动的自动扩展。这使用户能够预测即将到来的高峰流量,并提前扩展他们的应用,同时也可以知道高峰流量何时结束,并优雅地缩减应用。

此外,Crane还提供了负载感知调度和增强QOS的共同定位等特性。所有这些特性都以一个简单但有效的方式,帮助用户提升运维效率,提升系统稳态,全面降低成本。

在实践中,我最喜欢Crane的是它的Dashboard,一个易于使用的用户界面,可以让我更好地理解和控制我的云资源。此外,我也欣赏Crane的架构,它的核心组件Craned管理CRDs和APIs的生命周期,Fadvisor 提供一组 Exporter 计算集群云资源的计费和账单数据并存储到你的监控系统,比如 Prometheus。Fadvisor 还通过Cloud Provider支持了多云计费的 API。

总的来说,Crane项目是一个基于云原生技术的云成本优化解决方案,它利用先进的技术手段,以达到提升效率、降低成本的目的,对云计算行业的发展有着重要的推动作用。

关于腾讯云 Finops Crane 集训营:

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

为奖励开发者,我们特别设立了积分获取任务和对应的积分兑换礼品。

👉活动介绍送门:/p/038ae30af2357473fc5431b63e4e1a78

👉开源项目: /gocrane/crane

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。