Kubernetes 資源監(jiān)控工具

2022-05-30 16:32 更新

資源監(jiān)控工具

要擴(kuò)展應(yīng)用程序并提供可靠的服務(wù),你需要了解應(yīng)用程序在部署時(shí)的行為。 你可以通過檢測(cè)容器檢查 Kubernetes 集群中的應(yīng)用程序性能, Pods, 服務(wù) 和整個(gè)集群的特征。 Kubernetes 在每個(gè)級(jí)別上提供有關(guān)應(yīng)用程序資源使用情況的詳細(xì)信息。 此信息使你可以評(píng)估應(yīng)用程序的性能,以及在何處可以消除瓶頸以提高整體性能。

在 Kubernetes 中,應(yīng)用程序監(jiān)控不依賴單個(gè)監(jiān)控解決方案。 在新集群上,你可以使用資源度量或 完整度量管道來收集監(jiān)視統(tǒng)計(jì)信息。

資源度量管道 

資源指標(biāo)管道提供了一組與集群組件,例如 Horizontal Pod Autoscaler 控制器以及 ?kubectl top? 實(shí)用程序相關(guān)的有限度量。 這些指標(biāo)是由輕量級(jí)的、短期、內(nèi)存存儲(chǔ)的 metrics-server 收集的, 通過 ?metrics.k8s.io? 公開。

度量服務(wù)器發(fā)現(xiàn)集群中的所有節(jié)點(diǎn),并且查詢每個(gè)節(jié)點(diǎn)的 kubelet 以獲取 CPU 和內(nèi)存使用情況。 Kubelet 充當(dāng) Kubernetes 主節(jié)點(diǎn)與節(jié)點(diǎn)之間的橋梁,管理機(jī)器上運(yùn)行的 Pod 和容器。 kubelet 將每個(gè) Pod 轉(zhuǎn)換為其組成的容器,并在容器運(yùn)行時(shí)通過容器運(yùn)行時(shí)接口 獲取各個(gè)容器使用情況統(tǒng)計(jì)信息。 kubelet 從集成的 cAdvisor 獲取此信息,以進(jìn)行舊式 Docker 集成。 然后,它通過 metrics-server Resource Metrics API 公開聚合的 pod 資源使用情況統(tǒng)計(jì)信息。 該 API 在 kubelet 的經(jīng)過身份驗(yàn)證和只讀的端口上的 ?/metrics/resource/v1beta1? 中提供。

完整度量管道 

一個(gè)完整度量管道可以讓你訪問更豐富的度量。 Kubernetes 還可以根據(jù)集群的當(dāng)前狀態(tài),使用 Pod 水平自動(dòng)擴(kuò)縮器等機(jī)制, 通過自動(dòng)調(diào)用擴(kuò)展或調(diào)整集群來響應(yīng)這些度量。 監(jiān)控管道從 kubelet 獲取度量值,然后通過適配器將它們公開給 Kubernetes, 方法是實(shí)現(xiàn) ?custom.metrics.k8s.io? 或 ?external.metrics.k8s.io? API。

Prometheus 是一個(gè) CNCF 項(xiàng)目,可以原生監(jiān)控 Kubernetes、 節(jié)點(diǎn)和 Prometheus 本身。 完整度量管道項(xiàng)目不屬于 CNCF 的一部分,不在 Kubernetes 文檔的范圍之內(nèi)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)