Управление ресурсами в OpenStack и Kubernetes с помощью FishOS

Управление ресурсами в OpenStack и Kubernetes с помощью FishOS

Оптимизированная система управления ресурсами в среде OpenStack и Kubernetes

Передовая система управления ресурсами, встроенная в FishOS, обеспечивает интеллектуальное и эффективное управление ресурсами в OpenStack и Kubernetes. Это достигается благодаря сочетанию двух механизмов принятия решений — FishOS Placement Engine и Rebalancing Engine, которые работают в связке, обеспечивая высокую эффективность работы центра обработки данных.

FishOS Placement Engine и Rebalancing Engine — это две системы принятия решений, которые работают вместе для обеспечения оптимальной работы дата-центра.

Задачи: Размещение и Ребалансировка

Для достижения высокой эффективности использования ресурсов необходимо решить две задачи:

  1. Размещение новых виртуальных машин (VMs): где следует размещать новые ВМ, учитывая текущее использование ресурсов по всему центру обработки данных?
  2. Оптимизация размещения работающих виртуальных машин: как разместить уже работающие ВМ на минимальном количестве серверов, соблюдая требования к ресурсам и избегая ухудшения производительности?

Первая задача называется Размещение (Placement), а вторая — Ребалансировка (Rebalancing).

Хотя Размещение и Ребалансировка взаимосвязаны, они представляют собой разные вычислительные задачи и требуют отдельных решений.

Как будет показано ниже, интеллектуальная система управления ресурсами в FishOS зависит от возможности живой миграции виртуальных машин. В Kubernetes эта схема основана на его работе внутри виртуальных машин.

Общий обзор

На высоком уровне система анализирует:

  1. Все гипервизоры в системе, определяя их доступные ресурсы.
  2. Все запущенные виртуальные машины (VMs), оценивая создаваемую ими нагрузку.

Информация о соотношении ресурсов и нагрузки получается из метрик, собранных с гипервизоров и виртуальных машин. Эти метрики отражают такие ресурсы, как память, диск, сеть и процессор (CPU).

Влияние

Используя этот подход, мы можем минимизировать количество гипервизоров, необходимых для размещения ВМ, без ухудшения работы этих ВМ.

Это позволяет задействовать меньшее количество серверов для размещения того же объема ВМ, что снижает эксплуатационные (OpEx) и капитальные (CapEx) затраты, а также уменьшает расходы на лицензии и электроэнергию.

FishOS Placement Engine

Основная задача Placement Engine — определить, где следует запускать (размещать) виртуальные машины (VMs) по запросу потребителя услуг.

Где размещаются новые виртуальные машины?

Ответ на вопрос, куда разместить новые ВМ, определяется следующим образом:

Если все гипервизоры в системе свободны, новые ВМ сначала размещаются на гипервизоре с наименьшей доступной мощностью, которая может их вместить. Это позволяет не использовать большие серверы для размещения небольших ВМ.

Если в системе уже используются гипервизоры (т.е. на них уже запущены ВМ), новые ВМ будут предпочтительно размещаться на этих гипервизорах (при условии наличия свободных ресурсов). Это помогает минимизировать количество гипервизоров, которые нужно будет включить для размещения ВМ.

Placement Engine делает оценки на основе выбранного типа (flavor) виртуальной машины, что помогает определить, сможет ли конкретная ВМ разместиться на определённом гипервизоре.

FishOS Rebalancing Engine

Основная задача Rebalancing Engine — определить, как можно оптимизировать уже работающую инфраструктуру для повышения её эффективности.

Перед тем как выполнять какие-либо задачи по ребалансировке, важно выяснить, требует ли текущая инфраструктура оптимизации. Для каждой ВМ необходимо ответить на ряд вопросов:

  • Нужно ли вообще перемещать эту ВМ на другой гипервизор?
  • Можно ли её переместить? Есть ли процессы, такие как интенсивная запись на диск или высокая сетевая активность, которые могут помешать успешному завершению живой миграции?

Как оптимизировать инфраструктуру?

