溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

發(fā)布時間:2021-12-24 10:46:58 來源:億速云 閱讀:131 作者:柒染 欄目:云計算

本篇文章為大家展示了如何進(jìn)行TKEStack整體架構(gòu)及性能分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

TKEStack 名稱中包含 Stack,也表明 TKEStack 有別于其他容器產(chǎn)品,它將打造的是一整套技術(shù)棧,以 TKE 容器平臺為核心,面向網(wǎng)絡(luò),存儲,應(yīng)用,服務(wù)等各個領(lǐng)域,擴(kuò)展平臺在底層資源管控和上層業(yè)務(wù)服務(wù)上的能力邊界,所有這些能力都將在 TKEStack 下開源,社區(qū)用戶、合作伙伴等都可以參與進(jìn)來貢獻(xiàn)和分享。

整體架構(gòu)

TKEStack 整體架構(gòu)上采用 Kubernetes on Kubernetes 的設(shè)計理念,充分滿足平臺服務(wù)的高可用性和擴(kuò)展性。

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

  • Global: 集群負(fù)責(zé)運(yùn)行整個 TKEStack 平臺自身所需組件;

  • Cluster: 業(yè)務(wù)集群是由 TKEStack 控制臺統(tǒng)一管理,負(fù)責(zé)運(yùn)行業(yè)務(wù);

  • Installer: 負(fù)載安裝 Global 集群和管控組件;

  • Auth: 權(quán)限認(rèn)證組件,提供用戶認(rèn)證、授權(quán)相關(guān)功能;

  • Gateway: 網(wǎng)關(guān)組件,并運(yùn)行控制臺的 Web 界面服務(wù);

  • Platform: 平臺管理組件,提供包含集群管理等功能的平臺服務(wù);

  • Business: 業(yè)務(wù)管理組件,提供業(yè)務(wù)管理相關(guān)功能的后臺服務(wù);

  • Monitor: 監(jiān)控服務(wù)組件,提供監(jiān)控采集、上報、告警相關(guān)服務(wù);

  • Notify: 通知功能組件,提供消息通知相關(guān)的功能;

  • Registry: 鏡像服務(wù)組件,提供平臺鏡像倉庫和 charts 倉庫服務(wù);

  • Galaxy: 網(wǎng)絡(luò)插件,為集群提供多種網(wǎng)絡(luò)模式服務(wù);

  • Logagent: 日志管理組件,為平臺提供日志管理相關(guān)服務(wù);

  • Audit: 設(shè)計組件,提供審計服務(wù)功能;

Global 集群提供容器云平臺的支撐環(huán)境和運(yùn)行自身所需的各種組件,包括業(yè)務(wù)管理組件、平臺管理組件、權(quán)限認(rèn)證組件、監(jiān)控和告警組件、registry 鏡像倉庫組件以及 gateway 前端頁面網(wǎng)關(guān)組件等等。各個組件以 workload 的形式靈活部署在 global 集群中,各組件多副本高可用方式部署,單個組件異?;蛘咧鳈C(jī)節(jié)點(diǎn)掉線等故障不會影響global集群的正常運(yùn)行,TKEStack仍可提供的管理功能,用戶正常的業(yè)務(wù)訪問不受影響。

在擴(kuò)展性方面,根據(jù)不同場景靈活配置集群,例如為承載大流量高可靠性的在線業(yè)務(wù),有必要提高 global 集群的規(guī)格配置,使其能夠管理大規(guī)模海量的業(yè)務(wù)集群及應(yīng)用資源;如果面向個人開發(fā)者或中小型業(yè)務(wù),甚至可以簡化為僅數(shù)個節(jié)點(diǎn)組成的 global 集群,并通過該集群承載業(yè)務(wù)。

能力特性

通過集成和使用 TKEStack,不僅支持 K8S 原生的資源調(diào)度、部署運(yùn)行、服務(wù)發(fā)現(xiàn)和彈性伸縮等整一套功能,TKEStack 還支持多種特性,方便用戶接入和使用,通過靈活的擴(kuò)展功能實現(xiàn)自身服務(wù)的增值。

