5個Kubernetes監控最佳實踐

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

640
如果您奮戰在DevOps前線,您可能知道Kubernetes正在迅速成為雲生產環境的重要組成部分。 由於容器編排對於部署、擴充套件和管理Docker化應用程式都至關重要,所以對Kubernetes的監控策略也成為監控策略中很重要的一部分。
容器環境與傳統的運維環境不同,當你對應用程式和基礎架構監控時,需要考慮如何監控執行它們的容器環境。 以下是五個最佳實踐來實現監控策略:

  1. 集中日誌和指標。 通過Kubernetes協調Docker可以避免服務和工作流負載帶來的混亂,但僅僅這樣做你的環境仍然是分散的。集中你日誌和監控指標,你才有機會實現對於整體環境的監控。

  2. 要考慮容器生命週期的短暫性。 容器編排是可以恰到好處的在短時間內啟動,停止,殺死以及清理容器。 但是,監控它們可能並不那麼容易。 即使服務正在進行,您仍然需要除錯問題並監控叢集的活動。 訣竅是在日誌和指標消失之前獲取。 如果你不這樣做,你的指標看起來更像左邊的圖,而不是右邊的圖。

    640

  3. 簡化、簡化、簡化。對於容器環境中的所有活動塊(服務、API、容器、編排工具),需要進行監視且不要引入不必要的複雜性。並不是要使用各種監控代理來擴充套件您的容器,每個監控代理都需要更新自己的時間表,從監控和管理的內容中抽象出監控和管理工具。 這也將幫助工程師專注於構建和交付軟體,而不是執行交付平臺。

  4. 明確監視每一層。 您需要收集日誌並監視環境中各層的錯誤、故障和效能問題(Pod、容器和控制管理器)。 例如,要解決Pod問題,需要確保容器正在執行,並在controller manager中收集執行時指標。

  5. 確保整個圖層的資料一致性。 為了快速準確的除錯,您需要確保容器環境中所有圖層的資料一致性。 諸如準確的時間戳,一致的測量單位(例如毫秒數與秒數)以及在應用程式和元件中收集常用的公共度量標準和日誌,將幫助您快速準確地對所有層進行故障排除和除錯。

簡單直接的完成這些監控策略的最佳做法是監視Kubernetes環境中的容器,而不觸碰應用程式容器。 通過將DaemonSet或sidecar引入於您的集裝箱化服務並列的Kubernetes環境中,幷包含您的日誌記錄和度量收集客戶端,來實現此目的。 使用此方法進行部署將確保資料收集的一致性,最大限度地減少應用程式容器所需的更改,最重要的是,消除生產環境中選擇的盲目性。
幾種實現方法包括:

  • 使用Fluentd日誌記錄代理引入DaemonSet(這會為您提供日誌記錄而不是指標)。 如果您已經配置了ELK群集,點選瞭解更多[1]。

  • 用Prometheus指標代理引入DaemonSet或sidecar(CoreOS在整合Prometheus和Kubernetes方面做得非常出色)。 在您的Kubernetes群集上執行Prometheus將為您提供指標檢測,查詢和警報,點選瞭解更多[2]。

  • 各種指標和效能監控工具,包括Heapster、DataDog、cAdvisor、New Relic、Weave / VMware以及其他一些指標和效能監控工具也提供了用於Kubernetes監控的DaemonSet或sidecar選項。

相關連結:

  1. https://docs.fluentd.org/v0.12/articles/kubernetes-fluentd

  2. https://coreos.com/blog/prometheus-and-kubernetes-up-and-running.html

原文連結:https://thenewstack.io/5-kubernetes-monitoring-to-dos/

Kubernetes入門與進階實戰培訓

640?

本次培訓包括:Docker介紹、Docker映象、網路、儲存、容器安全;Kubernetes架構、設計理念、常用物件、網路、儲存、網路隔離、服務發現與負載均衡;Kubernetes核心元件、Pod、外掛、微服務、雲原生、Kubernetes Operator、叢集災備等,點選瞭解具體培訓內容

640?

7月13日正式上課,點選閱讀原文連結即可報名。

相關文章

程式語言 最新文章