K8s 為開發(fā)者們帶來了巨大的微服務(wù)部署便利,但同時(shí)也將可觀測性建設(shè)的重要性提升到了前所未有的程度:大量微服務(wù)之間錯(cuò)綜復(fù)雜的調(diào)用關(guān)系難以梳理,應(yīng)用性能瓶頸鏈路難以排查,應(yīng)用異常難以定位。
針對(duì)此,KubeSphere 通過幫助用戶從 KubeSphere 的應(yīng)用商店中快速部署 DeepFlow,讓用戶為微服務(wù)應(yīng)用輕松開啟高度自動(dòng)化的全棧、全鏈路可觀測性。
什么是 KubeSphere?
KubeSphere 是青云科技在 K8s 之上構(gòu)建的面向云原生應(yīng)用的分布式操作系統(tǒng),完全開源,支持多云與多集群管理,提供全棧的 IT 自動(dòng)化運(yùn)維能力,簡化企業(yè)的 DevOps 工作流。它的架構(gòu)可以非常方便地使第三方應(yīng)用與云原生生態(tài)組件進(jìn)行即插即用 (plug-and-play) 的集成。
作為全棧的多租戶容器平臺(tái),KubeSphere 提供了運(yùn)維友好的向?qū)讲僮鹘缑妫瑤椭髽I(yè)快速構(gòu)建一個(gè)強(qiáng)大和功能豐富的容器云平臺(tái)。KubeSphere 為用戶提供構(gòu)建企業(yè)級(jí) K8s 環(huán)境所需的多項(xiàng)功能,例如多云與多集群管理、K8s 資源管理、DevOps、應(yīng)用生命周期管理、微服務(wù)治理(服務(wù)網(wǎng)格)、日志查詢與收集、服務(wù)與網(wǎng)絡(luò)、多租戶管理、監(jiān)控告警、事件與審計(jì)查詢、存儲(chǔ)管理、訪問權(quán)限控制、GPU 支持、網(wǎng)絡(luò)策略、鏡像倉庫管理以及安全管理等。
什么是 DeepFlow?
DeepFlow是一款開源的高度自動(dòng)化的可觀測性平臺(tái),是為云原生應(yīng)用開發(fā)者建設(shè)可觀測性能力而量身打造的全棧、全鏈路、高性能數(shù)據(jù)引擎。DeepFlow 使用 eBPF、WASM、OpenTelemetry 等新技術(shù),創(chuàng)新的實(shí)現(xiàn)了 AutoTracing、AutoMetrics、AutoTagging、SmartEncoding 等核心機(jī)制,幫助開發(fā)者提升埋點(diǎn)插碼的自動(dòng)化水平,降低可觀測性平臺(tái)的運(yùn)維復(fù)雜度。利用 DeepFlow 的可編程能力和開放接口,開發(fā)者可以快速將其融入到自己的可觀測性技術(shù)棧中。
為什么選擇 DeepFlow?
目前,社區(qū)已經(jīng)擁有了非常豐富的 Metrics、Tracing、Logging 解決方案,比如著名的 Prometheus、Telegraf、SkyWalking、OpenTelemetry、Fluentd、Loki 等。隨著 eBPF 技術(shù)的發(fā)展和 Linux 內(nèi)核 4.X 版本的普及,可觀測性迎來了更加自動(dòng)化、更加零侵?jǐn)_的玩法。在經(jīng)過一番調(diào)研后,KubeSphere 選擇將 DeepFlow 作為利用 eBPF 能力建設(shè)可觀測性的開源解決方案,并將其集成到 App Store 中。現(xiàn)在,KubeSphere 用戶可使用應(yīng)用模板,輕松將 DeepFlow 一鍵部署至 K8s 環(huán)境中。
輕松部署 DeepFlow
用戶可以在 KubeSphere 應(yīng)用商店中找到 DeepFlow,選擇它并依次點(diǎn)擊安裝 -> 下一步 -> 安裝,即可完成 DeepFlow 的部署。
快速體驗(yàn) DeepFlow
Metrics:部署 DeepFlow 以后,無需做任何操作,訪問 Grafana 即可查看所有微服務(wù)應(yīng)用的 RED(Request/Error/Delay)黃金指標(biāo),以及所有微服務(wù)之間的全景調(diào)用關(guān)系:
應(yīng)用 RED 指標(biāo)
結(jié)合 DeepFlow 的全棧數(shù)據(jù)采集能力和 AutoTagging 統(tǒng)一標(biāo)簽注入能力,也可快速判斷兩個(gè)微服務(wù)之間的瓶頸路徑和原因:
全棧性能指標(biāo)
Tracing:DeepFlow 基于 eBPF 的 AutoTracing 能力(適用于 Linux Kernel 4.14+)可直接呈現(xiàn)微服務(wù)之間的分布式追蹤火焰圖,快速定位容器及 Service Mesh 場景下的應(yīng)用性能瓶頸。下圖是 Istio Bookinfo Demo 的零插碼分布式追蹤火焰圖:
eBPF Istio AutoTracing Demo
DeepFlow 也支持廣泛的數(shù)據(jù)集成能力,能夠自動(dòng)集成 Prometheus、Telegraf 的指標(biāo)數(shù)據(jù)和 OpenTelemetry、SkyWalking 的追蹤數(shù)據(jù)。其中對(duì)于 OpenTelemetry 和 SkyWalking 數(shù)據(jù)的集成可展現(xiàn)無盲點(diǎn)的分布式追蹤能力,將應(yīng)用、系統(tǒng)、網(wǎng)絡(luò) Span 展現(xiàn)在一個(gè)火焰圖中。下圖是一個(gè) Spring Boot Demo 的無盲點(diǎn)分布式追蹤火焰圖:
Spring Boot Tracing Demo
Logging:依靠應(yīng)用協(xié)議解析能力,DeepFlow 支持自動(dòng)采集 HTTP 1/2/S、Dubbo、MySQL、Redis、Kafka、MQTT、DNS 等應(yīng)用的調(diào)用日志,以及與之對(duì)應(yīng)的 TCP/UDP 網(wǎng)絡(luò)流日志:
應(yīng)用調(diào)用日志
以上均可訪問 DeepFlow Online Demo,體驗(yàn)高度自動(dòng)化的可觀測性新時(shí)代。