原生支持

TKEStack是一款專注于 Kubernetes 技術(shù)棧的,集易用性與擴(kuò)展性于一身的 K8S 發(fā)行版,符合Kubernetes接口標(biāo)準(zhǔn),產(chǎn)品底層完全兼容標(biāo)準(zhǔn) Kubernetes。因此,基于 Kubernetes 生態(tài)的應(yīng)用和服務(wù)都可以無縫遷移到 TKEStack上來,有標(biāo)準(zhǔn) K8S 運(yùn)維管理經(jīng)驗的用戶可以平滑的切換到 TKEStack 平臺。

TKEStack 跟隨最新 K8S 版本,支持所有可用的功能和安全補(bǔ)丁,通過靈活的集群管理功能,方便的對集群進(jìn)行更新升級操作,幫助用戶體驗和使用最新的生態(tài)技術(shù)。作為云原生的基礎(chǔ)設(shè)施平臺,任何符合云原生規(guī)范和標(biāo)準(zhǔn)的應(yīng)用或項目,都可以構(gòu)建和運(yùn)行在 TKEStack 中。

簡單易用

提供和騰訊公有云版一致的 UI,界面簡潔友好,支持配置各種 K8S 資源,方便用戶順利的創(chuàng)建和管理容器應(yīng)用,降低了容器平臺的學(xué)習(xí)和操作成本。TKEStack 還有著完善的鏡像倉庫和應(yīng)用商店功能,內(nèi)部包含騰訊優(yōu)秀的開源容器應(yīng)用模板,方便用戶一鍵部署高質(zhì)量穩(wěn)定的應(yīng)用服務(wù)。

多集群管理

支持新建獨(dú)立集群或納管不同基礎(chǔ)設(shè)施上的已有 Kubernetes 集群,通過頁面或命令行集中管理多個集群,實現(xiàn)了混合云場景下的多集群統(tǒng)一管理能力。只需提供需要管理集群的 api 地址,token 和 ca 證書,TKEStack 就可以納管該集群。納管操作不會污染導(dǎo)入的集群,被納管集群不會增加額外的負(fù)載或配置。統(tǒng)一一致的用戶權(quán)限及業(yè)務(wù)管理等功能幫助用戶在集群間靈活切換,方便的部署和管理多集群應(yīng)用。

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

更多信息請參考 集群管理

多租戶管理

支持多租戶管理和租戶間隔離,不僅僅局限于賬號,而是包括集群、命名空間、業(yè)務(wù)、鏡像倉庫等等,滿足大中型規(guī)模企業(yè)管理的需求。并且在租戶層次之下,擁有業(yè)務(wù)的概念,業(yè)務(wù)可以橫跨集群,為用戶提供統(tǒng)一的配額管理、命名空間、業(yè)務(wù)配額以及鏡像倉庫和應(yīng)用商店等管理能力,方便用戶在多集群場景下編排業(yè)務(wù)應(yīng)用。

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

TKEStack提供統(tǒng)一和開放的認(rèn)證授權(quán)管理,通過擴(kuò)充 kubernetes 的 authz 和 authn 的 webhook,實現(xiàn)所有集群無需單獨(dú)配置 RBAC,為上層提供統(tǒng)一的可跨集群的資源授權(quán)。TKEStack自身的認(rèn)證和授權(quán)體系是完整的 K8S Style API 以及 oidc 認(rèn)證協(xié)議支持,可以很容易的由第三方集成商或開發(fā)者集成在自身的產(chǎn)品中,實現(xiàn)和 TKEStack 捆綁服務(wù)。企業(yè)級用戶可以方便的將已有的賬戶體系或組織架構(gòu)映射到 TKEStack 平臺中,從而節(jié)省容器平臺對接的工作量,專注于自身高價值業(yè)務(wù)的開發(fā)。

更多信息請參考 訪問管理

運(yùn)維友好的管理平臺

