В марте 2023 года OpenStack начал новый цикл обновлений, выпустив Antelope — 27-ю версию облачного стека с открытым исходным кодом. Это первый выпуск в рамках SLURP, где пользователи могут перейти на годичный цикл обновлений и пропускать деплой каждые 6 месяцев.

Мы посмотрели release notes совместно с экспертами Selectel и выделили самые важные обновления. Под катом рассказываем, что изменилось в Nova, Neutron, Octavia и Cinder — именно эти компоненты мы используем в разработке собственного облака. Сохраняйте статью в закладки: пригодится тем, кто работает с этой open source-платформой виртуализации или интересуется ею.

Используйте навигацию, если не хотите читать текст полностью:

Nova
Neutron
Octavia
Cinder

OpenStack — свободное программное обеспечение, которое используется для создания инфраструктурных облачных сервисов и облачных хранилищ. Selectel разрабатывает облачную платформу на базе OpenStack с 2013 года. Новую на тот момент платформу мы выбрали после неудачного опыта с самописным облаком на Haskell — подробнее уже писали об этом на Хабре. В итоге нам понравилось работать с OpenStack: было понятно, что менять, чтобы ничего не сломалось, также была ценна поддержка со стороны комьюнити и возможность кастомизировать патчи.

В подборке мы сконцентрировались на компонентах, с которыми сотрудники облачной платформы работают каждый день. Обновления по всем компонентам можно найти по ссылке.

Nova


Контроллер вычислительных ресурсов, который передает команды множеству гипервизоров, запущенных на хостах, и управляет виртуальными машинами. С компонентом Nova в Selectel работает команда Compute — ребята, которые заботятся о правильном распределении и утилизации вычислительных мощностей облака.

  • Пользователи могут указывать FQDN в hostname. Ранее Nova не разрешала назначать FQDN в hostname и блокировала его, поэтому в качестве hostname использовалось отображаемое имя виртуальной машины. В Antelope пользователи смогут задавать hostname при создании новых серверов и изменять их после.
  • Администраторы могут менять конечное состояние для эвакуации виртуальных машин. После эвакуации ВМ будет оставаться выключенной, пока пользователь не остановит ее сам. В релизе Antelope Nova конечный статус у ВМ будет SHUTOFF. Единственный способ сохранить состояние экземпляра после эвакуации — использовать более старую версию Nova.
  • Администраторы могут могут сократить электропотребление ЦП. Эта опция применима тогда, когда у крупных операторов связи есть 2-4 ЦП, которые нельзя использоваться ввиду требований к пинингу ЦП на хост. Неиспользуемое ядро процессора потребляет 3-5 Вт и выделяет 3-5 Вт тепла, которое необходимо охладить сплит-системой ЦОДа или за счет окружающей среды. Для снижения энергопотребления и тепловыделения в libvirt можно изменять состояние питания CPU из интерфейса sysfs ядра.

Подробнее → release notes Nova 2023.1

Neutron


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

  • В политике API добавлена поддержка работы с новыми ролями — project_member и project_reader. Как и большинство сервисов OpenStack, Neutron защищает свой API с помощью управления доступом на основе ролей: пользователи могут получить разрешение к различным API в зависимости от их роли в проекте. Теперь Neutron предоставляет три роли — admin, member и reader — в политике API по умолчанию. Безопасное управление доступом поддерживается как Neutron network, так и компонентами image management Glance (sRBAC).
  • Добавлен API для очистки устаревших устройств драйвера dhcp. Ранее в этом не было необходимости, поскольку при удалении namespace стиралось устройство. Теперь, в сетях с несколькими сегментами мы можем удалять устаревшие ID. Поиском таких «мертвых душ» и занимается API clean_devices.
  • Добавлен OVN Agent, который реализует функционал, неподдерживаемый ovn-controller’ом. Агент работает на вычислительном узле или узле контроллера, используя OVN в качестве сетевого бэкенда, аналогично другим драйверам механизма ML2 — ML2/OVS или ML2/SRIOV. OVN Agent будет выполнять те действия, которые не может выполнить служба ovn-controller.


  • Добавлен OVN Neutron Agent: поддержка QoS для для DevLink ports. Это расширение будет применять правила QoS — минимальной и максимальной пропускной способности на выходе — для портов с аппаратной разгрузкой. Расширение использует команды «ip-link» для установки параметров «ceil» и «rate» на соответствующих виртуальных функциях.
  • Добавлена поддержка маршрутизируемых сетей для работы с несколькими сегментами на одном хосте. Главным следствием этого станет расширение оператором пула IP-адресов без создания нескольких сетей и/или увеличения широковещательного домена. На данный момент нынешняя поддержка доступна только для агента OVS.
  • Для ML2/OVS и ML2/OVN добавлена поддержка моделирования туннелей в Placement API. Теперь параметр конфигурации «tunnelled_network_rp_name» (значение по умолчанию «rp_tunnelled») определяет имя поставщика ресурсов, используемое для представления всех туннелированных сетей на compute node (хосте виртуализации). Если эта строка присутствует в словаре «resource_provider_bandwidths», то соответствующий драйвер создаст поставщика ресурсов для оверлейного трафика.

Подробнее → release notes Neutron 2023.1

Возможно, эти тексты тоже вас заинтересуют:

Реализация пользовательского интерфейса OpenStack LBaaS
Как работают объектные хранилища: OpenStack Swift
Можно ли сейчас продолжать развивать IT-инфраструктуру? Что изменилось после февраля 2022 года

Octavia


Решение для балансировки нагрузки с открытым исходным кодом. Собственно, на Octavia работают облачные балансировщики нагрузки в Selectel.

  • Добавлен новый «cpu-pinning» элемент в скрипт для сборки образа амфоры*, который улучшит вертикальное масштабирование. Когда собирается образ amphora с несколькими vCPU, то «cpu-pinning» настраивает ядро Linux на изоляцию всех виртуальных процессоров, кроме первого, чтобы они использовались исключительно потоками HAProxy.

*Amphora — это отдельные виртуальные машины, контейнеры или серверы bare-metal, которые предоставляют услуги балансировки нагрузки в среды клиентских приложений.

Подробнее → release notes Octavia 2023.1

Cinder


Виртуальная система хранения данных, где ОС запускается преимущественно с сетевого или локального диска, как у обычного компьютера. Cinder участвует в работе облачных бэкапов по расписанию.

  • Расширили поддержку новых оборудований. Теперь Cinder предоставляет серверные драйверы для HP XP iSCSI и FC, Fungible NVMe-TCP и NetApp NVMe-TCP.

Подробнее → release notes Cinder 2023.1



Сергей Крайнев, разработчик облачной платформы Selectel

У OpenStack есть интересные нововведения с полезным функционалом для создания и поддержания облачной платформы. Однако перед использованием советуем протестировать их с учетом ваших требований, так как некоторые фичи могут не подходить конкретному пользователю.

Что вы думаете по поводу релиза Antelope? Поделитесь своим мнением в комментариях.

Комментарии (2)


  1. Sh0daN
    13.04.2023 19:16

    как нейтронной сетью, так и компонентами управления изображениями Glance

    У вас перевод сломался.


    1. erbanovanastasia Автор
      13.04.2023 19:16

      Спасибо, что заметили! Поправила.