【腾讯云 Finops Crane 集训营】我的 Crane 云成本优化之旅
我最近參加了Crane 集訓(xùn)營,Crane是由騰訊云主導(dǎo)開發(fā)的開源項(xiàng)目,被譽(yù)為云原生技術(shù)的成本優(yōu)化解決方案,獲得了FinOps基金會的認(rèn)證。在我參加了騰訊云聯(lián)合CSDN舉辦的“騰訊云 Finops Crane 開發(fā)者集訓(xùn)營”之后,我對這個項(xiàng)目有了更深入的了解,現(xiàn)在我想與你們分享我的學(xué)習(xí)和實(shí)踐體驗(yàn)。
目錄
騰訊云 Finops Crane 的介紹和背景
對Crane 項(xiàng)目的理解
主要功能
活動介紹
活動體驗(yàn)
實(shí)驗(yàn)內(nèi)容介紹
Crane 的整體架構(gòu)
實(shí)驗(yàn)準(zhǔn)備步驟?
本地安裝 Crane
檢查安裝狀態(tài)
訪問 Crane Dashboard
添加本地集群:
成本展示
對 Finops Crane 項(xiàng)目的應(yīng)用及個人總結(jié)分析
騰訊云 Finops Crane 的介紹和背景
在云原生技術(shù)不斷發(fā)展和普及的大背景下,騰訊云主導(dǎo)開源的Crane項(xiàng)目應(yīng)運(yùn)而生。這是國內(nèi)第一個基于云原生技術(shù)的成本優(yōu)化項(xiàng)目,它遵循了FinOps標(biāo)準(zhǔn),并且已經(jīng)獲得FinOps基金會授予的全球首個認(rèn)證降本增效開源方案。Crane項(xiàng)目的設(shè)計(jì)初衷是為了幫助企業(yè)更好地管理和擴(kuò)展其Kubernetes集群,從而實(shí)現(xiàn)更高效的云原生應(yīng)用管理。
👉活動介紹送門:https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78
👉開源項(xiàng)目: https://github.com/gocrane/cranehttps://github.com/gocrane/crane
活動相關(guān)直播視頻:
Finops Crane 開源項(xiàng)目經(jīng)驗(yàn)分享 【可回看】
https://live.csdn.net/room/csdnnews/CPEN2JKh
?騰訊云 Finops Crane開發(fā)者集訓(xùn)營【可回看】
https://live.csdn.net/room/csdnnews/83xhNo4C
?
對Crane 項(xiàng)目的理解
Crane是一款簡單、可靠且強(qiáng)大的自動化部署工具,為使用 Kubernetes 集群的企業(yè)提供了極大的便利。它的優(yōu)點(diǎn)在于易于使用、高度可定制和可擴(kuò)展。Crane提供了一組簡單易用的命令行工具,使得開發(fā)者和管理員都能輕松地將應(yīng)用程序部署到 Kubernetes 集群中。同時,Crane還支持多種云平臺,并且可以根據(jù)具體的業(yè)務(wù)需求進(jìn)行定制。
主要功能
Crane的工作原理主要依托于云原生技術(shù),結(jié)合監(jiān)控預(yù)測、調(diào)度增強(qiáng)、業(yè)務(wù)混部等多項(xiàng)硬核科技,將優(yōu)化措施應(yīng)用到了云成本優(yōu)化的多個關(guān)鍵環(huán)節(jié)。這樣可以幫助用戶做出決策,簡化運(yùn)維效率,提升系統(tǒng)穩(wěn)態(tài),全面降低成本。
這個項(xiàng)目的創(chuàng)新之處在于,不僅關(guān)注云成本的可視化問題,而且通過對問題的發(fā)現(xiàn),然后通過機(jī)型的選擇、計(jì)費(fèi)類型的調(diào)優(yōu)等運(yùn)營手段實(shí)現(xiàn)降本。這是一個全新的方式,將技術(shù)和財(cái)務(wù)結(jié)合在一起,從而更好地管理和優(yōu)化云成本。
活動介紹
由騰訊云聯(lián)合 CSDN 推出的“騰訊云 Finops Crane 開發(fā)者集訓(xùn)營”活動,我有幸參與其中。該活動主要面向廣大開發(fā)者,旨在通過線上直播、組織動手實(shí)驗(yàn)、有獎?wù)魑?#xff0c;開源項(xiàng)目貢獻(xiàn)者招募這一系列技術(shù)實(shí)踐活動,幫助我們對 Finops Crane 開源項(xiàng)目有一個深入的了解,同時也能幫助我們在云原生技能上有實(shí)質(zhì)性收獲。
活動地址鏈接
活動體驗(yàn)
實(shí)驗(yàn)內(nèi)容介紹
隨著云原生技術(shù)的發(fā)展,越來越多的公司正在選擇將應(yīng)用運(yùn)行在云上或者自建的 Kubernetes 集群上,但是許多機(jī)構(gòu)的調(diào)研發(fā)現(xiàn),絕大多數(shù)的用戶集群資源利用率并不高,浪費(fèi)嚴(yán)重。本次訓(xùn)練營將會演示如何快速搭建一個 Kubernetes+Crane 環(huán)境,以及如何基于 Crane 優(yōu)化你的集群和應(yīng)用。
Crane 的整體架構(gòu)
實(shí)驗(yàn)準(zhǔn)備步驟?
依據(jù)你的本地環(huán)境系統(tǒng)參考對應(yīng)的文檔安裝即可,部分安裝需要科學(xué)上網(wǎng)。
安裝 kubectl
安裝 kubectl:安裝工具 | Kubernetes
安裝 Helm
安裝 Helm:Helm | 安裝Helm
安裝 kind
安裝 kind:kind – Quick Start
安裝 Docker
安裝 docker:Get Docker | Docker Documentation
安裝完后注意確保Docker已開啟,否則后續(xù)安裝Crane失敗!!!?
本地安裝 Crane
安裝本地的 Kind 集群和 Crane 組件
以下命令將安裝 Crane 以及其依賴 (Prometheus/Grafana).
curl -sf https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh | sh -注意:這里也需要科學(xué)上網(wǎng),訓(xùn)練營的小伙伴是使用助教提供的本地的安裝包執(zhí)行安裝,這里就順利過去了。
檢查安裝狀態(tài)
提示:Pod?的啟動需要一定的時間,等幾分鐘后輸入命令查看后集群狀態(tài)是否都?Running
kubectl get pod -n crane-system訪問 Crane Dashboard
一定要注意!!!
每一個新窗口操作前請把配置環(huán)境變量加上(不然會出現(xiàn)8080端口被拒絕的提示)
kubectl -n crane-system port-forward service/craned 9090:9090# 后續(xù)的終端操作請?jiān)谛麓翱诓僮?#xff0c;每一個新窗口操作前請把配置環(huán)境變量加上(不然會出現(xiàn)8080端口被拒絕的提示) export KUBECONFIG=${HOME}/.kube/config_crane訪問 Crane Dashboard ?http://127.0.0.1:9090/
添加本地集群:
安裝Metrics Server
對應(yīng)文件可以到GitHub上找到,我們這里也是已經(jīng)提前下載到實(shí)驗(yàn)手冊中,所以路徑不同
用以下命令安裝 Metrics Server:
kubectl apply -f installation/components.yaml kubectl get pod -n kube-system創(chuàng)建測試應(yīng)用
用以下命令啟動一個 Deployment 用 hpa-example 鏡像運(yùn)行一個容器, 然后將其暴露為一個 服務(wù)(Service):
kubectl apply -f installation/php-apache.yamlkubectl apply -f installation/nginx-deployment.yaml創(chuàng)建 EffectiveHPA
kubectl apply -f installation/effective-hpa.yaml運(yùn)行以下命令查看 EffectiveHPA 的當(dāng)前狀態(tài):
kubectl get ehpa輸出類似于:
NAME STRATEGY MINPODS MAXPODS SPECIFICPODS REPLICAS AGE php-apache Auto 1 10 0 3m39s增加負(fù)載
# 在單獨(dú)的終端中運(yùn)行它 # 如果你是新創(chuàng)建請配置環(huán)境變量 export KUBECONFIG=${HOME}/.kube/config_crane# 以便負(fù)載生成繼續(xù),你可以繼續(xù)執(zhí)行其余步驟 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"現(xiàn)在執(zhí)行:
# 準(zhǔn)備好后按 Ctrl+C 結(jié)束觀察 # 如果你是新創(chuàng)建請配置環(huán)境變量 export KUBECONFIG=${HOME}/.kube/config_cranekubectl get hpa ehpa-php-apache --watch隨著請求增多,CPU利用率會不斷提升,可以看到 EffectiveHPA 會自動擴(kuò)容實(shí)例。
成本展示
Crane Dashboard 提供了各式各樣的圖表展示了集群的成本和資源用量,
集群總覽
- 當(dāng)月總成本:過去一個月集群總成本。從安裝Crane時間開始,按小時累加集群成本
- 預(yù)估每月成本:以最近一小時成本估算未來一個月的成本。每小時成本 * 24 * 30
- 預(yù)估CPU總成本:以最近一小時CPU成本估算未來一個月的CPU成本。每小時CPU成本 * 24 * 30
- 預(yù)估Memory總成本:以最近一小時Memory成本估算未來一個月的Memory成本。每小時Memory成本 * 24 * 30
更多的成本分析圖表可以通過登陸 Grafana 的頁面或者分析源碼研究。
登陸 Grafana 的方式可以通過以下命令建立一個 port-mapping:
# 如果你是新創(chuàng)建請配置環(huán)境變量 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 項(xiàng)目的應(yīng)用及個人總結(jié)分析
首先,Crane不僅僅是一個幫助用戶更輕松地管理云成本的FinOps平臺,它還致力于確保應(yīng)用的質(zhì)量。為了實(shí)現(xiàn)這一目標(biāo),Crane具有一系列強(qiáng)大的功能,其中包括:
-
成本可視化和優(yōu)化評估:Crane提供一系列的exporters,它們可以收集云資源的價格和計(jì)費(fèi)數(shù)據(jù),并將這些數(shù)據(jù)發(fā)送到你的監(jiān)控系統(tǒng),例如Prometheus。這個功能支持多維度的成本洞察和優(yōu)化評估,同時支持多云價格。
-
推薦框架:Crane提供了一個可插拔的框架,用于分析云資源并給出優(yōu)化建議。它支持一些內(nèi)置的推薦器,如工作負(fù)載資源/副本,空閑資源等。
-
預(yù)測驅(qū)動的水平自動擴(kuò)展:Crane的EffectiveHorizontalPodAutoscaler支持預(yù)測驅(qū)動的自動擴(kuò)展。這使用戶能夠預(yù)測即將到來的高峰流量,并提前擴(kuò)展他們的應(yīng)用,同時也可以知道高峰流量何時結(jié)束,并優(yōu)雅地縮減應(yīng)用。
此外,Crane還提供了負(fù)載感知調(diào)度和增強(qiáng)QOS的共同定位等特性。所有這些特性都以一個簡單但有效的方式,幫助用戶提升運(yùn)維效率,提升系統(tǒng)穩(wěn)態(tài),全面降低成本。
在實(shí)踐中,我最喜歡Crane的是它的Dashboard,一個易于使用的用戶界面,可以讓我更好地理解和控制我的云資源。此外,我也欣賞Crane的架構(gòu),它的核心組件Craned管理CRDs和APIs的生命周期,Fadvisor 提供一組 Exporter 計(jì)算集群云資源的計(jì)費(fèi)和賬單數(shù)據(jù)并存儲到你的監(jiān)控系統(tǒng),比如 Prometheus。Fadvisor 還通過?Cloud Provider?支持了多云計(jì)費(fèi)的 API。
總的來說,Crane項(xiàng)目是一個基于云原生技術(shù)的云成本優(yōu)化解決方案,它利用先進(jìn)的技術(shù)手段,以達(dá)到提升效率、降低成本的目的,對云計(jì)算行業(yè)的發(fā)展有著重要的推動作用。
關(guān)于騰訊云 Finops Crane 集訓(xùn)營:
Finops Crane集訓(xùn)營主要面向廣大開發(fā)者,旨在提升開發(fā)者在容器部署、K8s層面的動手實(shí)踐能力,同時吸納Crane開源項(xiàng)目貢獻(xiàn)者,鼓勵開發(fā)者提交issue、bug反饋等,并搭載線上直播、動手實(shí)驗(yàn)組隊(duì)、有獎?wù)魑牡认盗屑夹g(shù)活動。既能讓開發(fā)者通過活動對 Finops Crane 開源項(xiàng)目有深入了解,同時也能幫助廣大開發(fā)者在云原生技能上有實(shí)質(zhì)性收獲。
為獎勵開發(fā)者,我們特別設(shè)立了積分獲取任務(wù)和對應(yīng)的積分兌換禮品。
👉活動介紹送門:https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78
👉開源項(xiàng)目: https://github.com/gocrane/crane
總結(jié)
以上是生活随笔為你收集整理的【腾讯云 Finops Crane 集训营】我的 Crane 云成本优化之旅的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序上线了一款“小协议”的区块链应
- 下一篇: 会议及作用篇--项目管理(十八)