TKEStack 致力于打造一個運(yùn)維友好的管理平臺,幫助運(yùn)維人員從繁雜的勞動中解放出來。TKEStack 提供完整詳細(xì)的監(jiān)控及日志服務(wù),粒度精細(xì)到對集群下每一個容器每一條日志都有監(jiān)控和記錄。并且提供智能化的安裝工具、巡檢工具,幫助運(yùn)維人員對整個平臺全程進(jìn)行管理,提前發(fā)現(xiàn)風(fēng)險點(diǎn),提高系統(tǒng)的可靠性。

  • 快捷安裝

TKEStack 使用 tke-installer 安裝工具進(jìn)行安裝,通過界面化的方式引導(dǎo)用戶一鍵部署 TKEStack 容器平臺。tke-installer 安裝工具能夠檢查基本的環(huán)境信息,自動適配 x86 或 arm 版本安裝驅(qū)動和鏡像。離線的安裝方式更免去用戶拉取鏡像的煩惱,極大的提高了容器平臺部署的效率。

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

tke-installer 自動等待和檢查每一步驟安裝完成,如果中間過程出錯會自動在日志界面提示相應(yīng)的信息,并支持根據(jù)用戶需要,選擇全新安裝或從失敗步驟繼續(xù)安裝。更支持以 hook 方式自定義安裝流程,用戶可以在安裝開始前、集群 ready 后以及安裝結(jié)束后三個 hook 點(diǎn)添加自己的腳本或命令,實現(xiàn)平臺安裝的可定制化。

更多安裝信息請見:TKEStack安裝說明

  • 監(jiān)控系統(tǒng)

免去部署和配置 prometheus 的復(fù)雜操作,TKEStack 提供高可用性和可擴(kuò)展性的細(xì)粒度監(jiān)控系統(tǒng),實時監(jiān)控 CPU,GPU,內(nèi)存,顯存,網(wǎng)絡(luò)帶寬,磁盤io等多種指標(biāo)并自動繪制趨勢曲線,幫助運(yùn)維人員全維度的掌握平臺運(yùn)行狀態(tài)。

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

TKEStack通過prometheus組件監(jiān)控集群狀態(tài),prometheus 組件通過 addon 擴(kuò)展組件自動完成安裝和配置,使用 influxdb,elasticsearch 等存儲監(jiān)控數(shù)據(jù)。監(jiān)控數(shù)據(jù)和指標(biāo)融入到平臺界面中以風(fēng)格統(tǒng)一圖表的風(fēng)格展示,支持以不同時間,粒度等條件,查詢集群,節(jié)點(diǎn),業(yè)務(wù),workload以及容器等多個層級的監(jiān)控數(shù)據(jù),全維度的掌握平臺運(yùn)行狀態(tài)。

同時針對在可用性和可擴(kuò)展性方面,支持使用 thanos 架構(gòu)提供可靠的細(xì)粒度監(jiān)控和警報服務(wù),構(gòu)建具有高可用性和可擴(kuò)展性的細(xì)粒度監(jiān)控能力。

詳情請見 thanos架構(gòu)介紹

  • 日志服務(wù)

提供的集群內(nèi)日志采集功能,支持將集群內(nèi)服務(wù)或集群節(jié)點(diǎn)特定路徑文件的日志發(fā)送至 Kafka、Elasticsearch等消費(fèi)端,支持采集容器標(biāo)準(zhǔn)輸出日志,容器內(nèi)文件日志以及主機(jī)內(nèi)文件日志。更提供事件持久化、審計等功能,實時記錄集群事件及操作日志記錄,幫助運(yùn)維人員存儲和分析集群內(nèi)部資源生命周期、資源調(diào)度、異常告警等情況。

如何進(jìn)行TKEStack整體架構(gòu)及性能分析

需要為每個集群手動開啟日志采集功能。日志采集功能開啟后,log-collector 會在集群內(nèi)以 DaemonSet 的形式運(yùn)行,并根據(jù)用戶通過日志采集規(guī)則配置的采集源和消費(fèi)端,從采集源進(jìn)行日志采集,將日志內(nèi)容發(fā)送到消費(fèi)端。

