【腾讯云FinOps Crane 集训营】让我看看还有谁没用过crane这个降本利器

news2024/11/19 6:42:28

近几年云原生概念的发展如雨后春笋,势如破竹,而devops和k8s(Kubernetes)两兄弟也搭上云原生的车先后火了起来

devops:如字面意思Development&Operations,它的理念是开发即运维,目的是消除开发者们与运维之间的隔阂,从而提高效率;
k8s:即Kubernetes,docker容器编排工具;

虽然有了devops和k8s我们已经能很好的完成应用集群管理,但管理者们不满足于此,他们着手开始向成本管理方向研究,于是有了今天的主角:crane

为什么会取名叫crane?

crane翻译过来是起重机

回想一下现实生活中修房子,没有起重机我们也能修高楼大厦,但会耗费更多人力物力

同样的道理,没有crane我们也能完成应用编排,但是会浪费很多时间,时间即金钱,金钱即成本,所以,称之为降本利器毫不为过

关于Crane

在这里插入图片描述

Crane 是 FinOps 基金会认证的云优化方案,是一个基于 FinOps 的云资源分析与成本优化平台,它的愿景是在保证客户应用运行质量的前提下实现极致的降本

哦对了,重点是crane目前已经开源,GitHub传送门


先来看看crane的架构

在这里插入图片描述

  • 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 部署在集群的节点上。

再来看看crane核心功能

在这里插入图片描述
关键词:成本可视化和优化评估

  • crane提供一组 Exporter 计算集群云资源的计费和账单数据并存储到你的监控系统,比如 Prometheus。
  • 多维度的成本洞察,优化评估。通过 Cloud Provider 支持多云计费。

降本利器三驾马车

  • 成本展示: Kubernetes 资源( Deployments, StatefulSets )的多维度聚合与展示。
  • 成本分析: 周期性的分析集群资源的状态并提供优化建议。
  • 成本优化: 通过丰富的优化工具更新配置达成降本的目标。

简而言之,crane提供一些自动化的策略来对k8s集群进行监控和管理,从而实现成本管理。


多说无益,直接上手体验吧

步骤概览:

  1. 使用 Kind 安装一个本地运行的 Kubernetes 集群
  2. 使用 Helm 安装 Prometheus 和 Grafana
  3. 使用 Helm 安装 Crane
  4. 通过 kubectl 的 port-forward 访问 Crane Dashboard

官方文档写的很清晰,这里我就只说重点步骤,详情请移步crane安装文档

部署环境要求

  • kubectl
  • Kubernetes 1.18+
  • Helm 3.1.0
  • Kind 0.16+

Crane 需要用到Prometheus作数据采集,并且在grafana作数据展示,所以我们需要安装依赖

注意:以下命令是直接安装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

注意:pod启动耗时跟自己机器配置和网络有关,如不能访问建议先不要排查问题,过几分钟再试试如果不行再继续排查

访问 Crane Dashboard

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

在这里插入图片描述

嘿嘿,如不想安装,可直接访问官方demo,传送门

总结

如果没有腾讯云 Finops Crane 集训营,我不会这么快接触到crane,之前试想过有没有这样一个系统,它能实时看到k8s集群中各个应用的成本概览,这样我们就能更好、更合理的进行资源调度,进而控制运维成本,自从认识crane后我突然明白,这就是我心里的那个它~
crane也让我明白了技术发展的核心不止于“能跑就行”,满足需求只是大前提,降本增效才是优化的核心方向。


最后

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

活动介绍送门

开源项目crane

ok我话说完

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

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

相关文章

OpenCV:从 CMake 产生 VS2019 项目和解决方案

CMake 是一个跨平台的自动化编译程序,它用于管理代码的构建过程。使用 CMake 可以简化跨平台项目的构建和移植,提供简单而强大的语法来描述构建过程,并生成多种不同的构建系统,如 GNU Make、Ninja 和 Visual Studio。因为 CMake 具…

shell编程(编写、执行,shell变量、传参、字符串、运算符使用)

来认识一下吧 Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。 Shell 既是一种命令语言,又是一种程序设计语言。 Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell 脚本编程,不是指开发 she…