После того, как было установлено, что работающая инфраструктура является неоптимальной, Если было определено, что текущая инфраструктура работает неэффективно, следующий вопрос — как её можно оптимизировать? В связи с этим Rebalancing Engine также решает следующие задачи:

  • Какое оптимальное количество перемещений ВМ необходимо выполнить?
  • Если ВМ нужно и можно переместить, куда именно её переместить?
  • Какое влияние окажет ребалансировка на производительность и ресурсы?

После расчёта плана ребалансировки Rebalancing Engine инициирует запросы на выполнение необходимых миграций.

Размещение и ребалансировка

FishOS Placement Engine и Rebalancing Engine используют метрики текущей загрузки всего центра обработки данных для решения задачи оптимизации ресурсов в реальном времени. Этот подход учитывает не только значения резервов, указанные в flavor для определения того, сможет ли конкретная ВМ разместиться на определённом гипервизоре, но и фактические данные о потреблении ресурсов, полученные из метрик, собираемых с ВМ и гипервизоров.

Placement Engine гарантирует, что для запуска ВМ используются подходящие серверы, при этом минимизируя количество серверов, необходимых для размещения всех рабочих нагрузок. В OpenStack flavor определяет верхние границы ресурсов, которые могут быть выделены для ВМ, что указывает на максимальное количество ресурсов, которые ВМ может потреблять.

FishOS обеспечивает, что если уже используемый хост по фактическому потреблению ресурсов всё ещё способен разместить дополнительные ВМ, предпочтение будет отдано размещению новых ВМ именно на этом хосте. Это позволяет операторам легко контролировать количество гипервизоров, которые будут использоваться в любой момент времени, что повышает уровень использования ресурсов в OpenStack.

Rebalancing Engine отвечает за поддержание эффективной работы уже функционирующей инфраструктуры, позволяя операторам оптимизировать использование ресурсов центра на основе фактического использования ресурсов рабочими нагрузками.

FishOS Rebalancing Engine по умолчанию работает автоматически в системе, при этом давая операторам возможность настроить частоту ребалансировки. После расчёта плана ребалансировки, механизм автоматически инициирует необходимые миграции, не требуя вмешательства оператора. Среди его возможностей:

  • Автоматическая миграция ВМ с отключённых гипервизоров.
  • Ребалансировка нагрузки путём живой миграции ВМ, не привязанных к конкретным ресурсам.
  • Логирование результатов для анализа состояния инфраструктуры.
  • Интерфейс CLI с функцией «dry-run» для оценки возможных последствий ребалансировки.
  • Принудительная живая миграция ВМ с отключённых гипервизоров.

Этот механизм обеспечивает эффективную и автоматизированную оптимизацию использования ресурсов.

Поддерживающие компоненты

Для того чтобы Placement Engine и Rebalancing Engine могли принимать решения, им требуется доступ к данным. Эти данные собираются с помощью набора сборщиков данных состояния, которые реализованы как плагины для инструмента collectd.

Sardina Systems выбрала реализацию сборщиков данных состояния в виде плагинов для collectd по ряду причин. Collectd широко используется в средах Linux, является открытым программным обеспечением, легко расширяемым и имеет низкую стоимость интеграции. Это позволяет системным администраторам Linux легко настраивать и расширять его функциональность.

Собранные данные состояния передаются плагином collectd и в конечном итоге сохраняются в горизонтально масштабируемой базе данных временных рядов, которая спроектирована для обработки большого количества небольших записей и небольшого количества крупных чтений.

Данные из этой базы временных рядов затем используются Placement Engine и Rebalancing Engine для принятия решений по оптимизации ресурсов.

Включено по умолчанию

Placement Engine и Rebalancing Engine включены по умолчанию в системах FishOS, при этом Rebalancing Engine настроен на периодическое выполнение.

Открытый исходный код

В соответствии с нашим стремлением поддерживать OpenStack и его модель открытого исходного кода, мы предлагаем бесплатный доступ к FishOS Deployer на ограниченный период времени.

Для получения дополнительной информации посетите наш сайт www.sardinasystems.com или свяжитесь с нами по адресу info@sardinasystems.com.

Спасибо!

800 390 Mihaela Constantinescu
Start Typing