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

AppFormix:協助企業將 Kubernetes 投入運作

如果您以雲端服務為生,您會很清楚,自客戶端/伺服器時代以來我們用於監控、分析和最佳化的工具,在應用於敏捷、動態且快速變化的現代雲端基礎架構世界時,已經不足以應付。

而且,如果您是企業雲端的運營商,您會知道實作容器和容器叢集管理的目的,是為了讓您的應用程式開發人員擁有更敏捷、更具響應性和效率的雲端基礎架構。應用程式正在被重寫,新的應用程式也在開發中,這些不是為了相對靜態工作負載為常態的傳統環境,而是為了動態、可擴展的雲端環境。雲原生應用程式的動態特性,加上向持續部署的轉變,意味著應用程式對基礎架構的需求不斷變化。

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

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

| | | 圖 1:Kubernetes 叢集的匯總摘要視圖。運營商和使用者可以定義他們的 SLA 策略,而 AppFormix 提供 Kubernetes 叢集中所有元素的即時健康狀況視圖。 |

| | | 圖 2:來自 Kubernetes 節點的遙測即時視覺化,提供了主機上資源利用率以及 Pod 和容器消耗資源的快速概觀。使用者定義的標籤可以輕鬆捕獲命名空間和其他元數據。 |

其他子系統是 Policy Controller 和 Analytics。Policy Controller 管理資源監控、分析和控制的策略。它還提供基於角色的訪問控制。Analytics 模組分析 Data Platform 生成的指標和事件,從而可以跨多個元素進行關聯,以向運營商和開發人員提供更高級別的資訊。Analytics 模組還可以配置 Policy Controller 中的策略,以響應基礎架構中的條件。

AppFormix 圍繞主機和實例(容器或虛擬機器)以及這些元素的邏輯組組織雲端基礎架構的元素。AppFormix 使用 Adapter 模組與雲端平台整合,這些模組發現環境中的實體和虛擬元素,並將這些元素配置到 Policy Controller 中。

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

AppFormix Kubernetes Adapter 利用 Kubernetes 的基於 REST 的 API 來發現節點、Pod、容器、服務和複製控制器。憑藉關於每個元素的關係資訊,Kubernetes Adapter 能夠在我們的系統中表示所有這些元素。Pod 是一組容器。服務和複製控制器都是不同類型的 Pod 組。此外,透過使用 watch 端點,Kubernetes Adapter 始終了解環境的變化。

企業中的 DevOps 與 AppFormix
透過 AppFormix,開發人員和運營商可以協作以最佳化應用程式和基礎架構。使用者可以訪問自助式 IT 體驗,從而可以了解堆疊每一層(實體硬體、平台和應用程式軟體)的 CPU、記憶體、儲存和網路消耗。

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

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