Kube.NETes 為開(kāi)發(fā)者們帶來(lái)了巨大的微服務(wù)部署便利,但同時(shí)也將可觀測(cè)性建設(shè)的重要性提升到了前所未有的程度:大量微服務(wù)之間錯(cuò)綜復(fù)雜的調(diào)用關(guān)系難以梳理,應(yīng)用性能瓶頸鏈路難以排查,應(yīng)用異常難以定位。從現(xiàn)在開(kāi)始,使用 KubeSphere 的所有用戶可以從其應(yīng)用商店中快速部署 DeepFlow,為微服務(wù)應(yīng)用輕松開(kāi)啟高度自動(dòng)化的全棧、全鏈路可觀測(cè)性。
01|什么是 KubeSphere
KubeSphere 是在 Kubernetes 之上構(gòu)建的面向云原生應(yīng)用的分布式操作系統(tǒng),完全開(kāi)源,支持多云與多集群管理,提供全棧的 IT 自動(dòng)化運(yùn)維能力,簡(jiǎ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í) Kubernetes 環(huán)境所需的多項(xiàng)功能,例如多云與多集群管理、Kubernetes 資源管理、DevOps、應(yīng)用生命周期管理、微服務(wù)治理(服務(wù)網(wǎng)格)、日志查詢與收集、服務(wù)與網(wǎng)絡(luò)、多租戶管理、監(jiān)控告警、事件與審計(jì)查詢、存儲(chǔ)管理、訪問(wèn)權(quán)限控制、GPU 支持、網(wǎng)絡(luò)策略、鏡像倉(cāng)庫(kù)管理以及安全管理等。
GitHub 地址:
https://github.com/kubesphere
02|為什么選擇 DeepFlow
目前,社區(qū)已經(jīng)擁有了非常豐富的 Metrics、Tracing、Logging 解決方案,比如著名的 Prometheus、Telegraf、SkyWalking、OpenTelemetry、Fluentd、Loki 等。隨著 eBPF 技術(shù)的發(fā)展和 linux 內(nèi)核 4.X 版本的普及,可觀測(cè)性迎來(lái)了更加自動(dòng)化、更加零侵?jǐn)_的玩法。在經(jīng)過(guò)一番調(diào)研后,KubeSphere 選擇將 DeepFlow 作為利用 eBPF 能力建設(shè)可觀測(cè)性的開(kāi)源解決方案,并將其集成到KubeSphere 應(yīng)用商店中。現(xiàn)在,KubeSphere 用戶可使用應(yīng)用模板,輕松將 DeepFlow 一鍵部署至 Kubernetes 環(huán)境中。
03|輕松部署 DeepFlow
你可以在 KubeSphere 應(yīng)用商店中找到 DeepFlow,選擇它并依次點(diǎn)擊安裝 > 下一步 > 安裝,即可完成 DeepFlow 的部署。

點(diǎn)擊部署完成的應(yīng)用,獲取資源狀態(tài)中的 deepflow-grafana 服務(wù) NodePort,通過(guò) http://${K8S_NODE_IP}:${NodePort} 即可訪問(wèn) DeepFlow 的 Grafana:

04|快速體驗(yàn) DeepFlow
Metrics
部署 DeepFlow 以后,無(wú)需做任何操作,訪問(wèn) Grafana 即可查看所有微服務(wù)應(yīng)用的 RED(Request/Error/Delay)黃金指標(biāo),以及所有微服務(wù)之間的全景調(diào)用關(guān)系:

在DeepFlow Online Demo快速體驗(yàn):
https://deepflow.yunshan.net/docs/zh/auto-metrics/Application-metrics
結(jié)合 DeepFlow 的全棧數(shù)據(jù)采集能力和 AutoTagging 統(tǒng)一標(biāo)簽注入能力,也可快速判斷兩個(gè)微服務(wù)之間的瓶頸路徑和原因:

Tracing
DeepFlow 基于 eBPF 的 AutoTracing 能力(適用于 Linux Kernel 4.14+)可直接呈現(xiàn)微服務(wù)之間的分布式追蹤火焰圖,快速定位容器及 Service Mesh 場(chǎng)景下的應(yīng)用性能瓶頸。下圖是 Istio Bookinfo Demo 的零插碼分布式追蹤火焰圖:

在DeepFlow Online Demo快速體驗(yàn):
https://deepflow.yunshan.net/docs/zh/auto-tracing/istio-bookinfo-demo/
DeepFlow 也支持廣泛的數(shù)據(jù)集成能力,能夠自動(dòng)集成 Prometheus、Telegraf 的指標(biāo)數(shù)據(jù)和 OpenTelemetry、SkyWalking 的追蹤數(shù)據(jù)。其中對(duì)于 OpenTelemetry 和 SkyWalking 數(shù)據(jù)的集成可展現(xiàn)無(wú)盲點(diǎn)的分布式追蹤能力,將應(yīng)用、系統(tǒng)、網(wǎng)絡(luò) Span 展現(xiàn)在一個(gè)火焰圖中。下圖是一個(gè) Spring Boot Demo 的無(wú)盲點(diǎn)分布式追蹤火焰圖:

在DeepFlow Online Demo快速體驗(yàn):
https://deepflow.yunshan.net/docs/zh/agent-integration/tracing/opentelemetry/
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ò)流日志:

在DeepFlow Online Demo快速體驗(yàn):
https://deepflow.yunshan.net/docs/zh/auto-metrics/request-log
05|什么是 DeepFlow
DeepFlow 是一款開(kāi)源的高度自動(dòng)化的可觀測(cè)性平臺(tái),是為云原生應(yīng)用開(kāi)發(fā)者建設(shè)可觀測(cè)性能力而量身打造的全棧、全鏈路、高性能數(shù)據(jù)引擎。DeepFlow 使用 eBPF、WASM、OpenTelemetry 等新技術(shù),創(chuàng)新的實(shí)現(xiàn)了 AutoTracing、AutoMetrics、AutoTagging、SmartEncoding 等核心機(jī)制,幫助開(kāi)發(fā)者提升埋點(diǎn)插碼的自動(dòng)化水平,降低可觀測(cè)性平臺(tái)的運(yùn)維復(fù)雜度。利用 DeepFlow 的可編程能力和開(kāi)放接口,開(kāi)發(fā)者可以快速將其融入到自己的可觀測(cè)性技術(shù)棧中。
GitHub 地址:
https://github.com/deepflowys/deepflow