如何5招搞定Kubernetes監控

【免費雲虛擬主機】0元/12個月主機套餐,小鳥雲虛擬主機,只為建站而生!基於自建的核心骨幹網絡,具有高在線率、高安全性、高穩定性等多項優勢,並支持隨時無縫升級增配。

如何5招搞定Kubernetes監控

如果你位於DevOps前線,Kubernetes正在迅速成為你的生產雲環境的重要組成部分。由於容器編排對於部署、伸縮和管理容器化應用程序至關重要,監控Kubernetes需要成為監控策略的重要組成部分。

容器環境的運行與傳統環境不同。因此,如果你正在監控應用程序和基礎設施,你需要考慮如何監控運行它們的容器環境。這裡有可供參考的5個最佳實踐:

1.集中日誌和指標。

通過Kubernetes編排你的容器化服務和工作負載會帶來秩序,但請記住,你的環境仍然是分散的。如果你集中你的日誌和指標,處理起來會容易得多。

2.考慮ephemeral容器。

容器編排的美妙之處在於它可以很容易地在短時間內啟動、停止、殺死和清理容器。但是,監控它們可能並不容易。即使服務正在進行,你仍然需要調試問題並監控集群活動。訣竅是在日誌和指標消失之前獲取。如果你不這樣做,你的指標看起來更像左邊的圖,而不是右邊的圖。

3.簡化,簡化,簡化。

對於容器環境中的所有移動部分(服務、API、容器、編排工具),你需要進行監控而不會引入不必要的複雜性。不是使用各種監控代理來擴展容器,而是要從你監控和管理的內容中抽象出監控和管理工具。這也將幫助你的工程師專注於構建和交付軟件,而不是運維交付平臺。

4.明確監視每一層。

你需要收集日誌並監控環境中各層的錯誤、故障和性能問題(pod\容器和控制器管理器)。例如,你需要能夠進行pod故障排除,確保容器正常運行,並在控制器管理器中收集運行時指標。

5.確保跨層的數據一致性。

為了快速準確地調試,你需要確保容器環境中跨所有層的數據一致性。諸如準確的時間戳、一致的測量單位(如毫秒數與秒數)以及在應用程序和組件中收集常用的一組指標和日誌,將幫助你快速準確地對所有層進行故障排除和調試。

以簡單直接的方式完成這些待辦事項的最佳做法是,監控Kubernetes環境中的容器,而不觸碰應用程序容器。通過將DaemonSet或sidecar引入與容器化服務並列幷包含日誌記錄和指標收集代理的Kubernetes環境中,可以實現這一目的。使用此方法進行部署將確保數據收集的一致性,最大限度地減少應用程序容器所需的更改,最重要的是,消除生產環境中盲目選擇的可能性。

幾種實現方法包括:

1.使用帶有Fluentd日誌記錄代理的DaemonSet(這會為你提供日誌記錄而不是指標)。如果你已經有了配置好的ELK集群,這是一個選擇。

2.使用帶有Prometheus指標代理的DaemonSet或sidecar(CoreOS在集成Prometheus和Kubernetes方面做得非常出色)。在你的Kubernetes集群上運行Prometheus將為你提供指標檢測、查詢和警報。

3.許多指標和性能監控工具,包括Heapster、DataDog、cAdvisor、New Relic、Weave / VMware,也提供了用於Kubernetes監控的DaemonSet或sidecar選項。


分享到:


相關文章: