如何利用 Sardina FishOS 更好地管理 OpenStack 和 Kubernetes 云中的资源

如何利用 Sardina FishOS 更好地管理 OpenStack 和 Kubernetes 云中的资源

在OpenStack和Kubernetes环境中优化资源管理系统的方法

FishOS内置的先进资源管理系统可对 OpenStack 和 Kubernetes 中的资源进行智能、高效的管理。 这是通过两个决策引擎(FishOS Placement Engine和Rebalancing Engine)的组合来实现的,这两个引擎协同工作,确保数据中心的高效运营。

FishOS 投放引擎和再平衡引擎是两个决策引擎,它们协同工作,确保数据中心的高效运行。

情况

为了实现较高的资源利用效率,需要处理两种情况:

  • 考虑到整个设施的实时资源利用率,给定一组要启动的新虚拟机,这些虚拟机应该放在哪里?
  • 给定在设施内运行的一组虚拟机,如何将这些虚拟机打包到最佳数量的服务器上,同时满足虚拟机的资源需求而不影响性能?

前者称为 “安置“,后者称为 “再平衡“。

虽然 “放置 “和 “再平衡 “是相关的,但它们必须被视为不同的计算任务,因此也是不同的决策。

正如下文所述,FishOS 的智能资源管理系统依赖于实时迁移的可用性。 对于 Kubernetes 而言,这一方案取决于 Kubernetes 是否在虚拟机中运行。

高层视野

在高层次上,系统会进行分析:

  • 通过确定系统中所有管理程序的容量和
  • 所有运行中的虚拟机,确定它们产生的负载

有关容量与负载的信息可从管理程序和虚拟机收集的指标中获得。 这些指标反映了内存、磁盘、网络和 CPU 等资源。

影响

使用这种方法,我们可以最大限度地减少用于托管虚拟机的管理程序数量,而不会对这些虚拟机的工作方式施加额外的限制。

它允许使用较少数量的服务器来托管相同数量的虚拟机,从而降低运营支出(OpEx)和资本支出(CapEx),降低许可证和电费成本。

FishOS 投放引擎

放置引擎的目的是在服务消费者提出请求时,确定应在何处启动(放置)虚拟机。

新虚拟机去哪儿了?

关于新虚拟机应放在哪里的问题,答案如下:

如果系统中的所有管理程序都是空闲的,虚拟机会首先进入容量最小的管理程序。 这样,我们就不必为了托管一组小型虚拟机而使用较大的服务器。

如果系统中有正在使用的虚拟机管理程序(即:上面有一些虚拟机),新的虚拟机将优先放置在这些虚拟机管理程序上(前提是这些虚拟机管理程序有托管虚拟机的能力)。 这样做的目的是尽量减少为托管虚拟机而开启的管理程序数量。

放置引擎根据为虚拟机选择的类型进行估算,这有助于检查特定虚拟机是否适合特定的管理程序。

FishOS 重新平衡引擎

重新平衡引擎的目的是确定如何重新平衡已在运行的基础设施,使其更加高效。

基础设施是否需要优化? 在开始执行任何重新平衡任务之前,首先要考虑的问题是基础设施是否需要优化。

每个虚拟机都有一系列问题需要回答,包括

  • 是否需要转移到另一个管理程序?
  • 能否移动? 是否有任何操作(如过多的磁盘写入进程或网络活动)可能导致无法完成实时迁移?

如何优化基础设施?

一旦确定运行中的基础架构未达到最佳状态,下一个问题就是如何优化基础架构。 与此相关,重新平衡引擎还能处理以下问题:

  • 虚拟机运动的最佳组合是什么?
  • 如果虚拟机可以并需要移动,我们该把它移到哪里? (请参阅 “放置引擎 “部分)。
  • 再平衡行动之后会产生什么影响?

一旦计算出再平衡计划,再平衡引擎就会发出执行这些迁移的请求。

安置和再平衡

FishOS Placement Engine 和 Rebalancing Engine 使用整个设施的实时利用率指标来解决实时资源优化问题。 该方法不仅使用由用户指定的预留值来确定特定虚拟机是否适合安装在特定管理程序上,而且还使用通过收集虚拟机和管理程序的指标而获得的重要实际利用率数据。

安置引擎确保使用能够托管虚拟机的合适服务器,同时最大限度地减少托管全部虚拟机工作负载所需的服务器数量。 安置引擎将 OpenStack 中定义的 “风味 “视为可分配给虚拟机的资源的上限,表示每个虚拟机消耗的最大数量,从而控制正确的资源。

FishOS可确保,如果已使用的主机根据实际资源利用率仍能承载更多虚拟机,则会优先在该主机上运行新的额外虚拟机。 FishOS 允许操作员轻松控制在任何时间点使用的管理程序数量,从而提高 OpenStack 资源利用率。

重新平衡引擎可确保以高效的方式运行已在运行的基础设施,使运营商能够根据工作负载的实时资源利用率优化设施资源的使用。

FishOS 重新平衡引擎默认在系统中自动运行,同时允许操作员配置重新平衡频率。 一旦计算出再平衡计划,再平衡引擎就会发出执行这些迁移的请求,而无需操作员的干预:

  • 从禁用的管理程序中自动迁移虚拟机
  • 通过实时迁移非锚点虚拟机来重新平衡负载
  • 记录结果以了解基础设施的状况
  • 带有干运行选项的 CLI 界面可帮助操作员了解影响
  • 禁用的管理程序被强制实时迁移
辅助部件

为了让 “放置引擎 “和 “再平衡引擎 “做出决策,每个 “放置引擎 “和 “再平衡引擎 “都需要数据。 所需的数据由一组状态数据收集器收集,这些数据收集器作为收集器的插件实现。

Sardina 选择将状态数据收集器作为 collected 的插件来实现,因为 collected 有许多优点,包括在 Linux 环境中常见、开源、易于扩展、集成成本低,因此 Linux 系统管理员可以轻松地对其进行扩展和延伸。

收集到的状态数据由一个收集插件调度,并最终存入一个可水平扩展的时间序列数据库,该数据库旨在处理大量的小规模写入和少量的大规模读取。

然后,时间序列数据库中的数据将被投放和再平衡引擎使用。

默认已启用

FishOS 系统默认启用 “放置引擎 “和 “再平衡引擎”,并将 “再平衡引擎 “设置为定期运行。

开放源代码

由于 Sardina 希望支持 OpenStack 及其开源模式,我们现在提供 FishOS Deployer 的限时免费访问。

请访问我们的网站www.sardinasystems.com了解更多信息,或通过info@sardinasystems.com 与我们联系。

谢谢!

800 390 Mihaela Constantinescu
Start Typing