免費(fèi)誒網(wǎng)站建設(shè)競(jìng)價(jià)專(zhuān)員是做什么的
文章目錄
- 一、活動(dòng)介紹
- 二、環(huán)境搭建
- 三、安裝本地的 Kind 集群和 Crane 組件
- 四、界面截圖
- 五、主要功能
- 六、整體架構(gòu)
- 七、Crane的優(yōu)勢(shì)
- 八、總結(jié)
- 參考文獻(xiàn)
一、活動(dòng)介紹
Crane
是由騰訊云主導(dǎo)開(kāi)源的國(guó)內(nèi)第一個(gè)基于云原生技術(shù)的成本優(yōu)化項(xiàng)目,遵循 FinOps
標(biāo)準(zhǔn),已經(jīng)獲得FinOps
基金會(huì)授予的全球首個(gè)認(rèn)證降本增效開(kāi)源方案。它為使用 Kubernetes
集群的企業(yè)提供了一種簡(jiǎn)單、可靠且強(qiáng)大的自動(dòng)化部署工具。Crane
的設(shè)計(jì)初衷是為了幫助企業(yè)更好地管理和擴(kuò)展其 Kubernetes
集群,從而實(shí)現(xiàn)更高效的云原生應(yīng)用管理。它易于使用、高度可定制和可擴(kuò)展。它提供了一組簡(jiǎn)單易用的命令行工具,使得開(kāi)發(fā)者和管理員都能輕松地將應(yīng)用程序部署到 Kubernetes
集群中。Crane
還支持多種云平臺(tái),并且可以根據(jù)具體的業(yè)務(wù)需求進(jìn)行定制。Crane
并已經(jīng)被騰訊、網(wǎng)易、思必馳、酷家樂(lè)、明源云、數(shù)數(shù)科技等公司部署在生產(chǎn)系統(tǒng),其主要貢獻(xiàn)者來(lái)自騰訊、小紅書(shū)、谷歌、eBay、微軟、特斯拉等知名公司。
名稱(chēng)解釋:
FinOps:全稱(chēng)(Financial Operations)是一種管理云計(jì)算成本的方法論和實(shí)踐。它結(jié)合了財(cái)務(wù)管理和云計(jì)算資源管理的最佳實(shí)踐,旨在幫助組織更好地理解、優(yōu)化和控制云計(jì)算成本。
Kubernetes:Kubernetes
(K8s)是一個(gè)開(kāi)源系統(tǒng),用于自動(dòng)部署,擴(kuò)展和管理容器化應(yīng)用程序。Kubernetes抽象了復(fù)雜的容器管理,并為我們提供了聲明式配置,以在不同的計(jì)算環(huán)境中編排容器。
Kubernetes
集群至少由一個(gè)主(控制)平面和一個(gè)或多個(gè)工作機(jī)器(稱(chēng)為節(jié)點(diǎn))組成??刂破矫婧凸?jié)點(diǎn)實(shí)例都可以是物理設(shè)備、虛擬機(jī)或云中的實(shí)例。
二、環(huán)境搭建
要快速搭建一個(gè) Kubernetes+Crane 環(huán)境,可以按照以下步驟進(jìn)行操作:
- 安裝
kubectl
請(qǐng)參考官方文檔依據(jù)你的本地環(huán)境系統(tǒng)參考對(duì)應(yīng)的文檔安裝 kubectl:https://kubernetes.io/zh-cn/docs/tasks/tools/
- 安裝
Helm
請(qǐng)參考官方文檔依據(jù)你的本地環(huán)境系統(tǒng)參考對(duì)應(yīng)的文檔安裝 Helm:https://helm.sh/zh/docs/intro/install/
- 安裝
kind
請(qǐng)參考官方文檔依據(jù)你的本地環(huán)境系統(tǒng)參考對(duì)應(yīng)的文檔安裝 kind:https://kind.sigs.k8s.io/docs/user/quick-start/#installation
- 安裝
Docker
請(qǐng)參考官方文檔依據(jù)你的本地環(huán)境系統(tǒng)參考對(duì)應(yīng)的文檔安裝 docker:https://docs.docker.com/get-docker/
完成以上步驟后,再開(kāi)始本地安裝Crane
三、安裝本地的 Kind 集群和 Crane 組件
1、根據(jù)以下命令將安裝 Crane 以及其依賴(lài) (Prometheus/Grafana
).
curl -sf https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh | sh -
2、確保所有 Pod 都正常運(yùn)行:
$ export KUBECONFIG=${HOME}/.kube/config_crane
$ kubectl get pod -n crane-systemNAME READY STATUS RESTARTS AGE
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-server-fb944f4b7-4qqlv 2/2 Running 0 4m46s
3、訪問(wèn) Crane Dashboard
kubectl -n crane-system port-forward service/craned 9090:9090# 后續(xù)的終端操作請(qǐng)?jiān)谛麓翱诓僮?#xff0c;每一個(gè)新窗口操作前請(qǐng)把配置環(huán)境變量加上(不然會(huì)出現(xiàn)8080端口被拒絕的提示)
export KUBECONFIG=${HOME}/.kube/config_crane
4、成功的標(biāo)志是你能通過(guò)http://127.0.0.1:9090/訪問(wèn)到類(lèi)似于如下頁(yè)面:
四、界面截圖
- 當(dāng)月總成本:過(guò)去一個(gè)月集群總成本。從安裝Crane時(shí)間開(kāi)始,按小時(shí)累加集群成本
- 預(yù)估每月成本:以最近一小時(shí)成本估算未來(lái)一個(gè)月的成本。每小時(shí)成本 * 24 * 30
- 預(yù)估CPU總成本:以最近一小時(shí)CPU成本估算未來(lái)一個(gè)月的CPU成本。每小時(shí)CPU成本 * 24 * 30
- 預(yù)估Memory總成本:以最近一小時(shí)Memory成本估算未來(lái)一個(gè)月的Memory成本。每小時(shí)Memory成本 * 24 * 30
- Workload Spec CPU Slack: Workload 的 CPU 規(guī)格 - 推薦的 CPU 規(guī)格
- Workload Total CPU Slack: (Workload 的 CPU 規(guī)格 - 推薦的 CPU 規(guī)格)* Pod 數(shù)量
更多的成本分析圖表可以通過(guò)登陸 Grafana
的頁(yè)面或者分析源碼研究。
可通過(guò)查看監(jiān)控
查看詳細(xì)的監(jiān)控?cái)?shù)據(jù)。
五、主要功能
1、成本可視化和優(yōu)化評(píng)估
提供一組 Exporter
計(jì)算集群云資源的計(jì)費(fèi)和賬單數(shù)據(jù)并存儲(chǔ)到你的監(jiān)控系統(tǒng),比如 Prometheus
。
多維度的成本洞察,優(yōu)化評(píng)估。通過(guò) Cloud Provider
支持多云計(jì)費(fèi)。
推薦框架
提供了一個(gè)可擴(kuò)展的推薦框架以支持多種云資源的分析,內(nèi)置了多種推薦器:資源推薦,副本推薦,HPA
推薦,閑置資源推薦。
2、基于預(yù)測(cè)的水平彈性器
EffectiveHorizontalPodAutoscaler
支持了預(yù)測(cè)驅(qū)動(dòng)的彈性。它基于社區(qū)HPA
做底層的彈性控制,支持更豐富的彈性觸發(fā)策略(預(yù)測(cè),觀測(cè),周期),讓彈性更加高效,并保障了服務(wù)的質(zhì)量。
3、負(fù)載感知的調(diào)度器
動(dòng)態(tài)調(diào)度器根據(jù)實(shí)際的節(jié)點(diǎn)利用率構(gòu)建了一個(gè)簡(jiǎn)單但高效的模型,并過(guò)濾掉那些負(fù)載高的節(jié)點(diǎn)來(lái)平衡集群。
4、拓?fù)涓兄恼{(diào)度器
Crane Scheduler
與Crane Agent
配合工作,支持更為精細(xì)化的資源拓?fù)涓兄{(diào)度和多種綁核策略,可解決復(fù)雜場(chǎng)景下“吵鬧的鄰居問(wèn)題",使得資源得到更合理高效的利用。
5、基于 QOS 的混部
QOS
相關(guān)能力保證了運(yùn)行在 Kubernetes
上的 Pod 的穩(wěn)定性。具有多維指標(biāo)條件下的干擾檢測(cè)和主動(dòng)回避能力,支持精確操作和自定義指標(biāo)接入;具有預(yù)測(cè)算法增強(qiáng)的彈性資源超賣(mài)能力,復(fù)用和限制集群內(nèi)的空閑資源;具備增強(qiáng)的旁路cpuset
管理能力,在綁核的同時(shí)提升資源利用效率。
六、整體架構(gòu)
Craned
Craned 是 Crane 的最核心組件,它管理了 CRDs 的生命周期以及API。Craned 通過(guò) Deployment 方式部署且由兩個(gè)容器組成:
Craned: 運(yùn)行了 Operators 用來(lái)管理 CRDs,向 Dashboard 提供了 WebApi,Predictors 提供了 TimeSeries API
Dashboard: 基于 TDesign’s Starter 腳手架研發(fā)的前端項(xiàng)目,提供了易于上手的產(chǎn)品功能
Fadvisor
Fadvisor 提供一組 Exporter 計(jì)算集群云資源的計(jì)費(fèi)和賬單數(shù)據(jù)并存儲(chǔ)到你的監(jiān)控系統(tǒng),比如 Prometheus。Fadvisor 通過(guò) Cloud Provider 支持了多云計(jì)費(fèi)的 API。
Metric Adapter
Metric Adapter 實(shí)現(xiàn)了一個(gè) Custom Metric Apiserver. Metric Adapter 讀取 CRDs 信息并提供基于 Custom/External Metric API 的 HPA Metric 的數(shù)據(jù)。
Crane Agent
Crane Agent 通過(guò) DaemonSet 部署在集群的節(jié)點(diǎn)上。
Prometheus
Prometheus 受啟發(fā)于 Google 的 Brogmon 監(jiān)控系統(tǒng)(相似的Kubernetes是從Google的Brog系統(tǒng)演變而來(lái)),從2012年開(kāi)始由前Google工程師在Soundcloud以開(kāi)源軟件的形式進(jìn)行研發(fā),并且于2015年早期對(duì)外發(fā)布早期版本。2016年5月繼Kubernetes之后成為第二個(gè)正式加入CNCF基金會(huì)的項(xiàng)目,同年6月正式發(fā)布1.0版本。2017年底發(fā)布了基于全新存儲(chǔ)層的2.0版本,能更好地與容器平臺(tái)、云平臺(tái)配合。
Grafana
Grafana 是一個(gè)監(jiān)控儀表系統(tǒng),它是由 Grafana Labs 公司開(kāi)源的的一個(gè)系統(tǒng)監(jiān)測(cè)工具,它可以大大幫助我們簡(jiǎn)化監(jiān)控的復(fù)雜度,我們只需要提供需要監(jiān)控的數(shù)據(jù),它就可以幫助生成各種可視化儀表,同時(shí)它還有報(bào)警功能,可以在系統(tǒng)出現(xiàn)問(wèn)題時(shí)發(fā)出通知。
七、Crane的優(yōu)勢(shì)
FinOps 旨在通過(guò)更好地管理和優(yōu)化云計(jì)算成本,實(shí)現(xiàn)組織的財(cái)務(wù)目標(biāo),并確保云資源的有效和經(jīng)濟(jì)使用。它強(qiáng)調(diào)透明度、責(zé)任分配、預(yù)算規(guī)劃、自動(dòng)化和協(xié)作等關(guān)鍵實(shí)踐,幫助組織在云計(jì)算時(shí)代實(shí)現(xiàn),主要有如下優(yōu)勢(shì):
1、實(shí)時(shí)監(jiān)控成本
Crane可以幫助企業(yè)實(shí)時(shí)監(jiān)控云計(jì)算資源的使用情況,并將其與成本進(jìn)行關(guān)聯(lián),提供實(shí)時(shí)的成本分析和預(yù)測(cè)功能。這樣,企業(yè)就可以更好地控制成本,提高效益。
2、優(yōu)化資源利用率
Crane可以幫助企業(yè)優(yōu)化云計(jì)算資源的利用率。它可以幫助企業(yè)發(fā)現(xiàn)不必要的資源浪費(fèi),并提供優(yōu)化建議,使企業(yè)可以更好地利用云計(jì)算資源,提高資源利用效率。
3、提高決策效率
Crane可以幫助企業(yè)更好地了解云計(jì)算資源的成本和使用情況。這樣,企業(yè)就可以更好地做出決策,以滿(mǎn)足業(yè)務(wù)需求,并在成本和效益之間取得平衡。
4、智能預(yù)測(cè)
Crane可以幫助企業(yè)完成流量智能預(yù)測(cè),進(jìn)行自動(dòng)擴(kuò)縮容,應(yīng)對(duì)大促節(jié)假日等有規(guī)律的流量洪峰。
八、總結(jié)
通過(guò)這次活動(dòng),我深入了解了Crane 的原則和實(shí)踐,并學(xué)到了如何應(yīng)用它們來(lái)管理云計(jì)算成本。我意識(shí)到透明度、責(zé)任分配、預(yù)算規(guī)劃、自動(dòng)化和協(xié)作是實(shí)現(xiàn)成功的Crane 策略的關(guān)鍵要素。這次活動(dòng)讓我對(duì)如何更好地管理云計(jì)算成本有了更深入的理解,并為將來(lái)實(shí)踐Crane 提供了寶貴的經(jīng)驗(yàn)。認(rèn)識(shí)到了如下幾點(diǎn):
-
可見(jiàn)性與透明度:通過(guò)使用云計(jì)算成本管理工具和儀表板,我們能夠?qū)崟r(shí)地查看和分析我們的云資源使用情況和成本。這使我們能夠更好地了解資源消耗的模式,并識(shí)別出成本的主要驅(qū)動(dòng)因素。
-
責(zé)任分配:在活動(dòng)中,我們將云計(jì)算成本與不同的團(tuán)隊(duì)和部門(mén)相關(guān)聯(lián)。這種責(zé)任分配的方法使每個(gè)團(tuán)隊(duì)能夠更好地理解他們使用的資源的成本,并激勵(lì)他們采取行動(dòng)來(lái)優(yōu)化資源的使用。
-
預(yù)算規(guī)劃與優(yōu)化:我們?cè)O(shè)定了預(yù)算,并與實(shí)際成本進(jìn)行對(duì)比。這使我們能夠及早發(fā)現(xiàn)超支和浪費(fèi),并采取適當(dāng)?shù)拇胧┻M(jìn)行優(yōu)化。通過(guò)設(shè)定目標(biāo)和監(jiān)控實(shí)際成本,我們能夠更好地管理資源使用并控制成本。
-
自動(dòng)化與優(yōu)化:在模擬活動(dòng)中,我們探索了自動(dòng)化工具和流程,以提高資源管理的效率和準(zhǔn)確性。我們使用自動(dòng)化腳本來(lái)自動(dòng)調(diào)整資源規(guī)模,實(shí)現(xiàn)按需分配資源,并使用服務(wù)器less架構(gòu)來(lái)優(yōu)化成本。
-
協(xié)作與教育:活動(dòng)中鼓勵(lì)團(tuán)隊(duì)之間的合作和知識(shí)共享。我們舉辦了培訓(xùn)和討論會(huì),讓不同團(tuán)隊(duì)的成員了解Crane 的概念和最佳實(shí)踐。這樣的協(xié)作和教育活動(dòng)有助于提高團(tuán)隊(duì)的意識(shí),并促進(jìn)更好的資源管理和成本控制。
參考文獻(xiàn)
Crane github:https://github.com/gocrane/crane
Crane官網(wǎng): https://gocrane.io/
活動(dòng)介紹送門(mén):https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78
如果你在web前端開(kāi)發(fā)、面試、前端學(xué)習(xí)路線有困難可以加我V:imqdcnn。免費(fèi)答疑,行業(yè)深潛多年的技術(shù)牛人幫你解決bug。
祝你能成為一名優(yōu)秀的WEB前端開(kāi)發(fā)工程師!