Python实现ACO蚁群优化算法优化卷积神经网络回归模型(CNN回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

快速部署一套K8s集群-参考阿良老师

1、前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 二进制包 从github下载发行…

节省维护成本,提高效率!接口自动化测试框架热加载技术解析

目录 一、简介 二、实现热加载技术的具体操作 1. 借助Java类加载器实现热加载 2. 应用热加载技术动态更新代码 三、封装热加载技术 四、总结 前言 现如今,接口自动化测试已经成为了软件开发过程中不可或缺的一部分,通过使用接口自动化框架可以在效…

cpp 类成员函数delete this 会发生什么?

如题 this 简介: 每个非静态的类成员函数默认参数都会压栈一个this,它指向的是调用改成员函数的对象, 也是就className的object this 被隐含声明为 className* const this; 1.意味着不能改变this的指向2.this是个右值,不能取地址 ,不能&this 那我…

vue实现用户动态权限登录

一、使用vueelementUI搭登录框架,主要就是1、2、3、4 配置: ①vue.config.js use strict const path require(path)function resolve(dir) {return path.join(__dirname, dir) }// All configuration item explanations can be find in https://cli.v…

想自学写个操作系统,有哪些推荐看的书籍?

前言 哈喽,我是子牙,一个很卷的硬核男人。喜欢研究底层,聚焦做那些大家想学没地方学的课程:手写操作系统、手写虚拟机、手写编程语言… 今天我们将站在一个自学者的角度来聊聊如何实现自己的操作系统。并为大家推荐几本能够帮助你…

Ubuntu20.04配置静态IP地址,开启远程连接

本文操作演示为windows系统使用虚拟机安装的ubuntu系统进行:操作系统为ubuntu20.04,VMware15.5.0 build-14665864,内容分为两部分,第一部分为配置ubuntu系统的静态ip地址,第二部分内容为修改配置开启远程连接功能 一、…

第16章_变量、流程控制与游标

第16章_变量、流程控制与游标 1. 变量 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。 在 MySQL 数据库中,变量分为系统变量以及用户自定义变量。 1.1 系统变量 1.1.1 系统变量分…

Ansys Lumerical | 对铁电波导调制器进行仿真应用

说明 在本例中,我们仿真了使用BaTiO2的铁电波导调制器,BaTiO2是一种折射率因外加电场而发生变化的材料。该器件的结构基于文献[1]。我们模拟并分析了给定工作频率下波导调制器的有效折射率与电压的关系。 背景 铁电波导由硅层和玻璃衬底上的BiTiO3&#…

《实战大数据》书评

前言 首先感谢 CSDN 社区图书馆 举办的“图书活动第四期”,让我获得了“《实战大数据——分布式大数据分析处理系统开发与应用》”这本书。收到此书之后,对里面的内容非常感兴趣,同时也充满的未知的期待。 当今时代,物联网、大数据…

第四章 数学知识

第四章 数学知识 初等数论二&#xff1a;https://www.acwing.com/blog/content/26394/ 质数 试除法判定质数 bool is_prime(int x) {if (x < 2) return false;for (int i 2; i < x / i; i )if (x % i 0)return false;return true; }试除法分解质因数 void divide…

第四十八天学习记录:工作相关:Qt resizeEvent 的诡异问题

今天&#xff0c;在做一个新项目时&#xff0c;发现一个诡异的问题。 在软件初次打开的时候&#xff0c;会调用一次resizeEvent(QResizeEvent *sizechangeevent)函数来对主界面控件大小以及位置进行一次调整。 但由于窗口在设计的时候用的一个大小&#xff0c;而在打开软件后…

基于全志D1-H的Tina Linux SPI主从通信验证实录

本文转载自&#xff1a;https://bbs.aw-ol.com/topic/3031 作者 whycan矿工-小叶 背景 主控: D1H板卡: 两块哪吒开发板(以下简称为主机, 从机)操作系统: Tina Linux 2.0 问题 验证D1H芯片SPI主从机通信. 硬件接线 主机SPI从机SPI19SPI1_MOSISPI1_MOSI1921SPI1_MISOSPI1_M…

Git切换用户;Git提交之后是别人的用户怎么办?

Git切换用户 前言解决方法1.删除计算机凭证2.Idea控制台切换 前言 前几天在入职之后&#xff0c;公司的电脑上仍然储存了之前用户的信息&#xff0c;比如git。 我在创建分支、提交代码的时候会遇到这样的问题&#xff1a; 登录的是我自己的账号&#xff0c;但是在git动态里缺…

借助TeeChart图表控件,创建本地静态、实时浏览器图表

Steema是全球领先的图表类控件公司&#xff0c;总部设在西班牙的巴塞罗那附近&#xff0c;Steema公司的VCL图表报表控件在全球拥有极高知名度。TeeChart可以在微软的Visual Studio、Office和.NET以及Java和PHP开发平台中使用&#xff0c;也可以作为本地Javascript-HTML5使用。 …

Python新手怎么兼职,用Python在家兼职赚钱的4个方法

随着人工智能技术的发展&#xff0c;各行各业都在发生着变化&#xff0c;每天AI&#xff08;人工智能&#xff09;新技术都在冲击着各行各业&#xff0c;比如WPS的智能设计、阿里的鲁班等等&#xff0c;总有一种干死干活不如早点掌握新技能的感觉&#xff0c;避免心中的小慌张。…

DAY 65 mysql的高可用之MHA集群

MHA概述 什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换…

基于原子化思想的 Vue3 组件库 UnoCSS UI

UnoCSS UI 项目地址前言Monorepo 项目架构UnoCSS UI 的模块设计PNPM Monorepo 常用操作: --filter, -wMonorepo 中的依赖管理项目整体结构 基于原子化 CSS 的组件封装方式原子化 CSS 基础原子化 VS 内联样式原子化 VS class 原子化对组件封装的影响unocss-ui/components 项目结…