本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。

AppFormix:幫助企業運營 Kubernetes

如果您以運營云為生,那麼您會非常清楚,我們自客戶端/伺服器時代以來用於監控、分析和最佳化的工具,在應用於現代雲基礎設施的敏捷、動態和快速變化的世界時,已經力不從心。

而且,如果您是企業雲的運營者,您就會知道,實施容器和容器叢集管理旨在為您的應用程式開發人員提供更敏捷、響應更快、效率更高的雲基礎設施。應用程式正在被重寫,新應用程式正在開發——它們不是為相對靜態工作負載是常態的傳統環境而開發,而是為動態、可擴充套件的雲環境而開發。雲原生應用程式的動態特性,再加上向持續部署的轉變,意味著應用程式對基礎設施的需求不斷變化。

這種轉變需要基礎設施的透明化以及即時監控和分析。沒有這些關鍵部分,應用程式及其底層管道都無法提供終端使用者所期望的低延遲使用者體驗。
  
AppFormix 架構評審
從運營角度來看,有必要了解應用程式如何消耗基礎設施資源,以最大限度地提高投資回報率並保證 SLA。AppFormix 軟體使運營者和開發人員能夠監控、視覺化和控制雲工作負載對物理資源的利用情況。

該軟體的核心是 AppFormix 資料平臺,它提供了一個分散式分析引擎,可以對深入、高解析度的指標進行可配置的即時評估。在每個主機上,資源高效的 AppFormix 代理從硬體、虛擬化層一直到應用程式收集和評估多層指標。智慧代理提供亞秒級的響應時間,使得在問題開始影響應用程式和使用者之前檢測並解決問題成為可能。原始資料與構成雲原生環境的元素相關聯:應用程式、虛擬機器、容器、主機。然後,AppFormix 代理將指標和事件釋出到資料管理器,資料管理器將資料儲存並轉發到分析模組。事件基於使用者或基礎設施運營者設定的預定義或動態條件,以確保滿足 SLA 和策略。

| | | 圖 1:Kubernetes 叢集的彙總檢視。運營者和使用者可以定義其 SLA 策略,AppFormix 提供 Kubernetes 叢集中所有元素的即時執行狀況檢視。

| | | 圖 2:Kubernetes 節點遙測的即時視覺化提供了主機上資源利用率以及 Pod 和容器消耗的資源的快速概述。使用者定義的標籤使捕獲名稱空間和其他元資料變得容易。

其他子系統是策略控制器和分析。策略控制器管理資源監控、分析和控制的策略。它還提供基於角色的訪問控制。分析模組分析資料平臺生成的指標和事件,實現跨多個元素的相關性,為運營者和開發人員提供更高級別的資訊。分析模組還可以根據基礎設施中的條件在策略控制器中配置策略。

AppFormix 圍繞主機和例項(容器或虛擬機器)以及這些元素的邏輯組組織雲基礎設施的元素。AppFormix 透過介面卡模組與雲平臺整合,介面卡模組發現環境中的物理和虛擬元素,並將這些元素配置到策略控制器中。

將 AppFormix 與 Kubernetes 整合
企業通常執行許多位於本地或異地的環境,並執行不同的計算技術(虛擬機器、容器、裸機)。我們 AppFormix 開發的分析平臺為 Kubernetes 使用者提供了一個單一的管理介面,可以從中監控和管理私有和混合環境中的容器叢集。

AppFormix Kubernetes 介面卡利用 Kubernetes 的基於 REST 的 API 來發現節點、Pod、容器、服務和副本控制器。透過每個元素的關係資訊,Kubernetes 介面卡能夠在我們系統中表示所有這些元素。Pod 是一組容器。服務和副本控制器都是不同型別的 Pod 組。此外,使用 watch 端點,Kubernetes 介面卡能夠感知環境的變化。

AppFormix 在企業中的 DevOps
藉助 AppFormix,開發人員和運營者可以協作最佳化應用程式和基礎設施。使用者可以獲得自助式 IT 體驗,從而視覺化堆疊各層(物理硬體、平臺和應用程式軟體)的 CPU、記憶體、儲存和網路消耗。

  • 即時多層效能指標 - 開發人員可以即時檢視多層指標,這些指標在容器執行的物理節點的上下文中顯示容器資源消耗。透過這種上下文,開發人員可以確定應用程式效能是否受限於物理基礎設施(由於爭用或資源耗盡),或者受限於應用程式設計。
  • 主動資源控制 - AppFormix Health Analytics 根據叢集中的條件提供基於策略的操作。例如,當工作節點上的資源消耗超過閾值時,Health Analytics 可以透過呼叫 Kubernetes REST API 將該節點從排程池中移除。這種動態控制由每個節點的即時監控驅動。
  • 容量規劃 - Kubernetes 將排程工作負載,但運營者需要了解資源如何被利用。哪些資源需求最大?需求隨時間的變化趨勢如何?運營者可以生成報告,為容量規劃提供必要的資料。

如您所見,我們正在努力為 Kubernetes 使用者提供一個有用的、高效能的工具集,用於 OpenStack 和 Kubernetes 環境,使運營者能夠為他們的應用程式開發人員提供自助式 IT。我們很高興能成為 Kubernetes 生態系統和社群的貢獻夥伴。