采集容器標(biāo)準(zhǔn)輸出日志  -  采集集群內(nèi)指定容器的標(biāo)準(zhǔn)輸出日志,采集到的日志信息將會以 JSON 格式輸出到用戶指定的消費(fèi)端,并會自動附加相關(guān)的 Kubernetes metadata, 包括容器所屬 pod 的 label 和 annotation 等信息。

采集容器內(nèi)文件日志  -  采集集群內(nèi)指定 pod 內(nèi)文件的日志,用戶可以根據(jù)自己的需求,靈活的配置所需的容器和路徑,采集到的日志信息將會以 JSON 格式輸出到用戶指定的消費(fèi)端, 并會附加相關(guān)的 Kubernetes metadata,包括容器所屬 pod 的 label 和 annotation 等信息。

采集主機(jī)內(nèi)文件日志  -  采集集群內(nèi)所有節(jié)點(diǎn)的指定主機(jī)路徑的日志,log-collector 會采集集群內(nèi)所有節(jié)點(diǎn)上滿足指定路徑規(guī)則的文件日志,以 JSON 格式輸出到用戶指定的輸出端, 并會附加用戶指定的 metadata,包括日志來源文件的路徑和用戶自定義的 metadata。

更多日志信息請參考 日志管理

  • 平臺巡檢

巡檢工具 kube-javis,通過 plugin 插件的方式靈活配置和擴(kuò)展,多維度的檢查 TKEStack 平臺下集群的健康狀況,支持集成到 TKEStack 平臺中,定期運(yùn)行并輸出診斷結(jié)果和修復(fù)建議。

擴(kuò)展組件支持和管理

Tkestack 的特色功能,以擴(kuò)展組件的方式來訂制集群的能力,擴(kuò)展集群的功能。TKEStack 已支持多種擴(kuò)展組件,包含:

GPUManager - GPU Manager 提供一個 All-in-One 的 GPU 管理器, 基于K8S Device Plugin插件系統(tǒng)實現(xiàn), 提供了 GPU 虛擬化、拓?fù)浞峙?、GPU 共享、GPU 指標(biāo)查詢、GPU 容器 pre-check 等功能, 支持用戶在 K8S 集群中高效的使用 GPU 設(shè)備。

TApp - Tapp 是結(jié)合騰訊十多年海量運(yùn)營經(jīng)驗,全新設(shè)計出的一種 workload,以 CRD 的形式實現(xiàn)。 Tapp可運(yùn)行有狀態(tài)、無狀態(tài)應(yīng)用,彌補(bǔ)了 StatefulSet 無法批量更新容器的不足,使用方式兼容傳統(tǒng)運(yùn)維習(xí)慣,更好的支持傳統(tǒng)的有狀態(tài)應(yīng)用,能夠?qū)崿F(xiàn)灰度升級和多版本的發(fā)布管理。

CronHPA - 使用 crontab 模式定期自動擴(kuò)容工作負(fù)載,周期性地在給定的調(diào)度時間對工作負(fù)載進(jìn)行擴(kuò)縮容。

LBCF - 一款通用負(fù)載均衡控制面框架,對K8S內(nèi)部晦澀的運(yùn)行機(jī)制進(jìn)行了封裝并以 Webhook 的形式對外暴露,并提供強(qiáng)大的擴(kuò)展能力以滿足業(yè)務(wù)方在使用負(fù)載均衡時的個性化需求。

CSIOperator - 負(fù)責(zé) CSI 相關(guān)組件的部署與維護(hù),幫助用戶在集群中使用存儲。

IPAM - 通過 IPAM 擴(kuò)展組件安裝,擴(kuò)展了 K8S 調(diào)度插件,實現(xiàn) Float IP 的配置和管理,滿足復(fù)雜應(yīng)用容器化的特殊需求。

上述內(nèi)容就是如何進(jìn)行TKEStack整體架構(gòu)及性能分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI