本文超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。

AppFormix:帮助企业实现 Kubernetes 的运营

如果您以运营云为生,您就会清楚地意识到,自客户端/服务器时代以来我们一直使用的用于监控、分析和优化的工具,在应用于敏捷、动态且快速变化的现代云基础设施世界时,已经无法满足需求。

而且,如果您是企业云的运营商,您就会知道,实施容器和容器集群管理的全部意义在于为您的应用程序开发人员提供更敏捷、响应更快、效率更高的云基础设施。应用程序正在被重写,新的应用程序正在被开发——它们不是针对相对静态的工作负载成为常态的遗留环境,而是针对动态、可扩展的云环境。云原生应用程序的动态特性加上向持续部署的转变意味着应用程序对基础设施提出的需求在不断变化。

这种转变需要基础设施透明度以及实时监控和分析。如果没有这些关键部分,应用程序及其底层管道都无法提供最终用户期望的低延迟用户体验。
  
AppFormix 架构审查
从运营的角度来看,有必要了解应用程序如何消耗基础设施资源,以便最大限度地提高投资回报率并保证 SLA。AppFormix 软件使运营商和开发人员能够监控、可视化和控制云工作负载如何利用物理资源。

该软件的核心是 AppFormix 数据平台,它提供了一个分布式分析引擎,可以对深入的高分辨率指标进行可配置的实时评估。在每个主机上,资源高效的 AppFormix 代理从硬件、虚拟化层以及应用程序收集和评估多层指标。智能代理提供亚秒级的响应时间,从而可以在问题开始影响应用程序和用户之前检测并解决问题。原始数据与构成云原生环境的元素相关联:应用程序、虚拟机、容器、主机。然后,AppFormix 代理将指标和事件发布到数据管理器,数据管理器将数据存储并转发到分析模块。事件基于用户或基础设施运营商设置的预定义或动态条件,以确保满足 SLA 和策略。

| | | 图 1:Kubernetes 集群的汇总视图。运营商和用户可以定义其 SLA 策略,AppFormix 提供 Kubernetes 集群中所有元素的健康状况的实时视图。 |

| | | 图 2:来自 Kubernetes 节点的遥测数据的实时可视化提供了主机上资源利用率以及 Pod 和容器消耗的资源的快速概览。用户定义的标签可以轻松捕获命名空间和其他元数据。 |

其他子系统是策略控制器和分析。策略控制器管理资源监控、分析和控制的策略。它还提供基于角色的访问控制。分析模块分析数据平台生成的指标和事件,支持跨多个元素进行关联,以便向运营商和开发人员提供更高级别的信息。分析模块还可以根据基础设施中的条件在策略控制器中配置策略。

AppFormix 围绕主机和实例(容器或虚拟机)以及此类元素的逻辑组来组织云基础架构的元素。AppFormix 使用适配器模块与云平台集成,这些模块可以发现环境中的物理和虚拟元素,并将这些元素配置到策略控制器中。

将 AppFormix 与 Kubernetes 集成
企业通常运行许多位于本地或异地的环境,以及运行不同的计算技术(VM、容器、裸机)。我们在 AppFormix 开发的分析平台为 Kubernetes 用户提供了一个单一平台,可以从中监控和管理私有和混合环境中的容器集群。

AppFormix Kubernetes 适配器利用 Kubernetes 基于 REST 的 API 来发现节点、Pod、容器、服务和复制控制器。利用关于每个元素的关系信息,Kubernetes 适配器能够在我们的系统中表示所有这些元素。Pod 是一组容器。服务和复制控制器都是不同类型的 Pod 组。此外,使用 watch 端点,Kubernetes 适配器可以随时了解环境的变化。

使用 AppFormix 在企业中进行 DevOps
借助 AppFormix,开发人员和运营商可以协作优化应用程序和基础设施。用户可以访问自助式 IT 体验,该体验可以提供对堆栈每一层(物理硬件、平台和应用程序软件)的 CPU、内存、存储和网络消耗情况的可见性。

  • **实时多层性能指标** - 开发人员可以实时查看多层指标,这些指标显示了在其执行的物理节点的上下文中的容器资源消耗情况。借助此上下文,开发人员可以确定应用程序性能是受物理基础设施限制(由于争用或资源耗尽),还是受应用程序设计限制。
  • **主动资源控制** - AppFormix 健康分析提供基于策略的操作以响应集群中的状况。例如,当工作节点上的资源消耗超过阈值时,健康分析可以通过调用 Kubernetes REST API 从调度池中删除该节点。这种动态控制是由每个节点上的实时监控驱动的。
  • **容量规划** - Kubernetes 将调度工作负载,但运营商需要了解资源的利用方式。哪些资源的需求量最大?需求是如何随时间变化的?运营商可以生成提供容量规划所需数据的报告。

如您所见,我们正在努力为 Kubernetes 用户提供一套适用于 OpenStack 和 Kubernetes 环境的有用、高性能的工具集,使运营商能够为其应用程序开发人员提供自助式 IT。我们很高兴能够成为 Kubernetes 生态系统和社区的合作伙伴贡献者。